[SciPy-dev] scipy distutils questions

Arnd Baecker arnd.baecker at web.de
Wed Dec 14 10:55:57 CST 2005


On Wed, 14 Dec 2005, Pearu Peterson wrote:

> On Wed, 14 Dec 2005, Arnd Baecker wrote:
>
> > Is there a way to convince him to look for the 64 Bit variant
> > under /opt/intel/mkl72/64 ??
>
> In system_info.py mkl72/64 is used when cpu.is_Itanium() is true.
> What is the output of
>    python scipy/distutils/cpuinfo.py
> in your case?

python scipy/distutils/cpuinfo.py
CPU information: getNCPUs=64 is_32bit

And:

cat /proc/cpuinfo
processor  : 0
vendor     : GenuineIntel
arch       : IA-64
family     : Itanium 2
model      : 2
revision   : 1
archrev    : 0
features   : branchlong
cpu number : 0
cpu regs   : 4
cpu MHz    : 1500.000000
itc MHz    : 1500.000000
BogoMIPS   : 2214.59
siblings   : 1

(repeating until:   processor  : 63)

[...]
> > I tried
> >
> > [mkl_libs]    or [mkl_lapack]  or [mkl]
> > library_dirs = /opt/intel/mkl72/lib/64
> > include_dirs = /opt/intel/mkl72/include/
>
> Hmm,
>
> [mkl]
> library_dirs = ..
> include_dirs = ..
>
> should have worked. Btw, though people use site.cfg, I don't use it
> myself, it's better to fix/extend system_info.py so that people wouldn't
> have to use site.cfg.

Even better!!
OTOH, when system configuration is slightly off from normal
(and that will be the case for the above machine,
as in the end MKL 72, MKL80, ATLAS, scsl, ... will be installed),
some special guidance might be needed...

(What I really dislike about site.cfg is that it
has to be put in the directory scipy/distutils/
which means that once scipy core is installed, a normal user
cannot modify this anymore - unless site.cfg is searched
for in other directories...)

> > but non worked?
> >
> >> To disable detecting mkl, define environment variable MKL=None.
> >> For mkl 7.x versions one may need to fix library names (8.x does not have
> >> ifcore, for instance) in system_info.py.
> >
> > For the full scipy I suspect that we will run into
> > the single/double precision lapack routines problem
> > (libmkl_lapack32.so provides all the s* and c*
> > while libmkl_lapack64.so provides the d* and z* routines),
> > but one thing after another ... ;-)
>
> But isn't libmkl_lapack include both precision lapack routines?

Checking:
-  nm /opt/intel/mkl72/lib/64/libmkl_lapack.a | grep gesvd | grep -v sst
   result: does include all 4 variants
-  nm /opt/intel/mkl72/lib/64/libmkl_lapack64.so  | grep gesvd
   result: only d* and z*
-  nm /opt/intel/mkl72/lib/64/libmkl_lapack32.so  | grep gesvd
   result: only s* and c*

So you are right, libmkl_lapack.a provides both variants.

> This seems to be the case with mkl 8.x anyway. Could you send me the link
> of mkl 7.x readme file that explains then contents of mkl?

Does this one
http://nf.apac.edu.au/facilities/software/IntelCompilers/mkl72/mklnotes.htm
help?

Many thanks, Arnd




More information about the Scipy-dev mailing list