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

Reply via email to