In the file with the list of functions for your custom
shared object, adjust function names to the required interface. For example,
for Fortran functions append an underscore character "_" to the names as a suffix:
dgemm_
ddot_
dgetrf_
For more examples, see domain-specific lists of functions in the
<mkl directory>/tools/builder folder.
Note
The lists of functions are provided in the
<mkl directory>/tools/builder folder merely as examples. See
Composing a List of Functions for how to compose lists of functions for your custom
shared object.
Tip
Names of Fortran-style routines (BLAS, LAPACK, etc.) can be both upper-case or lower-case, with or without the trailing underscore. For example, these names are equivalent:
BLAS:
dgemm,
DGEMM,
dgemm_,
DGEMM_
LAPACK:
dgetrf,
DGETRF,
dgetrf_,
DGETRF_.
Properly capitalize names of C support functions in the function list. To do this, follow the guidelines below:
- In the
mkl_service.h include file, look up a
#define directive for your function.
- Take the function name from the replacement part of that directive.
For example, the
#define directive for the
mkl_disable_fast_mm function is
#define mkl_disable_fast_mm MKL_Disable_Fast_MM.
Capitalize the name of this function in the list like this:
MKL_Disable_Fast_MM.
For the names of the Fortran support functions, see the
tip.
Note
If selected functions have several processor-specific versions, the builder automatically includes them all in the custom library and the dispatcher manages them.
Optimization Notice
|
Intel® compilers, associated libraries and associated development tools may include or utilize options that optimize for instruction sets that are available in both Intel® and non-Intel microprocessors (for example SIMD instruction sets), but do not optimize equally for non-Intel microprocessors. In addition, certain compiler options for Intel compilers, including some that are not specific to Intel micro-architecture, are reserved for Intel microprocessors. For a detailed description of Intel compiler options, including the instruction sets and specific microprocessors they implicate, please refer to the "Intel® Compiler User and Reference Guides" under "Compiler Options". Many library routines that are part of Intel® compiler products are more highly optimized for Intel microprocessors than for other microprocessors. While the compilers and libraries in Intel® compiler products offer optimizations for both Intel and Intel-compatible microprocessors, depending on the options you select, your code and other factors, you likely will get extra performance on Intel microprocessors.
Intel® compilers, associated libraries and associated development tools may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3) instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors.
While Intel believes our compilers and libraries are excellent choices to assist in obtaining the best performance on Intel® and non-Intel microprocessors, Intel recommends that you evaluate other compilers and libraries to determine which best meet your requirements. We hope to win your business by striving to offer the best performance of any compiler or library; please let us know if you find we do not.
Notice revision #20110307
|