Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Problem building numpy and scipy with MKL

Aleksandar_B_
Beginner
900 Views

After building numpy when I try to run the tests I get the error: 

undefined symbol: _intel_fast_memset

I'm not sure where that is coming from, could someone elaborate a bit? I followed the instructions from here https://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl. Both icc and ifort are well and running on the machine, so what is the problem?

0 Kudos
7 Replies
Gennady_F_Intel
Moderator
900 Views

this function is defined in intel compiler lib - libirc. I believe you may try to add to your linking line smth like -lirc

0 Kudos
Aleksandar_B_
Beginner
900 Views

Do you know by any chance in which part of the site.cfg file of numpy should I link it? Or is this part of some of the flags given to icc in the files that have to be modified (distutils/intelcompiler.py and distutils/fcompiler/intel.py)?

0 Kudos
Ying_H_Intel
Employee
900 Views

Hi Aleksandar,

what is your OS ,  and  icc and ifort version? 

You may add the -lirc    in the site.cfg  as Building with GNU Compiler chain GNU section guide in https://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl

$export CFLAGS="-fopenmp -m64 -mtune=native -O3 -Wl,--no-as-needed"
2 $export CXXFLAGS="-fopenmp -m64 -mtune=native -O3 -Wl,--no-as-needed"
3 $export LDFLAGS=" -lirc -ldl -lm"
4 $export FFLAGS="-fopenmp -m64 -mtune=native -O3"

 

and let us know the result. 

Best Regards,

Ying 

0 Kudos
Aleksandar_B_
Beginner
900 Views

This is work on a cluster under some form of Linux distribution. More concretely:

Linux ui1.gpu.rl.ac.uk 2.6.32-504.16.2.el6.x86_64 #1 SMP Tue Mar 10 17:01:00 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

the icc and ifort version I'm using are icc (ICC) 15.0.0 20140723 and ifort (IFORT) 15.0.0 20140723

As for the GNU Compiler Options, that seems to fail for two options:

  1. If I do not set explicitly the compiler it just starts to compile with icc
  2. In the compiler options there is not gcc, so I select unix, which invokes gcc, however it passes icc flags to it so it just crashes with the message:

gcc: error: unrecognized command line option ‘-Zomf’
gcc: error: unrecognized command line option ‘-Zmt’
gcc: error: unrecognized command line option ‘-mprobe’
gcc: error: unrecognized command line option ‘-Zomf’
gcc: error: unrecognized command line option ‘-Zmt’
gcc: error: unrecognized command line option ‘-mprobe

I will try the gcc chain on my own machine, since I do not have the Intel Fortran compiler here, only icc and MKL.

 

 

 

 

0 Kudos
Aleksandar_B_
Beginner
900 Views

I've followed the instructions for building numpy with the GNU Compiler on my own Ubuntu (14.04). However, the "numpy.test()" fails. I'm attaching the log of that, since I'm not sure exactly why. From the limited understanding of the problem there seems to be something wrong with the f2py module and the fortran code, but I can not say why.

 

0 Kudos
Aleksandar_B_
Beginner
900 Views

Ok so finally I managed to install it successfully on my own machine. I'll try later today on the cluster and see what I get.

0 Kudos
Ying_H_Intel
Employee
900 Views

Hi Aleksandar, 

It seems you have several systems, what are they?

and could you please share the success config so far, include the build command ?  (are they using icc for c and gnu f77 for fortran ?)

The below is for intel icc and ifort 64bit

$python setup.py config --compiler=intelem build_clib --compiler=intelem build_ext --compiler=intelem install. 
              

Thanks

Ying

0 Kudos
Reply