Using the Custom
Dynamically Linked Shared Library Builder
Dynamically Linked Shared Library
BuilderTo build a custom
dynamically linked shared library
, use the following command:
make target [
<options>
]The following table lists possible values of
target
and explains what the command does for each value:
Value
| Comment
|
---|---|
libintel64 | The builder uses static
Intel® oneAPI Math Kernel Library |
dylibuni | The builder uses the single dynamic library
libmkl_rt.dylib to build an Intel 64 dynamically linked shared library.
|
help | The command prints Help on the custom
dynamically linked shared library builder
|
The
placeholder stands for the list of parameters that define macros to be used by the makefile. The following table describes these parameters:
<options>
Parameter [Values]
| Description
|
---|---|
interface
= {lp64|ilp64} | Defines
whether to use LP64 or ILP64 programming interfacefor the Intel 64 architecture. The default value is
lp64 .
|
threading = {parallel|sequential} | Defines whether to use the
Intel® oneAPI Math Kernel Library parallel .
|
Prallel = {intel|tbb} | Specifies whether to use Intel OpenMP or Intel® oneTBB. The default value is intel .
|
cluster = {yes|no} | (For
libintel64 only) Specifies whether
Intel® oneAPI Math Kernel Library no .
|
blacs_mpi = {intelmpi|msmpi} | Specifies the pre-compiled
Intel® oneAPI Math Kernel Library 'cluster=no' . The default value is
intelmpi .
|
blacs_name = <lib name> | Specifies the name (without extension) of a custom
Intel® oneAPI Math Kernel Library 'cluster=no' .
'blacs_mpi' is ignored if
'blacs_name' was explicitly specified. The default value is
mkl_blacs_<blacs_mpi>_<interface> .
|
mpi = <lib name> | Specifies the name (without extension) of the MPI library used to build the custom DLL. Ignored if
'cluster=no' . The default value is
impi .
|
export =
<file name> | Specifies the full name of the file that contains the list of entry-point functions to be included in the
shared object. The default name is
user_example_list (no extension).
|
name =
< so name> | Specifies the name of the
library to be created. By default, the names of the created librar y
is
mkl_custom. dylib . |
xerbla =
<error handler> | Specifies the name of the object file
<user_xerbla> .o that contains the error handler of the user. The makefile adds this error handler to the library for use instead of the default
Intel® oneAPI Math Kernel Library xerbla . If you omit this parameter, the native
Intel® oneAPI Math Kernel Library xerbla is used. See the description of the
xerbla function in the
Intel® oneAPI Math Kernel Library |
MKLROOT =
<mkl directory> | Specifies the location of
Intel® oneAPI Math Kernel Library dynamically linked shared library . By default, the builder uses the
Intel® oneAPI Math Kernel Library |
All of the above parameters are optional. However, you must make the system and c-runtime (crt) libraries and link.exe available by setting the
PATH
and
LIB
environment variables appropriately. You can do this in the following ways:
- Manually
- If you are using the Intel compiler, use thecompilervars.shscript with the appropriate 32-bit (x86) or 64-bit (x64 or amd-64) architecture flag.
In the simplest case, the command line is:
make ia32
and the missing options have default values. This command creates the
file and uses the native
error handler.
mkl_custom.
dylib
library
. The command takes the list of functions from the
user_list
Intel® oneAPI Math Kernel Library
xerbla
Here is an example of a more complex case:
make intel64 export=my_func_list.txt name=mkl_small xerbla=my_xerbla.o
In this case, the command creates the
mkl_small.
dylib
library
. The command takes the list of functions from
my_func_list.txt
file and uses the error handler of the user
my_xerbla.o
.
Product and Performance Information
|
---|
Performance varies by use, configuration and other factors. Learn more at
www.Intel.com/PerformanceIndex.
Notice revision #20201201
|