intel oneAPI Math Kernel Library
Začnite s Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library (oneMKL) vám pomáha dosiahnuť maximálny výkon s knižnicou matematických výpočtov s vysoko optimalizovanými, značne paralelizovanými rutinami pre CPU a GPU. Knižnica má rozhrania C a Fortran pre väčšinu rutín na CPU a rozhrania DPC++ pre niektoré rutiny na CPU aj GPU. Môžete nájsť komplexnú podporu pre niekoľko matematických operácií v rôznych rozhraniach vrátane:
Pre C a Fortran na CPU
- Lineárna algebra
- Rýchle Fourierove transformácie (FFT)
- Vektorová matematika
- Priame a iteratívne riedke riešiče
- Generátory náhodných čísel
Pre DPC++ na CPU a GPU (Ďalšie podrobnosti nájdete v knižnici Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference.)
- Lineárna algebra
- BLAS
- Vybraná funkcia Sparse BLAS
- Vybraná funkcia LAPACK
- Rýchle Fourierove transformácie (FFT)
- 1D, 2D a 3D
- Generátory náhodných čísel
- Vybraná funkčnosť
- Vybraná funkcia Vector Math
Skôr než začnete
Navštívte stránku s poznámkami k vydaniu, kde nájdete známe problémy a najaktuálnejšie informácie.
Systémové požiadavky nájdete na stránke Intel® oneAPI Math Kernel Library System Requirements.
Požiadavky kompilátora DPC++ nájdete v časti Začíname s kompilátorom Intel® oneAPI DPC++/C++.
Krok 1: Nainštalujte Intel® oneAPI Math Kernel Library
Stiahnite si Intel® oneAPI Math Kernel Library z Intel® oneAPI Base Toolkit.
Distribúcie Pythonu nájdete v časti Inštalácia distribúcie Intel® pre knižnice Python* a Intel® Performance Libraries s pip a PyPI.
V prípade distribúcií Pythonu si všimnite nasledujúce obmedzenie:
Vývojársky balík oneMKL (mkl-devel) pre distribúciu PIP v systémoch Linux* a macOS* neposkytuje symbolické odkazy na dynamické knižnice (ďalšie informácie nájdete v čísle PIP GitHub č. 5919).
V prípade prepojenia dynamickej alebo jedinej dynamickej knižnice s vývojovým balíkom oneMKL (viac informácií nájdete v OneMKL Link Line Advisor ) musíte upraviť linku prepojenia s úplnými názvami a verziami knižníc oneMKL.
Informácie o kompilácii a prepojení s nástrojom pkg-config nájdete v Intel® oneAPI Math Kernel Library a nástroji pkg-config.
linka oneMKL naprample pomocou súpravy oneAPI Base Toolkit prostredníctvom symbolických odkazov:
- 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
Linka oneMKL naprample s vývojovým balíkom PIP cez knižnice plné názvy a verzie: 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 -liomp5 -lpthread -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
Krok 2: Vyberte funkciu alebo rutinu
Vyberte funkciu alebo rutinu z jedného MKL, ktorá je najvhodnejšia pre váš problém. Použite tieto zdroje:
Odkaz na zdroj: Obsah
OneMKL Developer Guide pre Linux*
OneMKL Developer Guide pre Windows*
OneMKL Developer Guide pre macOS*
Príručka pre vývojárov obsahuje podrobné informácie o niekoľkých témach vrátane:
- Kompilácia a prepojenie aplikácií
- Vytváranie vlastných knižníc DLL
- Navliekanie závitov
- Správa pamäte
OneMKL Developer Reference – C
Jazyk oneMKL Developer Reference – Fortran Language
OneMKL Developer Reference – DPC++ Language
- Referencia pre vývojárov (vo formátoch C, Fortran a DPC++) obsahuje podrobné popisy funkcií a rozhraní pre všetky domény knižníc.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- Pomocou nástroja LAPACK Function Finding Advisor môžete preskúmať rutiny LAPACK, ktoré sú užitočné pre konkrétny problém. Naprample, ak zadáte operáciu ako:
- Typ rutiny: Výpočtový
- Výpočtový problém: Ortogonálna faktorizácia
- Typ matice: Všeobecná
- Operácia: Vykonajte faktorizáciu QR
Krok 3: Prepojte svoj kód
Pomocou nástroja oneMKL Link Line Advisor nakonfigurujte príkaz prepojenia podľa funkcií vášho programu.
Niektoré obmedzenia a dodatočné požiadavky:
Intel® oneAPI Math Kernel Library pre DPC++ podporuje iba používanie knižnice rozhrania mkl_intel_ilp64 a sekvenčné alebo TBB vlákna.
Pre rozhrania DPC++ so statickým prepojením v systéme Linux
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
Napríkladample, vytváranie/statické prepojenie main.cpp s rozhraniami ilp64 a vláknom TBB:
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
Pre rozhrania DPC++ s dynamickým prepojením v systéme Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Napríkladample, vytvára/dynamicky spája main.cpp s rozhraniami ilp64 a vláknami TBB:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lOpenCL -lt
Pre rozhrania DPC++ so statickým prepojením v systéme Windows
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
Napríkladample, vytváranie/statické prepojenie main.cpp s rozhraniami ilp64 a vláknom TBB:
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.core_tlib.lib_th .lib OpenCL.lib tbb.lib
Pre rozhrania DPC++ s dynamickým prepojením v systéme Windows
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
Napríkladample, vytvára/dynamicky spája main.cpp s rozhraniami ilp64 a vláknami TBB:
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.bbcore_dll_threadmkllib_dll .lib sycl.lib OpenCL.lib
Pre C/Fortran rozhrania s podporou OpenMP Offload
Použite rozhrania C/Fotran Intel® oneAPI Math Kernel Library s funkciou OpenMP offload na GPU.
Viac podrobností o tejto funkcii nájdete v C OpenMP Offload Developer Guide.
Pridajte nasledujúce zmeny do riadkov kompilácie/prepojenia C/Fortran oneMKL, aby ste povolili funkciu OpenMP offload na GPU:
- Ďalšie možnosti kompilácie/prepojenia: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Dodatočná knižnica oneMKL: knižnica oneMKL DPC++
Napríkladampsúbor, ktorý vytvára/dynamicky spája main.cpp v systéme Linux s rozhraniami ilp64 a vláknami OpenMP:
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
Pre všetky ostatné podporované konfigurácie si pozrite Intel® oneAPI Math Kernel Library Link Line Advisor.
Nájsť viac
Zdroj: Popis
Návod: Používanie knižnice matematického jadra Intel® oneAPI na násobenie matice:
- Návod – Jazyk C
- Návod – jazyk Fortran
Tento tutoriál ukazuje, ako môžete použiť oneMKL na násobenie matíc, meranie výkonu násobenia matíc a riadenie vlákien.
Poznámky k vydaniu Intel® oneAPI Math Kernel Library (oneMKL) riadia vlákna.
Poznámky k vydaniu obsahujú informácie špecifické pre najnovšie vydanie oneMKL vrátane nových a zmenených funkcií. Poznámky k vydaniu obsahujú odkazy na hlavné online informačné zdroje súvisiace s vydaním. Informácie môžete nájsť aj na:
- Čo je nové vo vydaní
- Obsah produktu
- Získanie technickej podpory
- Definície licencií
Intel® oneAPI Math Kernel Library
Produktová stránka Intel® oneAPI Math Kernel Library (oneMKL). Na tejto stránke nájdete podporu a online dokumentáciu.
Intel® oneAPI Math Kernel Library Cookbook
Intel® oneAPI Math Kernel Library obsahuje mnoho rutín, ktoré vám pomôžu vyriešiť rôzne numerické problémy, ako je násobenie matíc, riešenie systému rovníc a vykonávanie Fourierovej transformácie.
Poznámky pre štatistiku vektorovej knižnice matematického jadra Intel® oneAPI
Tento dokument obsahuje overview, model používania a výsledky testovania generátorov náhodných čísel zahrnutých vo VS.
Intel® oneAPI Math Kernel Library Vector Statistics Generátor náhodných čísel Výkonové údaje
Údaje o výkonnosti získané pomocou vektorovej štatistiky (VS) generátora náhodných čísel (RNG) vrátane mernej jednotky CPE (hodiny na prvok), základných generátorov náhodných čísel (BRNG), generovaných distribučných generátorov a dĺžky generovaných vektorov.
Intel® oneAPI Math Kernel Library Výkon a presnosť údajov vektorovej matematiky
Vector Mathematics (VM) počíta elementárne funkcie na vektorových argumentoch. VM obsahuje sadu vysoko optimalizovaných implementácií výpočtovo nákladných základných matematických funkcií (výkon, trigonometrické, exponenciálne, hyperbolické a iné), ktoré fungujú na vektoroch.
Aplikačné poznámky pre Intel® oneAPI Math Kernel Library Summary Statistics
Summary Statistics je podzložkou domény Vector Statistics knižnice Intel® oneAPI Math Kernel Library. Súhrnná štatistika vám poskytuje funkcie pre počiatočnú štatistickú analýzu a ponúka riešenia pre paralelné spracovanie viacrozmerných súborov údajov.
LAPACK Pramples
Tento dokument obsahuje kód naprampsúbory pre rutiny oneMKL LAPACK (PACKage lineárnej algebry).
Oznámenia a vylúčenia zodpovednosti
Softvér a pracovné zaťaženie použité pri testoch výkonu mohli byť optimalizované pre výkon iba na mikroprocesoroch Intel. Výkonnostné testy, ako sú SYSmark a MobileMark, sa merajú pomocou špecifických počítačových systémov, komponentov, softvéru, operácií a funkcií. Akákoľvek zmena ktoréhokoľvek z týchto faktorov môže spôsobiť, že sa výsledky budú líšiť. Mali by ste sa oboznámiť s ďalšími informáciami a testami výkonu, ktoré vám pomôžu pri úplnom vyhodnotení vašich zamýšľaných nákupov, vrátane výkonu daného produktu v kombinácii s inými produktmi. Pre podrobnejšie informácie navštívte www.intel.com/benchmarks.
Technológie Intel môžu vyžadovať aktiváciu hardvéru, softvéru alebo služby.
Žiadny produkt alebo komponent nemôže byť absolútne bezpečný.
Vaše náklady a výsledky sa môžu líšiť.
© Intel Corporation. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Iné názvy a značky môžu byť majetkom iných.
Informácie o produkte a výkone
Výkon sa líši podľa použitia, konfigurácie a ďalších faktorov. Viac sa dozviete na www.Intel.com/PerformanceIndex.
Revízia oznámenia č. 20201201
Týmto dokumentom nie je udelená žiadna licencia (výslovná alebo implicitná, prekážkou alebo inak) na akékoľvek práva duševného vlastníctva.
Popísané produkty môžu obsahovať konštrukčné chyby alebo chyby známe ako errata, ktoré môžu spôsobiť odchýlku produktu od publikovaných špecifikácií. Aktuálne charakterizované chyby sú k dispozícii na vyžiadanie.
Spoločnosť Intel sa zrieka všetkých výslovných a implicitných záruk, vrátane, bez obmedzenia, implicitných záruk predajnosti, vhodnosti na konkrétny účel a neporušenia, ako aj akejkoľvek záruky vyplývajúcej z priebehu výkonu, priebehu obchodovania alebo používania v obchode.
Dokumenty / zdroje
![]() |
intel oneAPI Math Kernel Library [pdf] Používateľská príručka OneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |