- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to run the HPCC benchmark on our cluster.
The system has Intel compilers and MKL release 2015.5.223
I am compiling with Openmpi version 1.8.5 also (though I do not think this is the problem)
I am following https://software.intel.com/en-us/articles/performance-tools-for-software-developers-use-of-intel-mkl-in-hpcc-benchmark
I have compiled OK. This seems a bit out of date though.
With up to date MKL should I compile with -mkl=cluster for HPCC?
Are there some more up to date writeups please?
When I run it crashes in the MPIFFT portion of the run.
For what its worth:
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
compiler option -mkl=cluster works for Intel MPI only, since it links an application with -lmkl_blacs_intelmpi_lp64. Since you are using OpenMPI, please specify mkl libraries explicitly, i.e. instead of -mkl=cluster use
-L$MKLROOT/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_openmpi_lp64 ...
Please take a look at Intel MKL Link-line adviser: https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Evarist, thankyou very much for that advice.
I could use the Intel MPI.
What would I use for options then please?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Also, one other bit of advice.
When building HPCC should I use the ilp64 or the lp64 interface?
There seems to be some conflicting advice! I have 380 cores to run on.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
By default, it is LP64. (ILP64 is int64)
could you please let me know what is conflicting advice?
Thanks
Ying
${MKLROOT}/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_cdft_core.a ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_blacs_openmpi_lp64.a -Wl,--end-group -lpthread -lm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ying,, thankyou for your reply.
Please have a look at the comments at the end of this article - it does say ilp64 !
https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/287304
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
I see the problem. LP64 is 32bit integer, Long64bit Pointer64bit. In most of case, we use 32bit integer, so LP64 library are used usually.
If you do set the option explicitly like the article https://origin-software.intel.com/en-us/articles/performance-tools-for-software-developers-use-of-intel-mkl-in-hpcc-benchmark ,
, -DMKL_INT=long -DLONG_IS_64BITS . where MKL_INT=long is 64bit, then yes, the correct library should be ILP64. (all LP64 should be ILP64).
Best Regards,
Ying

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page