MKL
Przejdź do nawigacji
Przejdź do wyszukiwania
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
< Podręcznik użytkownika KDM < Oprogramowanie KDM < Oprogramowanie systemowe i narzędziowe
Intel® Math Kernel Library (MKL) - zestaw bibliotek matematycznych, zoptymalizowanych dla procesorów Intela. Biblioteki oferują pocedury BLAS 1, 2 i 3, Fast Fourier, LAPACK, ScaLAPACK, wsparcie dla procesorów wielordzeniowych, thread-safe, OpenMP, operacji wektorowych, ... Biblioteki zainstalowane są w katalogach /usr/local/intel/wersja/mkl/ lub /opt/intel/wersja/mkl/.
- Użycie
- dokumentacja w podkatalogu doc/,
- biblioteki należy linkować w wersji odpowiedniej do procesora na jakim uruchamiane będą obliczenia:
- procesory Intel64 (Bem) - podkatalog lib/intel64/.
- zalecane jest linkowanie statyczne, przykłady:
- MKL 15.0:
icc -o program.x \ /opt/intel/15.0.1.133/mkl/lib/intel64/libmkl_lapack95_lp64.a \ /opt/intel/15.0.1.133/mkl/lib/intel64/libmkl_intel_ilp64.a \ -Vaxlib -lpthread
- MKL 13.1:
export MKLPATH=/usr/local/intel/13.1/composer_xe_2013.5.192/mkl/lib/intel64/ ifort -o program.x \ -L$MKLPATH \ -Wl,--start-group \ $MKLPATH/libmkl_intel_lp64.a \ $MKLPATH/libmkl_intel_thread.a \ $MKLPATH/libmkl_core.a \ -Wl,--end-group -lguide -lpthread
- biblioteki są zrównoleglone w trybie "shared memory" w oparciu o wątki. W ten sposób program, który nie jest zrównoleglony, a jest zlinkowany z MKL, może skorzystać z więcej niż jednego procesora. Skalowalność zależy od czasu jaki program spędza w procedurach pochodzących z MKL. Wywołanie kodu równoległego sterowane jest zmienną OMP_NUM_THREADS:
export OMP_NUM_THREADS=wymagana_liczba_procesorów
Jeśli program jest zrównoleglony sam w sobie, to nie wolno używać MKL w trybie równoległym - spowoduje to konkurowanie wątków MKL z programem właściwym! Wymuszenie trybu nierównoległego:
export MKL_SERIAL=yes
- Linki zewnętrzne
Zobacz też: Oprogramowanie systemowe i narzędziowe, maszyny obliczeniowe