Linking with System Libraries............................................................ 44
Building Custom Dynamic-link Libraries
.......................................................45
Using the Custom Dynamic-link Library Builder in the Command-line
Mode......................................................................................... 45
Composing a List of Functions .......................................................... 46
Specifying Function Names............................................................... 47
Building a Custom Dynamic-link Library in the Visual Studio*
Development System................................................................... 48
Distributing Your Custom Dynamic-link Library.................................... 49
Chapter 4: Managing Performance and Memory
Improving Performance with Threading.......................................................51
OpenMP* Threaded Functions and Problems........................................ 51
Functions Threaded with Intel
®
Threading Building Blocks......................53
Avoiding Conflicts in the Execution Environment.................................. 54
Techniques to Set the Number of Threads........................................... 54
Setting the Number of Threads Using an OpenMP* Environment
Variable......................................................................................55
Changing the Number of OpenMP* Threads at Run Time....................... 55
Using Additional Threading Control.....................................................56
Intel MKL-specific Environment Variables for OpenMP Threading
Control...............................................................................56
MKL_DYNAMIC........................................................................57
MKL_DOMAIN_NUM_THREADS.................................................. 57
Setting the Environment Variables for Threading Control.............. 59
Calling Intel MKL Functions from Multi-threaded Applications................. 59
Using Intel
®
Hyper-Threading Technology........................................... 61
Managing Multi-core Performance...................................................... 61
Improving Performance for Small Size Problems ..........................................62
Using MKL_DIRECT_CALL in C Applications..........................................62
Using MKL_DIRECT_CALL in Fortran Applications................................. 62
Limitations of the Direct Call ............................................................ 63
Other Tips and Techniques to Improve Performance..................................... 63
Coding Techniques...........................................................................63
Improving Intel(R) MKL Performance on Specific Processors.................. 64
Operating on Denormals................................................................... 64
Fast Fourier Transform Optimized Radices...........................................64
Using Memory Functions .......................................................................... 64
Avoiding Memory Leaks in Intel MKL.................................................. 65
Redefining Memory Functions............................................................ 65
Chapter 5: Language-specific Usage Options
Using Language-Specific Interfaces with Intel
®
Math Kernel Library.................67
Interface Libraries and Modules......................................................... 67
Fortran 95 Interfaces to LAPACK and BLAS..........................................68
Compiler-dependent Functions and Fortran 90 Modules.........................69
Using the stdcall Calling Convention in C/C++..................................... 69
Compiling an Application that Calls the Intel
®
Math Kernel Library and
Uses the CVF Calling Conventions.................................................. 70
Mixed-language Programming with the Intel Math Kernel Library....................71
Intel
®
Math Kernel Library for Windows* OS Developer Guide
4
评论0