From f86c8d4c9170c2a083ac8eb0195b457dfc14bd20 Mon Sep 17 00:00:00 2001 From: Jan Siwiec <jan.siwiec@vsb.cz> Date: Thu, 16 Apr 2020 14:12:48 +0200 Subject: [PATCH] Update intel-mkl.md --- docs.it4i/software/intel/intel-suite/intel-mkl.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs.it4i/software/intel/intel-suite/intel-mkl.md b/docs.it4i/software/intel/intel-suite/intel-mkl.md index 8faddb208..81022d0a7 100644 --- a/docs.it4i/software/intel/intel-suite/intel-mkl.md +++ b/docs.it4i/software/intel/intel-suite/intel-mkl.md @@ -22,13 +22,13 @@ $ ml av imkl $ ml imkl ``` -The module sets up environment variables, required for linking and running MKL-enabled applications. The most important variables are the $MKLROOT, $CPATH, $LD_LIBRARY_PATH, and $MKL_EXAMPLES +The module sets up environment variables, required for linking and running MKL-enabled applications. The most important variables are the `$MKLROOT`, `$CPATH`, `$LD_LIBRARY_PATH`, and `$MKL_EXAMPLES`. -The Intel MKL library may be linked using any compiler. With the Intel compiler, use the -mkl option to link default threaded MKL. +The Intel MKL library may be linked using any compiler. With the Intel compiler, use the `-mkl` option to link default threaded MKL. ### Interfaces -The Intel MKL library provides a number of interfaces. The fundamental once are the LP64 and ILP64. The Intel MKL ILP64 libraries use the 64-bit integer type (necessary for indexing large arrays, with more than 231^-1 elements), whereas the LP64 libraries index arrays with the 32-bit integer type. +The Intel MKL library provides a number of interfaces. The fundamental ones are LP64 and ILP64. The Intel MKL ILP64 libraries use the 64-bit integer type (necessary for indexing large arrays, with more than 231^-1 elements), whereas the LP64 libraries index arrays with the 32-bit integer type. | Interface | Integer type | | --------- | -------------------------------------------- | @@ -39,7 +39,7 @@ The Intel MKL library provides a number of interfaces. The fundamental once are Linking the Intel MKL libraries may be complex. Intel [mkl link line advisor][b] helps. See also [examples][1] below. -You will need the mkl module loaded to run the MKL-enabled executable. This may be avoided, by compiling library search paths into the executable. Include rpath on the compile line: +You will need the `mkl` module loaded to run the MKL-enabled executable. This may be avoided, by compiling library search paths into the executable. Include `-rpath` on the compile line: ```console $ icc .... -Wl,-rpath=$LIBRARY_PATH ... @@ -49,7 +49,7 @@ $ icc .... -Wl,-rpath=$LIBRARY_PATH ... Advantage in using the Intel MKL library is that it brings threaded parallelization to applications that are otherwise not parallel. -For this to work, the application must link the threaded MKL library (default). Number and behavior of MKL threads may be controlled via the OpenMP environment variables, such as OMP_NUM_THREADS and KMP_AFFINITY. MKL_NUM_THREADS takes precedence over OMP_NUM_THREADS. +For this to work, the application must link the threaded MKL library (default). Number and behavior of MKL threads may be controlled via the OpenMP environment variables, such as `OMP_NUM_THREADS` and `KMP_AFFINITY`. `MKL_NUM_THREADS` takes precedence over `OMP_NUM_THREADS`. ```console $ export OMP_NUM_THREADS=24 # 16 for Anselm @@ -86,7 +86,7 @@ $ icc -w source/cblas_dgemmx.c source/common_func.c -mkl -o cblas_dgemmx.x $ ./cblas_dgemmx.x data/cblas_dgemmx.d ``` -In this example, we compile, link, and run the cblas_dgemm example, demonstrating use of MKL with the icc -mkl option. Using the -mkl option is equivalent to: +In this example, we compile, link, and run the cblas_dgemm example, demonstrating use of MKL with the `icc -mkl` option. Using the `-mkl` option is equivalent to: ```console $ icc -w source/cblas_dgemmx.c source/common_func.c -o cblas_dgemmx.x -I$MKL_INC_DIR -L$MKL_LIB_DIR -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -- GitLab