Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

where is __svml_expf4 defined

zimmen
Beginner
1,270 Views

can anyone tell me which library contains the symbol __svml_expf4? I run into link error finding this symbol even though I follow the instructions from Link Line Advisor for Intel® oneAPI Math Kernel Library,  which gives me "-lmkl_intel_lp64 -lmkl_sequential -lmkl_core", but none of them contain this symbol. 

0 Kudos
1 Solution
8 Replies
zimmen
Beginner
1,230 Views

Thanks for the replies!  Does it mean that intel compiler is needed to use mkl library?  I actually would like to use this library based on gcc compiler, but unable to find how to do that from the docementation.  Any hint would be highly appreciated. 

0 Kudos
VidyalathaB_Intel
Moderator
1,238 Views

Hi,


Thanks for reaching out to us.


>> symbol __svml_expf4?...but none of them contain this symbol. 


The SVML library is one of the additional libraries supplied by Intel® oneAPI DPC++/C++ Compiler and these libraries are linked in by default when the compiler sees that references to them have been generated.


You can tell the compiler to use the SVML library to implement math library functions by using the following option.


-fimf-use-svml=value[:funclist] for linux

/Qimf-use-svml:value[:funclist] for windows


For more details regarding the compiler options, you can refer to the link https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/floating-point-options/fimf-use-svml-qimf-use-svml.html (same as the one provided by Gennady in the previous post)


Please do let us know if you face any issues by providing us with the following details


> Sample Reproducer (& steps to reproduce it if any)

> Compiler used along with its version 

> OS details


Regards,

Vidya.


VidyalathaB_Intel
Moderator
1,211 Views

Hi Zimmen,

 

>>Does it mean that intel compiler is needed to use mkl library?..I actually would like to use this library based on gcc compiler,

 

Apart from the Intel compiler, you can use GCC compiler if your OS is Linux.

 

Just as a reference to anybody looking at this topic, here is the list of compilers that can be used with the oneMKL library (one can also confirm with the Link Line Advisor tool which suggests the possible compilers that can be used) depending on the type of OS you are working with.

 

Compilers for DPC++ language:

 

Linux

Intel® oneAPI DPC++/C++ Compiler 2021.1 and later.

 

Windows

Intel® oneAPI DPC++/C++ Compiler 2021.1 and later.

 

Compilers for C/C++ and Fortran languages

 

Linux

Intel® C++ Compiler Classic 2021.1 and later.

Intel® Fortran Compiler Classic 2021.1 and later.

Intel® oneAPI DPC++/C++ Compiler 2021.1 and later.

Intel® Fortran Compiler 2021.1 (beta) 

Intel® C++ compiler v19.0 and v19.1

Intel® Fortran compiler v19.0 and v19.1

GNU* Compiler Collection 5.x and later.

PGI* Compiler 19.10, 20.4 and 21.3

 

Windows

Intel® C/C++ Compiler Classic 2021.1 and later.

Intel® Fortran Compiler Classic 2021.1 and later.

Intel® oneAPI DPC++/C++ Compiler 2021.1 and later.

Intel® Fortran compiler 2021.1 (beta) 

Intel® C++ compiler v19.0 and v19.1  

Intel® Fortran compiler v19.0 and v19.1  

PGI* Compiler 19.10 and 20.4

 

macOS

Intel® C/C++ Compiler Classic 2021.1 and later.

Intel® Fortran Compiler Classic 2021.1 and later.

Intel® oneAPI DPC++/C++ Compiler 2021.1 and later.

Intel® Fortran compiler 2021.1 (beta) and later

Intel® C++ compiler v19.1  

Intel® Fortran compiler v19.1  

 

Reference Link:

https://www.intel.com/content/www/us/en/develop/articles/oneapi-math-kernel-library-system-requirements.html

 

>>but unable to find how to do that from the documentation

 

You can follow the Link Line Advisor suggestions after selecting the compiler that you wanted to work with.

 

Hope the provided information helps in answering your questions.

Please let us know if we can close this thread from our end.

 

Regards,

Vidya.

 

0 Kudos
zimmen
Beginner
1,196 Views

Thanks for the reply!  I'm wondering whether I can still use the flag -fimf-use-svml under a non-intel  compiler, like gcc.   It does not look like working for me.  Without this flag or a specific library name,  it is still not clear to me how to make it work.   Apparently, this should be a very common question, but I'm not able to find any similar post.   Looks more likely that I missed something really simple. 

0 Kudos
VidyalathaB_Intel
Moderator
1,178 Views

Hi,


>>I can still use the flag -fimf-use-svml under a non-intel compiler, like gcc.  It does not look like working for me


"The Intel® oneAPI DPC++/C++ Compiler supplies additional libraries that contain optimized implementations of many commonly used functions.

Supplied libraries include the Intel® Math Library (libimf), the Short Vector Math Library (libsvml), libirc, as well as others."


Since the SVML library is provided by Intel Compilers, you cannot use that option with non-Intel compilers.


Please refer to the below link for more details

https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compatibility-and-portability/portability/porting-from-gcc-to-the-intel-compiler/other-considerations-1.html


Regards,

Vidya.


0 Kudos
VidyalathaB_Intel
Moderator
1,149 Views

Hi,


Reminder:


As we haven't heard back from you, could you please let us know whether we can close this thread from our end?


Regards,

Vidya.


0 Kudos
VidyalathaB_Intel
Moderator
1,127 Views

Hi,

 

We are closing this thread assuming we have answered your queries and the issue is resolved. Please post a new question if you need any additional assistance from Intel as this thread will no longer be monitored.

 

Regards,

Vidya.

 

0 Kudos
Reply