[SciPy-dev] segmentation with scipy+icc during test
Stijn De Weirdt
stijn.deweirdt at ugent.be
Fri Dec 5 16:58:50 EST 2008
> > no. i modified the numpy distutils a little bit so it would accept the
> > -Bstatic and -Bdynamic switches, for everything else i used standard
> > numpy buld procedure (i also change intelccompiler.py a bit so numpy
> > would use icpc as cxx compiler)
>
> I think a lot of people would love to what you did ;)
>
i paste my site.cfg and a patch here (i have no idea if the mailing list
accepts attachments ;)
keep in mind that -Bstatic and -Bdynamic are toggles and this has been
tested with ictce 3.2.0.017
(warning: ugly ;)
stijn
site.cfg (mkl related stuff, you get the idea)
-----------------------------------------------
[fftw]
libraries = -Bstatic,fftw3xc_intel,fftw3xf_intel,-Bdynamic
[mkl]
lapack_libs = -Bstatic,mkl_lapack,-Bdynamic
#mkl_libs = -Bstatic,mkl_intel_lp64, mkl_intel_thread,
mkl_core,-Bdynamic,iomp5, guide
mkl_libs = -Bstatic,mkl_em64t,-Bdynamic,iomp5, guide
-----------------------------------------------
patch for numpy, against 1.2.1
-----------------------------------------------
diff -ur --exclude='*pyc' --exclude='*~'
numpy-1.2.1.orig/numpy/distutils/fcompiler/intel.py
numpy-1.2.1/numpy/distutils/fcompiler/intel.py
--- numpy-1.2.1.orig/numpy/distutils/fcompiler/intel.py 2008-10-28
12:21:48.000000000 +0100
+++ numpy-1.2.1/numpy/distutils/fcompiler/intel.py 2008-12-04
22:40:19.000000000 +0100
@@ -152,9 +152,9 @@
executables = {
'version_cmd' : None,
- 'compiler_f77' : [None, "-FI", "-w90", "-w95"],
- 'compiler_fix' : [None, "-FI"],
- 'compiler_f90' : [None],
+ 'compiler_f77' : [None, "-FI", "-w90", "-w95","-v"],
+ 'compiler_fix' : [None, "-FI","-v"],
+ 'compiler_f90' : [None,"-v"],
'linker_so' : ['<F90>', "-shared"],
'archiver' : ["ar", "-cr"],
'ranlib' : ["ranlib"]
@@ -166,6 +166,13 @@
opt.extend(['-tpp7', '-xW'])
return opt
+ def library_option(self, lib):
+ if lib[0]=='-':
+ return lib
+ else:
+ return "-l" + lib
+
+
# Is there no difference in the version string between the above
compilers
# and the Visual compilers?
diff -ur --exclude='*pyc' --exclude='*~'
numpy-1.2.1.orig/numpy/distutils/intelccompiler.py
numpy-1.2.1/numpy/distutils/intelccompiler.py
--- numpy-1.2.1.orig/numpy/distutils/intelccompiler.py 2008-10-28
12:21:49.000000000 +0100
+++ numpy-1.2.1/numpy/distutils/intelccompiler.py 2008-12-04
23:28:08.000000000 +0100
@@ -8,16 +8,30 @@
"""
compiler_type = 'intel'
- cc_exe = 'icc'
+ cc_exe = 'icc -v'
+ cxx_exe = 'icpc -v'
def __init__ (self, verbose=0, dry_run=0, force=0):
UnixCCompiler.__init__ (self, verbose,dry_run, force)
compiler = self.cc_exe
- self.set_executables(compiler=compiler,
- compiler_so=compiler,
- compiler_cxx=compiler,
- linker_exe=compiler,
- linker_so=compiler + ' -shared')
+ compiler_cxx = self.cxx_exe
+
+ opt=' -fPIC -O3 -unroll'
+ linkopt=' -shared -static-intel '
+
+ self.set_executables(compiler=compiler+opt,
+ compiler_so=compiler+opt,
+ compiler_cxx=compiler_cxx+opt,
+ linker_exe=compiler+opt,
+ linker_so=compiler+linkopt)
+
+ def library_option(self, lib):
+ if lib[0]=='-':
+ return lib
+ else:
+ return "-l" + lib
+
+
class IntelItaniumCCompiler(IntelCCompiler):
compiler_type = 'intele'
diff -ur --exclude='*pyc' --exclude='*~'
numpy-1.2.1.orig/numpy/distutils/system_info.py
numpy-1.2.1/numpy/distutils/system_info.py
--- numpy-1.2.1.orig/numpy/distutils/system_info.py 2008-10-28
12:21:49.000000000 +0100
+++ numpy-1.2.1/numpy/distutils/system_info.py 2008-12-04
01:18:43.000000000 +0100
@@ -559,6 +559,9 @@
lib_prefixes = ['lib']
# for each library name, see if we can find a file for it.
for l in libs:
+ if l[0]=='-':
+ liblist.append(l)
+ continue
for ext in exts:
for prefix in lib_prefixes:
p = self.combine_paths(lib_dir, prefix+l+ext)
-----------------------------------------------------------------------
More information about the SciPy-Dev
mailing list