Hi Tim, Quick add-on to my previous email. With BLA_STATIC ON, I see from the CMakeError.log that the static libraries ARE found (I was trusting the), but the linking of the test program goes wrong: undefined reference to `mkl_blas_sgemv` But that function IS implemented in one of the three libraries that is found, in my case in libmkl_sequential.a
So this is probably a linking/ library ordering error. Indeed, Intel fora and the link advisor I mentioned earlier also report the need for grouping these as in -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group Is my understanding correct, and can this be fixed? kind regards, Siebren On Thu, Aug 27, 2015 at 11:50 AM, Siebren Reker <siebren.re...@gmail.com> wrote: > Hi Tim, > > That is encouraging, thanks. I went back and tried harder this time, when > I specified BLA_VENDOR precisely and leave BLA_STATIC off, I am able to get > to the correct versions. > In the very same directory where the shared libraries are found, I have > the static libraries as well, but BLA_STATIC on in that case does not find > the libraries. > > I've read up a bit on this now, so maybe the following information is > helpful: > This is a CMake 3.3.0 installation > My project has both C and Fortran enabled > I call it as follows: > > set( BLA_STATIC ON) > set( BLA_VENDOR "Intel10_64lp_seq") > find_package( BLAS ) > > Is BLA_STATIC = ON working for you? > > A separate question I have is if the linker command that will be produced > afterwards is of course different from the one supplied by Intel in their > tool. Should that not concern me? > > kind regards, > Siebren > > > On Wed, Aug 26, 2015 at 4:59 PM, Tim Gallagher <tim.gallag...@gatech.edu> > wrote: > >> We sometime struggled to get it working, but we never had to resort to >> using a FindMKL -- FindBLAS and FindLAPACK work just fine for us, provided >> we do things "correctly." >> >> So long as we have sourced the mklvars script that ships with Intel MKL >> and we put: >> >> BLA_VENDOR=Intel10_64lp_seq ccmake /path/to/source/dir >> >> >> Then everything works fine and we have no issues. So we have to give >> CMake a hint that we want to pick the Intel version rather than the generic >> one (and we're using the sequential, 64bit MKL -- if you look in FindBLAS >> you can see other vendor types). >> >> Have you had things fail when you setup your environment variables using >> the scripts Intel provides and when you set the BLA_VENDOR hint as an >> environment variable? >> >> Tim >> >> ------------------------------ >> *From: *"Siebren Reker" <siebren.re...@gmail.com> >> *To: *cmake-developers@cmake.org >> *Sent: *Wednesday, August 26, 2015 10:18:44 AM >> *Subject: *[cmake-developers] Is there an official FindMKL module? >> >> >> Hello, >> >> I am using the find_package() command to load settings for the Intel Math >> Kernel Library (MKL). This works through a custom FindMKL.cmake module that >> I've made for myself. >> >> However, when looking at: >> https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/ >> I can tell that what I've done is likely only correct for my specific >> case, and certainly not robust against library version changes and various >> other changes (openmp, static vs dynamic linking etc.). >> >> Instead of a FindMKL.cmake module, an alternative is to have MKL be >> discovered in the FindBLAS or FindLAPACK modules, but according to what I >> can find on the bug tracker, that solution is also in a fairly broken state: >> Bug 14138: http://www.cmake.org/Bug/view.php?id=14138 >> Bug 13543: http://www.cmake.org/Bug/view.php?id=13543 >> Bug 13528: http://www.cmake.org/Bug/view.php?id=13528 >> >> Google tells me that many people have (like me) created their own >> FindMKL.cmake module, which are equally specific and tailored. >> >> Is anyone aware of a more "official" FindMKL module available somewhere, >> or at least something that is being somewhat maintained, either by someone >> at Kitware or Intel? Or of a plan to develop something like that? >> >> kind regards, >> Siebren Reker >> >> -- >> >> Powered by www.kitware.com >> >> Please keep messages on-topic and check the CMake FAQ at: >> http://www.cmake.org/Wiki/CMake_FAQ >> >> Kitware offers various services to support the CMake community. For more >> information on each offering, please visit: >> >> CMake Support: http://cmake.org/cmake/help/support.html >> CMake Consulting: http://cmake.org/cmake/help/consulting.html >> CMake Training Courses: http://cmake.org/cmake/help/training.html >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/cmake-developers >> >> >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers