[petsc-users] Building with MKL 10.3
Preston, Eric - IS
Eric.Preston at itt.com
Mon Mar 14 18:25:08 CDT 2011
Greetings,
I had some difficulty compiling PETSc with MKL 10.3 (on 64-bit linux). The config system definitely wasn't able to deal with this version. For a sequential, 32-bit integer compile the Intel link advisor tells me to use the following:
-Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_sequential.a $(MKLROOT)/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread
So I added this line to BlasLapack.py (in generateGuesses, around line 210):
yield ('User specified MKL10.3 Linux-intel64 installation root', None, [os.path.join(dir,'lib','intel64','libmkl_lapack95_lp64.a'),'mkl_intel_lp64', 'mkl_sequential', 'mkl_core', 'pthread'], 1) #efp
Note in this distribution the LAPACK libs are called libmkl_lapack95_ilp64.a and libmkl_lapack95_lp64.a (for 64 and 32-bit integers, respectively). Also note this version uses /lib/intel64 instead of /lib/emt64. It came with Intel ComposerXE 2011 (the icc version is 12.0.2).
I was able the build the PETSC libraries in this way, however to use the multi-threaded MKL I had to change 'libmkl_sequential.a' to 'libmkl_intel_thread.a' AND add the compiler option -openmp. To get this to work I had to add CFLAGS=-openmp.
Now on to adding mpi...
Eric Preston
This e-mail and any files transmitted with it may be proprietary and are intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error please notify the sender.
Please note that any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of ITT Corporation. The recipient should check this e-mail and any attachments for the presence of viruses. ITT accepts no liability for any damage caused by any virus transmitted by this e-mail.
More information about the petsc-users
mailing list