logo intel

intel oneAPI Math Kernel Library

intel-oneAPI-Math-Kernel-Library-product-image

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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *