[Numpy-discussion] Building numpy with MSVC 2010 and Intel Fortran 10.x (and higher)
KACVINSKY Tom
Tom.KACVINSKY at 3ds.com
Fri Jun 22 15:41:54 EDT 2012
I found the problem. It was a missing /manifest option in the distutils bundled with Python 2.6 (how this ever worked without my patch I'll never understand). Anyway, I now have numpy built with MKL 10.3, MSVC 2010, and Intel Fortran 11. What I need to know is how to verify that the linear algebra routines are using MKL without benchmarking numpy. Thoughts on the matter?
From: numpy-discussion-bounces at scipy.org [mailto:numpy-discussion-bounces at scipy.org] On Behalf Of KACVINSKY Tom
Sent: Friday, June 22, 2012 11:22 AM
To: 'numpy-discussion at scipy.org'
Subject: Re: [Numpy-discussion] Building numpy with MSVC 2010 and Intel Fortran 10.x (and higher)
Ooops. The message about the Fortran compiler version comes from building numpy 1.6.1. The problem I am seeing with numpy 1.4.1 follows.
No module named msvccompiler in numpy.distutils; trying from distutils
customize IntelFCompiler
Found executable c:\Program Files (x86)\Intel\Composer XE\bin\intel64\ifort.exe
Found executable c:\Program Files (x86)\Intel\Composer XE\bin\intel64\ifort.exe
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Inumpy\core\src\private -Inump
y\core\src -Inumpy\core -Inumpy\core\src\npymath -Inumpy\core\src\multiarray -Inumpy\core\src\umath -Inumpy\core\include -IC:\Users\tky\Pyth
on\release\include -IC:\Users\tky\Python\release\PC /Tc_configtest.c /Fo_configtest.obj
Found executable C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\link.exe /nologo /INCREMENTAL:NO _configtest.obj /OUT:_configtest.exe /MANI
FESTFILE:_configtest.exe.manifest
Found executable C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\link.exe
mt.exe -nologo -manifest _configtest.exe.manifest -outputresource:_configtest.exe;1
Found executable C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\x64\mt.exe
_configtest.exe.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.
failure.
removing: _configtest.c _configtest.obj
Traceback (most recent call last):
File "setup.py", line 187, in <module>
setup_package()
File "setup.py", line 180, in setup_package
configuration=configuration )
File "C:\Users\tky\Python\numpy-1.4.1\numpy\distutils\core.py", line 186, in setup
return old_setup(**new_attr)
File "C:\Users\tky\Python\release\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\Users\tky\Python\release\lib\distutils\dist.py", line 975, in run_commands
self.run_command(cmd)
File "C:\Users\tky\Python\release\lib\distutils\dist.py", line 995, in run_command
cmd_obj.run()
File "C:\Users\tky\Python\numpy-1.4.1\numpy\distutils\command\build.py", line 37, in run
old_build.run(self)
File "C:\Users\tky\Python\release\lib\distutils\command\build.py", line 134, in run
self.run_command(cmd_name)
File "C:\Users\tky\Python\release\lib\distutils\cmd.py", line 333, in run_command
self.distribution.run_command(command)
File "C:\Users\tky\Python\release\lib\distutils\dist.py", line 995, in run_command
cmd_obj.run()
File "C:\Users\tky\Python\numpy-1.4.1\numpy\distutils\command\build_src.py", line 152, in run
self.build_sources()
File "C:\Users\tky\Python\numpy-1.4.1\numpy\distutils\command\build_src.py", line 163, in build_sources
self.build_library_sources(*libname_info)
File "C:\Users\tky\Python\numpy-1.4.1\numpy\distutils\command\build_src.py", line 298, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "C:\Users\tky\Python\numpy-1.4.1\numpy\distutils\command\build_src.py", line 385, in generate_sources
source = func(extension, build_dir)
File "numpy\core\setup.py", line 657, in get_mathlib_info
raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program
From: numpy-discussion-bounces at scipy.org [mailto:numpy-discussion-bounces at scipy.org] On Behalf Of KACVINSKY Tom
Sent: Friday, June 22, 2012 11:17 AM
To: 'numpy-discussion at scipy.org'
Subject: [Numpy-discussion] Building numpy with MSVC 2010 and Intel Fortran 10.x (and higher)
I have reason to build Python 2.6.8 and numpy 1.4.1 with MSVC 2010 and Intel Fortran 10.1 (and higher). I also am building with MKL 10.3.
So far, I am able to get the setup to recognize the MKL libraries:
C:\Users\tky\Python\numpy-1.6.2>python setup.py build --compiler=msvc --fcompiler=intel
Running from numpy source directory.Forcing DISTUTILS_USE_SDK=1
F2PY Version 2
blas_opt_info:
blas_mkl_info:
FOUND:
libraries = ['mkl_sequential_dll', 'mkl_intel_lp64_dll', 'mkl_core_dll']
library_dirs = ['u:\\users\\tky\\mkllib']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['u:\\users\\tky\\mklinc']
FOUND:
libraries = ['mkl_sequential_dll', 'mkl_intel_lp64_dll', 'mkl_core_dll']
library_dirs = ['u:\\users\\tky\\mkllib']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['u:\\users\\tky\\mklinc']
lapack_opt_info:
lapack_mkl_info:
mkl_info:
FOUND:
libraries = ['mkl_sequential_dll', 'mkl_intel_lp64_dll', 'mkl_core_dll']
library_dirs = ['u:\\users\\tky\\mkllib']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['u:\\users\\tky\\mklinc']
FOUND:
libraries = ['mkl_sequential_dll mkl_intel_lp64_dll mkl_core_dll', 'mkl_sequential_dll', 'mkl_intel_lp64_dll', 'mkl_core_dll']
library_dirs = ['u:\\users\\tky\\mkllib']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['u:\\users\\tky\\mklinc']
FOUND:
libraries = ['mkl_sequential_dll mkl_intel_lp64_dll mkl_core_dll', 'mkl_sequential_dll', 'mkl_intel_lp64_dll', 'mkl_core_dll']
library_dirs = ['u:\\users\\tky\\mkllib']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['u:\\users\\tky\\mklinc']
But where things are failing is during the compiler checks:
customize IntelFCompiler
Found executable C:\Program Files (x86)\Intel\Compiler\Fortran\10.1.011\EM64T\bin\ifort.exe
Found executable C:\Program Files (x86)\Intel\Compiler\Fortran\10.1.011\EM64T\bin\ifort.exe
Traceback (most recent call last):
File "setup.py", line 214, in <module>
setup_package()
File "setup.py", line 207, in setup_package
configuration=configuration )
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\core.py", line 186, in setup
return old_setup(**new_attr)
File "C:\Users\tky\Python\release\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\Users\tky\Python\release\lib\distutils\dist.py", line 975, in run_commands
self.run_command(cmd)
File "C:\Users\tky\Python\release\lib\distutils\dist.py", line 995, in run_command
cmd_obj.run()
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\command\build.py", line 37, in run
old_build.run(self)
File "C:\Users\tky\Python\release\lib\distutils\command\build.py", line 134, in run
self.run_command(cmd_name)
File "C:\Users\tky\Python\release\lib\distutils\cmd.py", line 333, in run_command
self.distribution.run_command(command)
File "C:\Users\tky\Python\release\lib\distutils\dist.py", line 995, in run_command
cmd_obj.run()
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\command\build_src.py", line 152, in run
self.build_sources()
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\command\build_src.py", line 163, in build_sources
self.build_library_sources(*libname_info)
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\command\build_src.py", line 298, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\command\build_src.py", line 385, in generate_sources
source = func(extension, build_dir)
File "numpy\core\setup.py", line 694, in get_mathlib_info
st = config_cmd.try_link('int main(void) { return 0;}')
File "C:\Users\tky\Python\release\lib\distutils\command\config.py", line 257, in try_link
self._check_compiler()
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\command\config.py", line 77, in _check_compiler
self.fcompiler.customize(self.distribution)
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\fcompiler\__init__.py", line 502, in customize
get_flags('arch', aflags)
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\fcompiler\__init__.py", line 491, in get_flags
flags.extend(getattr(self.flag_vars, tag))
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\environment.py", line 37, in __getattr__
return self._get_var(name, conf_desc)
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\environment.py", line 51, in _get_var
var = self._hook_handler(name, hook)
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\fcompiler\__init__.py", line 698, in _environment_hook
return hook()
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\fcompiler\intel.py", line 63, in get_flags_arch
v = self.get_version()
File "C:\Users\tky\Python\numpy-1.6.2\numpy\distutils\fcompiler\__init__.py", line 432, in get_version
raise CompilerNotFound()
numpy.distutils.fcompiler.CompilerNotFound
Any ideas on how to circumvent this?
Thanks,
Tom
This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.
If you are not one of the named recipients or have received this email in error,
(i) you should not read, disclose, or copy it,
(ii) please notify sender of your receipt by reply email and delete this email and all attachments,
(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.
For other languages, go to http://www.3ds.com/terms/email-disclaimer
This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.
If you are not one of the named recipients or have received this email in error,
(i) you should not read, disclose, or copy it,
(ii) please notify sender of your receipt by reply email and delete this email and all attachments,
(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.
For other languages, go to http://www.3ds.com/terms/email-disclaimer
This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.
If you are not one of the named recipients or have received this email in error,
(i) you should not read, disclose, or copy it,
(ii) please notify sender of your receipt by reply email and delete this email and all attachments,
(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.
For other languages, go to http://www.3ds.com/terms/email-disclaimer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120622/956301e8/attachment.html>
More information about the NumPy-Discussion
mailing list