intel oneAPI Math Kernel Library
Začněte s Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library (oneMKL) vám pomáhá dosáhnout maximálního výkonu s matematickou výpočetní knihovnou vysoce optimalizovaných, široce paralelizovaných rutin pro CPU a GPU. Knihovna má rozhraní C a Fortran pro většinu rutin na CPU a rozhraní DPC++ pro některé rutiny na CPU i GPU. Můžete najít komplexní podporu pro několik matematických operací v různých rozhraních, včetně:
Pro C a Fortran na CPU
- Lineární algebra
- Rychlé Fourierovy transformace (FFT)
- Vektorová matematika
- Přímé a iterativní řídké řešiče
- Generátory náhodných čísel
Pro DPC++ na CPU a GPU (Další podrobnosti naleznete v knihovně Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference.)
- Lineární algebra
- BLAS
- Vybraná funkce Sparse BLAS
- Vybraná funkce LAPACK
- Rychlé Fourierovy transformace (FFT)
- 1D, 2D a 3D
- Generátory náhodných čísel
- Vybraná funkce
- Vybraná funkce Vector Math
Než začnete
Navštivte stránku s poznámkami k vydání, kde najdete známé problémy a nejaktuálnější informace.
Systémové požadavky najdete na stránce Intel® oneAPI Math Kernel Library System Requirements.
Požadavky na kompilátor DPC++ naleznete na stránce Začínáme s kompilátorem Intel® oneAPI DPC++/C++.
Krok 1: Nainstalujte Intel® oneAPI Math Kernel Library
Stáhněte si Intel® oneAPI Math Kernel Library z Intel® oneAPI Base Toolkit.
Distribuce Pythonu najdete v části Instalace distribuce Intel® Distribution for Python* a Intel® Performance Libraries s pip a PyPI.
U distribucí Pythonu mějte na paměti následující omezení:
Vývojářský balíček oneMKL (mkl-devel) pro distribuci PIP v systémech Linux* a macOS* neposkytuje symbolické odkazy dynamických knihoven (další informace viz číslo PIP GitHub č. 5919).
V případě propojení dynamických nebo jednoduchých dynamických knihoven s vývojovým balíčkem oneMKL (další informace viz oneMKL Link Line Advisor ) musíte upravit linkový řádek s úplnými názvy a verzemi knihoven oneMKL.
Informace o kompilaci a propojení s nástrojem pkg-config najdete v Intel® oneAPI Math Kernel Library a nástroji pkg-config.
linka oneMKL example pomocí sady oneAPI Base Toolkit prostřednictvím symbolických odkazů:
- 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 example s vývojovým balíčkem PIP prostřednictvím knihoven plná jména a verze: 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 funkci nebo rutinu
Vyberte funkci nebo rutinu z oneMKL, která se nejlépe hodí pro váš problém. Použijte tyto zdroje:
Odkaz na zdroj: Obsah
OneMKL Developer Guide pro Linux*
OneMKL Developer Guide pro Windows*
OneMKL Developer Guide pro macOS*
Příručka pro vývojáře obsahuje podrobné informace o několika tématech, včetně:
- Kompilace a propojení aplikací
- Vytváření vlastních knihoven DLL
- Navlékání závitů
- Správa paměti
OneMKL Developer Reference – C
Jazyk oneMKL Developer Reference – Fortran Language
OneMKL Developer Reference – Jazyk DPC++
- Referenční příručka pro vývojáře (ve formátech C, Fortran a DPC++) obsahuje podrobné popisy funkcí a rozhraní pro všechny domény knihoven.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- Pomocí nástroje LAPACK Function Finding Advisor můžete prozkoumat rutiny LAPACK, které jsou užitečné pro konkrétní problém. Napřample, pokud zadáte operaci jako:
- Typ rutiny: Výpočetní
- Výpočtový problém: Ortogonální faktorizace
- Typ matice: Obecná
- Operace: Proveďte faktorizaci QR
Krok 3: Propojte svůj kód
Ke konfiguraci příkazu propojení podle funkcí vašeho programu použijte nástroj oneMKL Link Line Advisor.
Některá omezení a další požadavky:
Intel® oneAPI Math Kernel Library pro DPC++ podporuje pouze použití knihovny rozhraní mkl_intel_ilp64 a sekvenční nebo TBB vlákno.
Pro rozhraní DPC++ se statickým propojením v systému 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
Napřample, vytváření/statické propojení main.cpp s rozhraními ilp64 a TBB threading:
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
Pro rozhraní DPC++ s dynamickým propojováním v systému Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Napřample, vytváří/dynamicky propojuje main.cpp s rozhraními ilp64 a TBB threading:
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
Pro rozhraní DPC++ se statickým propojením v systému 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
Napřample, vytváření/statické propojení main.cpp s rozhraními ilp64 a TBB threading:
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_th .lib OpenCL.lib tbb.lib
Pro rozhraní DPC++ s dynamickým propojováním ve 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
Napřample, vytváří/dynamicky propojuje main.cpp s rozhraními ilp64 a TBB threading:
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_threadmlib.dll .lib sycl.lib OpenCL.lib
Pro rozhraní C/Fortran s podporou OpenMP Offload
Použijte rozhraní C/Fotran Intel® oneAPI Math Kernel Library s funkcí OpenMP offload na GPU.
Další podrobnosti o této funkci najdete v C OpenMP Offload Developer Guide.
Přidejte následující změny do řádků kompilace/propojení C/Fortran oneMKL, abyste povolili funkci OpenMP offload na GPU:
- Další možnosti kompilace/odkazu: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Další knihovna oneMKL: knihovna oneMKL DPC++
Napřample, vytváří/dynamicky propojuje main.cpp na Linuxu s rozhraními ilp64 a OpenMP threading:
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
Pro všechny ostatní podporované konfigurace viz Intel® oneAPI Math Kernel Library Link Line Advisor.
Najít další
Zdroj: Popis
Kurz: Použití matematické knihovny jádra Intel® oneAPI pro násobení matic:
- Tutoriál – jazyk C
- Tutoriál – jazyk Fortran
Tento kurz ukazuje, jak můžete použít oneMKL k násobení matic, měření výkonu násobení matic a řízení vláken.
Poznámky k vydání Intel® oneAPI Math Kernel Library (oneMKL) řídí vytváření vláken.
Poznámky k verzi obsahují informace specifické pro nejnovější verzi oneMKL včetně nových a změněných funkcí. Poznámky k verzi obsahují odkazy na hlavní online informační zdroje související s vydáním. Můžete také najít informace na:
- Co je nového ve vydání
- Obsah produktu
- Získání technické podpory
- Definice licencí
Intel® oneAPI Math Kernel Library
Stránka produktu Intel® oneAPI Math Kernel Library (oneMKL). Na této stránce najdete podporu a online dokumentaci.
Intel® oneAPI Math Kernel Library Cookbook
Intel® oneAPI Math Kernel Library obsahuje mnoho rutin, které vám pomohou řešit různé numerické problémy, jako je násobení matic, řešení soustavy rovnic a provádění Fourierovy transformace.
Poznámky pro Intel® oneAPI Math Kernel Library Vector Statistics
Tento dokument obsahuje overview, model použití a výsledky testování generátorů náhodných čísel obsažených ve VS.
Intel® oneAPI Math Kernel Library Vektorová statistika Výkon generátoru náhodných čísel
Údaje o výkonu získané pomocí vektorové statistiky (VS) generátoru náhodných čísel (RNG) včetně měrné jednotky CPE (hodiny na prvek), základních generátorů náhodných čísel (BRNG), generovaných distribučních generátorů a délky generovaných vektorů.
Intel® oneAPI Math Kernel Library Výkon vektorové matematiky a přesnost dat
Vector Mathematics (VM) počítá elementární funkce na vektorových argumentech. VM obsahuje sadu vysoce optimalizovaných implementací výpočetně drahých základních matematických funkcí (výkonové, trigonometrické, exponenciální, hyperbolické a další), které pracují s vektory.
Aplikační poznámky pro Intel® oneAPI Math Kernel Library souhrnné statistiky
Souhrn Statistika je podsoučástí domény Vector Statistics knihovny Intel® oneAPI Math Kernel Library. Souhrnná statistika vám poskytuje funkce pro počáteční statistickou analýzu a nabízí řešení pro paralelní zpracování vícerozměrných datových sad.
LAPACK Přamples
Tento dokument obsahuje kód exampsoubory pro rutiny oneMKL LAPACK (PACKage lineární algebry).
Upozornění a vyloučení odpovědnosti
Software a pracovní zátěže použité při testech výkonu mohly být optimalizovány pro výkon pouze na mikroprocesorech Intel. Výkonnostní testy, jako jsou SYSmark a MobileMark, se měří pomocí specifických počítačových systémů, komponent, softwaru, operací a funkcí. Jakákoli změna kteréhokoli z těchto faktorů může způsobit, že se výsledky budou lišit. Měli byste si prostudovat další informace a testy výkonu, které vám pomohou plně vyhodnotit zamýšlené nákupy, včetně výkonu daného produktu v kombinaci s jinými produkty. Pro více úplných informací navštivte www.intel.com/benchmarks.
Technologie Intel mohou vyžadovat aktivaci aktivovaného hardwaru, softwaru nebo služby.
Žádný produkt nebo součást nemůže být absolutně zabezpečená.
Vaše náklady a výsledky se mohou lišit.
© Intel Corporation. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
Informace o produktu a výkonu
Výkon se liší podle použití, konfigurace a dalších faktorů. Více se dozvíte na www.Intel.com/PerformanceIndex.
Revize upozornění č. 20201201
Tímto dokumentem není udělena žádná licence (výslovná nebo předpokládaná, estoppel nebo jinak) k právům duševního vlastnictví.
Popisované produkty mohou obsahovat konstrukční vady nebo chyby známé jako errata, které mohou způsobit odchylku produktu od publikovaných specifikací. Aktuální charakterizované chyby jsou k dispozici na vyžádání.
Intel se zříká všech výslovných a předpokládaných záruk, včetně, bez omezení, předpokládaných záruk obchodovatelnosti, vhodnosti pro určitý účel a neporušení práv, jakož i jakékoli záruky vyplývající z průběhu výkonu, průběhu obchodování nebo použití v obchodě.
Dokumenty / zdroje
![]() |
intel oneAPI Math Kernel Library [pdfUživatelská příručka OneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |