On Wed, Nov 13, 2013 at 3:36 PM, John Peterson <jwpeter...@gmail.com> wrote:
>
>
>
> On Wed, Nov 13, 2013 at 3:16 PM, Jed Brown <jedbr...@mcs.anl.gov> wrote:
>
>> John Peterson <jwpeter...@gmail.com> writes:
>> > I got access to a machine with Intel-14, and it looks like libmesh
>> master
>> > (sans PETSc at the moment, working on figuring out the right way to link
>> > against MKL) compiles and the examples run OK for me (no segfaults at
>> the
>> > end of apps).
>>
>> If you are using Intel compilers, it's supposed to be as simple as
>> passing -mkl to the linker, though you can always run mkl_link_tool and
>> put the result in LIBS.
>>
>
> That utility seems to be mis-installed on my system?
>
> $ /opt/intel/composer_xe_2013_sp1.0.080/mkl/tools/mkl_link_tool
> -bash: /opt/intel/composer_xe_2013_sp1.0.080/mkl/tools/mkl_link_tool:
> /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
>
> I remember there being a website which would spit out MKL link lines too...
>
http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
We are interested in attempting to run on the host CPUs and use automatic
offloading to MIC with MKL, so the website recommended the following:
linker options: -lmkl_scalapack_ilp64 -lmkl_cdft_core
-lmkl_blacs_intelmpi_ilp64 -lpthread -lm
compiler options: -DMKL_ILP64 -openmp -mkl=parallel
I thus configured configured PETSc with:
--CFLAGS="-DMKL_ILP64 -openmp -mkl=parallel" \
--CXXFLAGS="-DMKL_ILP64 -openmp -mkl=parallel" \
--with-blas-lapack-dir=/opt/intel/mkl/lib/intel64 \
--LDFLAGS="-lmkl_scalapack_ilp64 -lmkl_cdft_core
-lmkl_blacs_intelmpi_ilp64 -lpthread -lm" \
but PETSc's configure summary reported:
BLAS/LAPACK: -Wl,-rpath,/opt/intel/mkl/lib/intel64
-L/opt/intel/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
-liomp5 -lpthread
and when I ran 'make' PETSc said:
Using libraries:
...
-lmkl_intel_lp64
-lmkl_intel_thread
-lmkl_core
-liomp5
-lpthread
-lmpigc4
-ldl
-lmpigf
-lmpi_mt
-lmpigi
-lrt
-lpthread
-lmkl_intel_lp64
-lmkl_intel_thread
-lmkl_core
-liomp5
-limf
-lsvml
-lirng
-lipgo
-ldecimal
-lcilkrts
-lstdc++
-lgcc_s
-lirc
-lirc_s
-ldl
so it doesn't appear that -lmkl_scalapack_ilp64 -lmkl_cdft_core
-lmkl_blacs_intelmpi_ilp64 made it through PETSc's configure? Should I use
something other than --LDFLAGS perhaps?
--
John
------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel