Biblioteka e kernelit matematikor intel oneAPI
Filloni me Bibliotekën e Kernelit Math të Intel® OneAPI
Biblioteka e kernelit matematikor Intel® OneAPI (oneMKL) ju ndihmon të arrini performancën maksimale me një bibliotekë llogaritëse matematikore me rutina shumë të optimizuara dhe të paralelizuara gjerësisht për CPU dhe GPU. Biblioteka ka ndërfaqe C dhe Fortran për shumicën e rutinave në CPU dhe ndërfaqe DPC++ për disa rutina si në CPU ashtu edhe në GPU. Ju mund të gjeni mbështetje gjithëpërfshirëse për disa operacione matematikore në ndërfaqe të ndryshme duke përfshirë:
Për C dhe Fortran në CPU
- Algjebër lineare
- Transformimet e shpejta të Furierit (FFT)
- Matematikë vektoriale
- Zgjidhës të rrallë të drejtpërdrejtë dhe përsëritës
- Gjeneruesit e numrave të rastësishëm
Për DPC++ në CPU dhe GPU (Për më shumë detaje, referojuni bibliotekës së kernelit matematikor Intel® OneAPI—Referenca e zhvilluesit paralel të të dhënave C++.)
- Algjebër lineare
- BLAS
- Funksionaliteti i zgjedhur Sparse BLAS
- Funksionaliteti i zgjedhur LAPACK
- Transformimet e shpejta të Furierit (FFT)
- 1D, 2D dhe 3D
- Gjeneruesit e numrave të rastësishëm
- Funksionaliteti i zgjedhur
- Funksionaliteti i zgjedhur i matematikës vektoriale
Para se të Filloni
Vizitoni faqen e Shënimeve të Publikimit për Çështjet e Njohura dhe informacionin më të përditësuar.
Vizitoni faqen e Kërkesave të Sistemit të Bibliotekës së Kernelit Math Intel® OneAPI për kërkesat e sistemit.
Vizitoni Filloni me Përpiluesin Intel® OneAPI DPC++/C++ për kërkesat e përpiluesit DPC++.
Hapi 1: Instaloni Intel® OneAPI Math Kernel Library
Shkarkoni bibliotekën e kernelit të matematikës Intel® OneAPI nga Paketa bazë e veglave Intel® oneAPI.
Për shpërndarjet Python, referojuni Instalimi i shpërndarjes Intel® për bibliotekat e performancës Python* dhe Intel® me pip dhe PyPI.
Për shpërndarjet Python, vini re kufizimin e mëposhtëm:
Paketa e zhvillimit të oneMKL (mkl-devel) për shpërndarjen PIP në Linux* dhe macOS* nuk ofron lidhje simbolike të bibliotekave dinamike (për më shumë informacion, shih çështjen e PIP GitHub #5919).
Në rastin e lidhjes dinamike ose të vetme të bibliotekës dinamike me paketën e zhvillimit të OneMKL (për më shumë informacion shihni OneMKL Link Line Advisor ) ju duhet të modifikoni linjën e lidhjes me emrat dhe versionet e plota të bibliotekave të oneMKL.
Referojuni Intel® OneAPI Math Kernel Library dhe mjetit pkg-config për informacion rreth përpilimit dhe lidhjes me mjetin pkg-config.
Linja e lidhjes oneMKL p.shample me OneAPI Base Toolkit nëpërmjet lidhjeve simptome:
- 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
Linja e lidhjes oneMKL p.shample me paketën e zhvillimit PIP përmes bibliotekave emrat dhe versionet e plota: 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 -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
Hapi 2: Zgjidhni një funksion ose rutinë
Zgjidhni një funksion ose rutinë nga oneMKL që është më e përshtatshme për problemin tuaj. Përdorni këto burime:
Lidhja e burimit: Përmbajtja
Udhëzues zhvilluesi i oneMKL për Linux*
Udhëzuesi i zhvilluesit oneMKL për Windows*
Udhëzuesi i zhvilluesit oneMKL për macOS*
Udhëzuesi i Zhvilluesit përmban informacion të detajuar mbi disa tema, duke përfshirë:
- Kompilimi dhe lidhja e aplikacioneve
- Ndërtimi i DLL-ve me porosi
- Fije
- Menaxhimi i Kujtesës
Referenca e zhvilluesit oneMKL – C
Referenca e zhvilluesit të gjuhës oneMKL – Gjuha Fortran
Referenca e zhvilluesit oneMKL – Gjuha DPC++
- Referenca e Zhvilluesit (në formatet C, Fortran dhe DPC++) përmban përshkrime të hollësishme të funksioneve dhe ndërfaqeve për të gjitha domenet e bibliotekës.
Këshilltar për gjetjen e funksionit të bibliotekës së kernelit të matematikës Intel® OneAPI
- Përdorni Këshilltarin e Gjetjes së Funksionit LAPACK për të eksploruar rutinat LAPACK që janë të dobishme për një problem të caktuar. Për shembullample, nëse specifikoni një operacion si:
- Lloji i rutinës: Llogaritëse
- Problemi llogaritës: Faktorizimi ortogonal
- Lloji i matricës: i përgjithshëm
- Operacioni: Kryeni faktorizimin QR
Hapi 3: Lidhni kodin tuaj
Përdorni OneMKL Link Line Advisor për të konfiguruar komandën e lidhjes sipas veçorive të programit tuaj.
Disa kufizime dhe kërkesa shtesë:
Biblioteka e kernelit matematikor Intel® OneAPI për DPC++ mbështet vetëm përdorimin e bibliotekës së ndërfaqes mkl_intel_ilp64 dhe lidhjen vijuese ose TBB.
Për ndërfaqet DPC++ me lidhje statike në 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
Për shembullample, duke ndërtuar/lidhur statikisht main.cpp me ndërfaqet ilp64 dhe threading 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
Për ndërfaqet DPC++ me lidhje dinamike në Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Për shembullample, duke ndërtuar/lidhur në mënyrë dinamike main.cpp me ndërfaqet ilp64 dhe threading 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 -lOpenlplm-
Për ndërfaqet DPC++ me lidhje statike në 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
Për shembullample, duke ndërtuar/lidhur statikisht main.cpp me ndërfaqet ilp64 dhe threading 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_libad symcl_th. .lib OpenCL.lib tbb.lib
Për ndërfaqet DPC++ me lidhje dinamike në 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
Për shembullample, duke ndërtuar/lidhur në mënyrë dinamike main.cpp me ndërfaqet ilp64 dhe threading 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_dllbll_thklre. .lib sycl.lib OpenCL.lib
Për ndërfaqet C/Fortran me mbështetje OpenMP Offload
Përdorni ndërfaqet C/Fotran Intel® OneAPI Math Kernel Library me veçorinë e shkarkimit OpenMP në GPU.
Shikoni Udhëzuesin e Zhvilluesit të C OpenMP Offload për më shumë detaje rreth kësaj veçorie.
Shtoni ndryshimet e mëposhtme në linjat e përpilimit/lidhjes C/Fortran oneMKL për të aktivizuar veçorinë e shkarkimit të OpenMP në GPU:
- Opsione shtesë për përpilim/lidhje: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Bibliotekë shtesë oneMKL: bibliotekë oneMKL DPC++
Për shembullample, duke ndërtuar/lidhur në mënyrë dinamike main.cpp në Linux me ndërfaqe ilp64 dhe threading 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
Për të gjitha konfigurimet e tjera të mbështetura, shihni këshilltarin e linjës së lidhjes së bibliotekës së kernelit matematikor Intel® OneAPI.
Gjeni Më shumë
Burimi: Përshkrimi
Tutorial: Përdorimi i Bibliotekës së Kernelit Math të Intel® OneAPI për shumëzimin e matricës:
- Tutorial – Gjuha C
- Tutorial – Gjuha Fortran
Ky tutorial demonstron se si mund të përdorni oneMKL për të shumëzuar matricat, për të matur performancën e shumëzimit të matricës dhe për të kontrolluar filetimin.
Intel® OneAPI Math Kernel Library (oneMKL) Release Notes kontrollon fillesat.
Shënimet e lëshimit përmbajnë informacion specifik për versionin më të fundit të oneMKL, duke përfshirë veçori të reja dhe të ndryshuara. Shënimet e lëshimit përfshijnë lidhje me burimet kryesore të informacionit në internet në lidhje me lëshimin. Ju gjithashtu mund të gjeni informacione për:
- Çfarë ka të re në lëshim
- Përmbajtja e produktit
- Marrja e mbështetjes teknike
- Përkufizimet e licencës
Biblioteka e kernelit matematikor Intel® OneAPI
Faqja e produktit të Intel® OneAPI Math Kernel Library (oneMKL). Shikoni këtë faqe për mbështetje dhe dokumentacion online.
Libër gatimi i bibliotekës së kernelit matematikor Intel® OneAPI
Biblioteka e kernelit matematikor Intel® OneAPI përmban shumë rutina për t'ju ndihmuar të zgjidhni probleme të ndryshme numerike, të tilla si shumëzimi i matricave, zgjidhja e një sistemi ekuacionesh dhe kryerja e një transformimi Furier.
Shënime për Statistikat e Vektorit të Bibliotekës së Kernelit të Math Intel® OneAPI
Ky dokument përfshin një mbiview, një model përdorimi dhe rezultatet e testimit të gjeneratorëve të numrave të rastësishëm të përfshirë në VS.
Të dhënat e performancës së gjeneratorit të numrave të rastësishëm të statistikave të vektorit të bibliotekës së kernelit matematikor Intel® OneAPI
Të dhënat e performancës të marra duke përdorur statistikat vektoriale (VS) gjeneratorin e numrave të rastësishëm (RNG) duke përfshirë njësinë e matjes CPE (orë për element), gjeneratorët bazë të numrave të rastësishëm (BRNG), gjeneruesit e shpërndarjes së gjeneruar dhe gjatësinë e vektorëve të gjeneruar.
Intel® oneAPI Math Kernel Library Vektori i performancës dhe saktësisë së matematikës
Matematika vektoriale (VM) llogarit funksionet elementare në argumentet vektoriale. VM përfshin një grup implementimesh shumë të optimizuara të funksioneve thelbësore matematikore të shtrenjta llogaritëse (fuqia, trigonometrike, eksponenciale, hiperbolike dhe të tjera) që funksionojnë në vektorë.
Shënime të aplikacionit për Statistikat e Përmbledhjes së Bibliotekës së Kernelit Math Intel® OneAPI
Përmbledhja e Statistikave është një nënkomponent i domenit të Statistikave Vektoriale të Bibliotekës së Kernelit Math të Intel® OneAPI. Përmbledhja e Statistikave ju ofron funksione për analiza fillestare statistikore dhe ofron zgjidhje për përpunimin paralel të grupeve të të dhënave shumëdimensionale.
LAPACK Shembamples
Ky dokument ofron kodin p.shamples për rutinat e oneMKL LAPACK (Paketa e Algjebrës Lineare).
Njoftimet dhe mohimet
Softueri dhe ngarkesat e punës të përdorura në testet e performancës mund të jenë optimizuar për performancën vetëm në mikroprocesorët Intel. Testet e performancës, të tilla si SYSmark dhe MobileMark, maten duke përdorur sisteme kompjuterike, komponentë, softuer, operacione dhe funksione specifike. Çdo ndryshim në cilindo nga këta faktorë mund të bëjë që rezultatet të ndryshojnë. Ju duhet të konsultoheni me informacione të tjera dhe teste të performancës për t'ju ndihmuar në vlerësimin e plotë të blerjeve tuaja të planifikuara, duke përfshirë performancën e atij produkti kur kombinohet me produkte të tjera. Për informacion më të plotë vizitoni www.intel.com/benchmarks.
Teknologjitë Intel mund të kërkojnë aktivizimin e harduerit, softuerëve ose shërbimeve.
Asnjë produkt apo komponent nuk mund të jetë absolutisht i sigurt.
Kostot dhe rezultatet tuaja mund të ndryshojnë.
© Intel Corporation. Intel, logoja e Intel dhe markat e tjera Intel janë marka tregtare të Intel Corporation ose filialeve të saj. Emra dhe marka të tjera mund të pretendohen si pronë e të tjerëve.
Informacione për produktin dhe performancën
Performanca ndryshon nga përdorimi, konfigurimi dhe faktorë të tjerë. Mësoni më shumë në www.Intel.com/PerformanceIndex.
Rishikimi i njoftimit #20201201
Asnjë licencë (e shprehur ose e nënkuptuar, nga estoppel ose ndryshe) për asnjë të drejtë të pronësisë intelektuale nuk jepet nga ky dokument.
Produktet e përshkruara mund të përmbajnë defekte të dizajnit ose gabime të njohura si gabime të cilat mund të bëjnë që produkti të devijojë nga specifikimet e publikuara. Gabimet aktuale të karakterizuara janë në dispozicion sipas kërkesës.
Intel heq dorë nga të gjitha garancitë e shprehura dhe të nënkuptuara, duke përfshirë, pa kufizim, garancitë e nënkuptuara të tregtueshmërisë, përshtatshmërisë për një qëllim të caktuar dhe mos-shkeljes, si dhe çdo garanci që rrjedh nga rrjedha e performancës, kursi i marrëveshjes ose përdorimi në tregti.
Dokumentet / Burimet
![]() |
Biblioteka e kernelit matematikor intel oneAPI [pdfUdhëzuesi i përdoruesit Biblioteka e kernelit të matematikës oneAPI, Biblioteka e kernelit matematikor, Biblioteka e kernelit, biblioteka |