intel oneAPI Math Kernel Library
Kezdje el az Intel® oneAPI Math Kernel Library használatát
Az Intel® oneAPI Math Kernel Library (oneMKL) segít a maximális teljesítmény elérésében a CPU-hoz és GPU-hoz jól optimalizált, kiterjedten párhuzamosított rutinok matematikai számítási könyvtárával. A könyvtár C- és Fortran interfésszel rendelkezik a legtöbb CPU-n futó rutinhoz, és DPC++ interfésszel rendelkezik egyes rutinokhoz a CPU-n és a GPU-n egyaránt. Számos matematikai művelethez átfogó támogatást találhat különféle felületeken, beleértve:
C-hez és Fortranhoz CPU-n
- Lineáris algebra
- Gyors Fourier transzformációk (FFT)
- Vektor matematika
- Közvetlen és iteratív ritka megoldók
- Véletlenszám-generátorok
DPC++ esetén CPU-n és GPU-n (További részletekért tekintse meg az Intel® oneAPI Math Kernel Library – Data Parallel C++ fejlesztői kézikönyvet.)
- Lineáris algebra
- BLAS
- Kiválasztott Sparse BLAS funkció
- Kiválasztott LAPACK funkció
- Gyors Fourier transzformációk (FFT)
- 1D, 2D és 3D
- Véletlenszám-generátorok
- Kiválasztott funkcionalitás
- Kiválasztott Vector Math funkció
Mielőtt elkezdené
Látogassa meg a Kiadási megjegyzések oldalt az ismert problémákért és a legfrissebb információkért.
A rendszerkövetelményekért keresse fel az Intel® oneAPI Math Kernel Library System Requirements oldalt.
Látogasson el az Intel® oneAPI DPC++/C++ Compiler kezdő lépéseihez a DPC++ fordítói követelményekhez.
1. lépés: Telepítse az Intel® oneAPI Math Kernel Library-t
Töltse le az Intel® oneAPI Math Kernel Library-t az Intel® oneAPI Base Toolkitből.
A Python disztribúciókkal kapcsolatban lásd: Az Intel® disztribúció telepítése Python* és Intel® Performance Libraries pip és PyPI segítségével.
Python disztribúciók esetén vegye figyelembe a következő korlátozást:
A oneMKL fejlesztői csomag (mkl-devel) a PIP terjesztéshez Linux* és macOS* rendszeren nem biztosít dinamikus könyvtárak szimbolikus hivatkozásait (további információért lásd a PIP GitHub 5919. számú kiadását).
Dinamikus vagy egyetlen dinamikus könyvtár összekapcsolása esetén a oneMKL fejlesztői csomaggal (további információkért lásd: oneMKL Link Line Advisor ) módosítania kell a linksort a oneMKL könyvtárak teljes nevével és verziójával.
A pkg-config eszköz fordításával és összekapcsolásával kapcsolatos információkért tekintse meg az Intel® oneAPI Math Kernel Library és a pkg-config eszközt.
oneMKL linksor plample a oneAPI Base Toolkittel szimbolikus linkeken keresztül:
- Linux:
icc app.obj -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl - MacOS:
icc app.obj -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
-lm -ldl
A oneMKL linksor plample a PIP fejlesztői csomaggal a könyvtárakon keresztül teljes nevek és verziók: Linux:
icc app.obj ${MKLROOT}/lib/intel64/libmkl_intel_lp64.so.1 ${MKLROOT}/lib/intel64/libmkl_intel_thread.so.1 ${MKLROOT}/lib/intel64/libmkl_core.so.1 -lpthreliomp -lm -ldl - MacOS:
icc app.obj -Wl,-rpath,${MKLROOT}/lib${MKLROOT}/lib/intel64/libmkl_intel_lp64.1.dylib $ {MKLROOT}/lib/intel64/libmkl_intel_thread.1.dylib
${MKLROOT}/lib/intel64/libmkl_core.1.dylib -liomp5 -lpthread -lm-ldl
2. lépés: Válasszon ki egy funkciót vagy rutint
Válassza ki a oneMKL egyik funkcióját vagy rutinját, amely a legjobban megfelel az Ön problémájának. Használja ezeket a forrásokat:
Forrás hivatkozás: Tartalom
oneMKL fejlesztői útmutató Linuxhoz*
oneMKL fejlesztői útmutató Windowshoz*
oneMKL fejlesztői útmutató macOS-hez*
A Fejlesztői útmutató részletes információkat tartalmaz több témáról, többek között:
- Alkalmazások összeállítása és összekapcsolása
- Egyedi DLL-ek készítése
- Menetelés
- Memóriakezelés
oneMKL fejlesztői referencia – C
Language oneMKL fejlesztői referencia – Fortran nyelv
oneMKL Fejlesztői Referencia – DPC++ nyelv
- A Developer Reference (C, Fortran és DPC++ formátumban) részletes leírást tartalmaz az összes könyvtári tartomány funkcióiról és interfészeiről.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- A LAPACK Function Finding Advisor segítségével fedezze fel azokat a LAPACK rutinokat, amelyek egy adott probléma esetén hasznosak. Plample, ha a következőképpen ad meg egy műveletet:
- Rutin típusa: Számítógépes
- Számítási probléma: Ortogonális faktorizáció
- Mátrix típusa: Általános
- Működés: Végezze el a QR-faktorizálást
3. lépés: Kapcsolja össze kódját
A oneMKL Link Line Advisor segítségével konfigurálja a link parancsot a program jellemzőinek megfelelően.
Néhány korlátozás és további követelmény:
Az Intel® oneAPI Math Kernel Library for DPC++ csak az mkl_intel_ilp64 interfész könyvtár és a szekvenciális vagy TBB szálak használatát támogatja.
Statikus linkeléssel rendelkező DPC++ interfészekhez Linuxon
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl, – start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/
libmkl_ .a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,–end-group -lsycl -lOpenCL -lpthread -ldl -lm
Plample, a main.cpp felépítése/statikus összekapcsolása ilp64 interfésszel és TBB szálkezeléssel:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–Start-group ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,–end-group -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl
DPC++ interfészekhez dinamikus linkeléssel Linuxon
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Plample, a main.cpp felépítése/dinamikus összekapcsolása ilp64 interfésszel és TBB szálkezeléssel:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lOpentllre -ltbbllm
Statikus hivatkozással rendelkező DPC++ interfészekhez Windows rendszeren
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 „%MKLROOT%”\lib\intel64\mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
Plample, a main.cpp felépítése/statikus összekapcsolása ilp64 interfésszel és TBB szálkezeléssel:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I”%MKLROOT%\include” main.cpp”%MKLROOT%”\lib\intel64\mkl_sycl.lib mkl_intel_ilp64.lib mkl_tbb_mkllib_thcore. .lib OpenCL.lib tbb.lib
DPC++ interfészekhez dinamikus linkeléssel Windows rendszeren
icpx -fsycl -DMKL_ILP64 "%MKLROOT%"\lib\intel64\mkl_sycl_dll.lib mkl_intel_ilp64_dll.lib mkl_ _dll.lib mkl_core_dll.lib tbb.lib sycl.lib OpenCL.lib
Plample, a main.cpp felépítése/dinamikus összekapcsolása ilp64 interfésszel és TBB szálkezeléssel:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I”%MKLROOT%\include” main.cpp „%MKLROOT%”\lib\intel64\mkl_sycl_dll.lib mkl_intel_ilp64_dll.lib mkllib_bb. .lib sycl.lib OpenCL.lib
OpenMP Offload támogatással rendelkező C/Fortran interfészekhez
Használja a C/Fotran Intel® oneAPI Math Kernel Library interfészt az OpenMP kitöltés funkcióval a GPU-ra.
A funkcióval kapcsolatos további részletekért tekintse meg a C OpenMP Offload fejlesztői útmutatót.
Adja hozzá a következő módosításokat a C/Fortran oneMKL fordítási/linkelési soraihoz, hogy engedélyezze az OpenMP-letöltési funkciót a GPU-ra:
- További fordítási/linkelési beállítások: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- További egy MKL könyvtár: egy MKL DPC++ könyvtár
Plample, a main.cpp felépítése/dinamikus összekapcsolása Linuxon ilp64 interfésszel és OpenMP szálkezeléssel:
icx -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl -DMKL_ILP64 -m64 -I$(MKLROOT)/include main.cpp L${MKLROOT}/lib/intel64 - lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lsycl -lOpenCL -lstdc++ -lpthread -lm -ldl
Az összes többi támogatott konfigurációval kapcsolatban lásd: Intel® oneAPI Math Kernel Library Link Line Advisor.
További információ
Forrás: Leírás
Oktatóanyag: Intel® oneAPI Math Kernel Library használata mátrixszorzáshoz:
- Oktatóanyag – C nyelv
- Oktatóanyag – Fortran nyelv
Ez az oktatóanyag bemutatja, hogyan használhatja a oneMKL-t mátrixok szorzására, a mátrixszorzás teljesítményének mérésére és a szálfűzés szabályozására.
Intel® oneAPI Math Kernel Library (oneMKL) Kiadási megjegyzések vezérli a szálakat.
A kiadási megjegyzések a oneMKL legújabb kiadására vonatkozó információkat tartalmaznak, beleértve az új és megváltozott funkciókat. A kiadási megjegyzések hivatkozásokat tartalmaznak a kiadással kapcsolatos fő online információforrásokhoz. További információkat találhat:
- Újdonságok a kiadásban
- A termék tartalma
- Technikai támogatás megszerzése
- Licencdefiníciók
Intel® oneAPI Math Kernel Library
Az Intel® oneAPI Math Kernel Library (oneMKL) termékoldala. Ezen az oldalon találhat támogatást és online dokumentációt.
Intel® oneAPI Math Kernel Library Cookbook
Az Intel® oneAPI Math Kernel Library számos rutint tartalmaz, amelyek segítenek különféle numerikus problémák megoldásában, mint például mátrixok szorzása, egyenletrendszer megoldása és Fourier-transzformáció végrehajtása.
Megjegyzések az Intel® oneAPI matematikai kernelkönyvtár vektorstatisztikáihoz
Ez a dokumentum egy overt is tartalmazview, a VS-ben található véletlenszám-generátorok használati modellje és tesztelési eredményei.
Intel® oneAPI matematikai kernelkönyvtár vektorstatisztika véletlenszám-generátor teljesítményadatai
A vektorstatisztika (VS) véletlenszám-generátor (RNG) felhasználásával nyert teljesítményadatok, beleértve a CPE (elemenkénti órajelek) mértékegységét, az alapvető véletlenszám-generátorokat (BRNG), a generált eloszlásgenerátorokat és a generált vektorok hosszát.
Intel® oneAPI Math Kernel Library vektor matematikai teljesítmény- és pontossági adatok
A Vector Mathematics (VM) elemi függvényeket számít ki vektor argumentumokon. A virtuális gép a számítási szempontból költséges alapvető matematikai függvények (hatékonysági, trigonometrikus, exponenciális, hiperbolikus és egyebek) nagymértékben optimalizált megvalósításait tartalmazza, amelyek vektorokon működnek.
Alkalmazási megjegyzések az Intel® oneAPI matematikai kernelkönyvtár összefoglaló statisztikáihoz
A Summary Statistics az Intel® oneAPI Math Kernel Library Vector Statistics tartományának alkomponense. A Summary Statistics funkciókat biztosít a kezdeti statisztikai elemzéshez, és megoldásokat kínál többdimenziós adatkészletek párhuzamos feldolgozására.
LAPACK plamples
Ez a dokumentum az ex kódot tartalmazzaamples egy MKL LAPACK (Lineáris Algebra PACKage) rutinokhoz.
Megjegyzések és felelősség kizárása
Előfordulhat, hogy a teljesítménytesztekben használt szoftverek és munkaterhelések csak az Intel mikroprocesszorok teljesítményére lettek optimalizálva. A teljesítményteszteket, mint például a SYSmark és a MobileMark, meghatározott számítógépes rendszerek, alkatrészek, szoftverek, műveletek és funkciók segítségével mérik. E tényezők bármelyikének változása az eredmények változását okozhatja. Érdemes más információkat és teljesítményteszteket tanulmányoznia, amelyek segítenek teljes körűen értékelni tervezett vásárlásait, beleértve az adott termék teljesítményét más termékekkel kombinálva. Bővebb információért látogasson el www.intel.com/benchmarks.
Az Intel technológiákhoz engedélyezni kell a hardver, a szoftver vagy a szolgáltatás aktiválását.
Egyetlen termék vagy alkatrész sem lehet teljesen biztonságos.
A költségek és az eredmények változhatnak.
© Intel Corporation. Az Intel, az Intel logó és más Intel védjegyek az Intel Corporation vagy leányvállalatai védjegyei. Más nevek és márkák mások tulajdonát képezhetik.
Termék- és teljesítményinformációk
A teljesítmény a használattól, a konfigurációtól és egyéb tényezőktől függően változik. További információ: www.Intel.com/PerformanceIndex.
Felülvizsgálati szám: 20201201
Ez a dokumentum nem ad engedélyt (kifejezetten vagy hallgatólagosan, megtagadással vagy más módon) semmilyen szellemi tulajdonjogra.
A leírt termékek tervezési hibákat vagy hibáknak nevezett hibákat tartalmazhatnak, amelyek miatt a termék eltérhet a közzétett specifikációktól. Az aktuális jellemző hibák kérésre rendelkezésre állnak.
Az Intel elhárít minden kifejezett és vélelmezett garanciát, beleértve korlátozás nélkül az eladhatóságra, az adott célra való alkalmasságra és a jogsértésekre vonatkozó hallgatólagos garanciákat, valamint a teljesítés menetéből, a kereskedés menetéből vagy a kereskedelmi felhasználásból eredő minden garanciát.
Dokumentumok / Források
![]() |
intel oneAPI Math Kernel Library [pdf] Felhasználói útmutató oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |