[SciPy-dev] segmentation with scipy+icc during test

Matthieu Brucher matthieu.brucher at gmail.com
Tue Dec 9 04:43:26 EST 2008


OK, I may be confused with David's Cournapeau attempt to unify the FFT's ;)

2008/12/9 Stijn De Weirdt <stijn.deweirdt at ugent.be>:
>> hi,
>
>> I saw something that I didn't expect: you are using fftw for the FFT.
>> Why don't you use the MKL, which should be faster ?
>>
> euhm, i thought this was how one is supossed to use mkl fftw3
> interfaces? how would you do that?
>
> stijn
>
>> Matthieu
>>
>> 2008/12/5 Stijn De Weirdt <stijn.deweirdt at ugent.be>:
>> >> > 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)
>> > -----------------------------------------------------------------------
>> >
>> > _______________________________________________
>> > Scipy-dev mailing list
>> > Scipy-dev at scipy.org
>> > http://projects.scipy.org/mailman/listinfo/scipy-dev
>> >
>>
>>
>>
> --
> The system will shutdown in 5 minutes.
>
> _______________________________________________
> Scipy-dev mailing list
> Scipy-dev at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-dev
>



-- 
Information System Engineer, Ph.D.
Website: http://matthieu-brucher.developpez.com/
Blogs: http://matt.eifelle.com and http://blog.developpez.com/?blog=92
LinkedIn: http://www.linkedin.com/in/matthieubrucher



More information about the SciPy-Dev mailing list