intel oneAPI Math Kernel Library
Kom aan die gang met Intel® oneAPI Math Kernel Library
Die Intel® oneAPI Math Kernel Library (oneMKL) help jou om maksimum werkverrigting te bereik met 'n wiskunde-rekenaarbiblioteek van hoogs geoptimaliseerde, omvattend parallelle roetines vir SVE en GPU. Die biblioteek het C- en Fortran-koppelvlakke vir die meeste roetines op SVE, en DPC++ koppelvlakke vir sommige roetines op beide SVE en GPU. U kan omvattende ondersteuning vind vir verskeie wiskunde-bewerkings in verskillende koppelvlakke, insluitend:
Vir C en Fortran op CPU
- Lineêre algebra
- Vinnige Fourier-transformasies (FFT)
- Vektor wiskunde
- Direkte en iteratiewe yl oplossers
- Willekeurige getalgenerators
Vir DPC++ op SVE en GPU (verwys na die Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference vir meer besonderhede.)
- Lineêre algebra
- BLAS
- Geselekteerde yl BLAS-funksionaliteit
- Geselekteerde LAPACK-funksie
- Vinnige Fourier-transformasies (FFT)
- 1D, 2D en 3D
- Willekeurige getalgenerators
- Geselekteerde funksionaliteit
- Geselekteerde Vector Math-funksionaliteit
Voor jy begin
Besoek die vrystellingsnotas-bladsy vir die bekende kwessies en mees onlangse inligting.
Besoek die Intel® oneAPI Math Kernel Library System Requirements-bladsy vir stelselvereistes.
Besoek die Begin met die Intel® oneAPI DPC++/C++-samesteller vir DPC++-samestellervereistes.
Stap 1: Installeer Intel® oneAPI Math Kernel Library
Laai Intel® oneAPI Math Kernel Library af vanaf die Intel® oneAPI Base Toolkit.
Vir Python-verspreidings, verwys na Installering van die Intel®-verspreiding vir Python* en Intel® Performance Libraries met pip en PyPI.
Let op die volgende beperking vir Python-verspreidings:
Die oneMKL-ontwikkelingspakket (mkl-devel) vir PIP-verspreiding op Linux* en macOS* verskaf nie dinamiese biblioteke-simskakels nie (vir meer inligting sien PIP GitHub-uitgawe #5919).
In die geval van dinamiese of enkel dinamiese biblioteekkoppeling met oneMKL-ontwikkelingspakket (vir meer inligting sien oneMKL Link Line Advisor) moet jy skakellyn met oneMKL biblioteke se volle name en weergawes verander.
Verwys na Intel® oneAPI Math Kernel Library en pkg-config-nutsding vir inligting oor die samestelling en koppeling met die pkg-config-nutsding.
oneMKL skakel lyn example met die oneAPI Base Toolkit via simlinks:
- 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
Die eenMKL-skakellyn bvample met PIP-ontwikkelingspakket via biblioteke se volle name en weergawes: 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
Stap 2: Kies 'n funksie of roetine
Kies 'n funksie of roetine van oneMKL wat die beste geskik is vir jou probleem. Gebruik hierdie hulpbronne:
Hulpbronskakel: Inhoud
oneMKL-ontwikkelaargids vir Linux*
oneMKL-ontwikkelaargids vir Windows*
oneMKL-ontwikkelaargids vir macOS*
Die ontwikkelaargids bevat gedetailleerde inligting oor verskeie onderwerpe, insluitend:
- Samestelling en koppeling van toepassings
- Bou pasgemaakte DLL's
- Ryg
- Geheuebestuur
oneMKL ontwikkelaarverwysing – C
Taal oneMKL Ontwikkelaarverwysing – Fortran Language
oneMKL Ontwikkelaarverwysing – DPC++ Taal
- Die Ontwikkelaarverwysing (in C-, Fortran- en DPC++-formate) bevat gedetailleerde beskrywings van die funksies en koppelvlakke vir alle biblioteekdomeine.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- Gebruik die LAPACK Function Finding Advisor om LAPACK-roetines te verken wat nuttig is vir 'n spesifieke probleem. Byvoorbeeldample, as jy 'n bewerking spesifiseer as:
- Roetine tipe: Rekenaar
- Berekeningsprobleem: Ortogonale faktorisering
- Matriks tipe: Algemeen
- Werking: Voer QR-faktorisering uit
Stap 3: Koppel jou kode
Gebruik die oneMKL Link Line Advisor om die skakelopdrag volgens jou programkenmerke op te stel.
Sommige beperkings en bykomende vereistes:
Intel® oneAPI Math Kernel Library vir DPC++ ondersteun slegs die gebruik van die mkl_intel_ilp64-koppelvlakbiblioteek en opeenvolgende of TBB-draad.
Vir DPC++ koppelvlakke met statiese koppeling op Linux
icpx -fsycl -fsycl-device-code-split=per_kern -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–begingroep ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/
libmkl_ .a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,–eindgroep -lsycl -lOpenCL -lpthread -ldl -lm
Byvoorbeeldample, bou/staties koppel van main.cpp met ilp64-koppelvlakke en TBB-draad:
icpx -fsycl -fsycl-device-code-split=per_kern -DMKL_ILP64 -I${MKLROOT}/insluit hoof.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–begin-groep ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,–eindgroep -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl
Vir DPC++ koppelvlakke met dinamiese koppeling op Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_kern -lsycl -lOpenCL -lpthread -ldl -lm
Byvoorbeeldample, bou/dinamies koppel van main.cpp met ilp64-koppelvlakke en TBB-draad:
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 -ltbb -lpthread -ld
Vir DPC++ koppelvlakke met statiese koppeling op Windows
icpx -fsycl -fsycl-device-code-split=per_kern -DMKL_ILP64 “%MKLROOT%”\lib\intel64\mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
Byvoorbeeldample, bou/staties koppel van main.cpp met ilp64-koppelvlakke en TBB-draad:
icpx -fsycl -fsycl-device-code-split=per_kern -DMKL_ILP64 -I”%MKLROOT%\include” main.cpp”%MKLROOT%”\lib\intel64\mkl_sycl.lib mkl_intel_ilp64.lib mkl_tbb_core.lib mkl_tbb_core.lib .lib OpenCL.lib tbb.lib
Vir DPC++-koppelvlakke met dinamiese koppeling op 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
Byvoorbeeldample, bou/dinamies koppel van main.cpp met ilp64-koppelvlakke en TBB-draad:
icpx -fsycl -fsycl-device-code-split=per_kern -DMKL_ILP64 -I"%MKLROOT%\include" main.cpp "%MKLROOT%"\lib\intel64\mkl_sycl_dll.lib mkl_intel_ilp64_dll.lib mkl_dll_tbb_lib.kl_kern .lib sycl.lib OpenCL.lib
Vir C/Fortran-koppelvlakke met OpenMP-aflaaiondersteuning
Gebruik die C/Fotran Intel® oneAPI Math Kernel Library-koppelvlakke met OpenMP-aflaaifunksie na die GPU.
Sien die C OpenMP Offload-ontwikkelaargids vir meer besonderhede oor hierdie kenmerk.
Voeg die volgende veranderinge by die C/Fortran oneMKL-samestelling/skakellyne om OpenMP-aflaaifunksie na GPU te aktiveer:
- Bykomende samestelling/skakelopsies: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Bykomende eenMKL-biblioteek: eenMKL DPC++-biblioteek
Byvoorbeeldample, bou/dinamies koppel main.cpp op Linux met ilp64-koppelvlakke en OpenMP threading:
icx -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl -DMKL_ILP64 -m64 -I$(MKLROOT)/insluit hoof.cpp L${MKLROOT}/lib/intel64 - lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lsycl -lOpenCL -lstdc++ -lpthread -lm -ldl
Vir alle ander ondersteunde konfigurasies, sien Intel® oneAPI Math Kernel Library Link Line Advisor.
Vind meer
Hulpbron: Beskrywing
Tutoriaal: Gebruik Intel® oneAPI Math Kernel Library vir Matrix Vermenigvuldiging:
- Tutoriaal – C Taal
- Tutoriaal – Fortran-taal
Hierdie tutoriaal demonstreer hoe jy oneMKL kan gebruik om matrikse te vermenigvuldig, die prestasie van matriksvermenigvuldiging te meet, en draading te beheer.
Intel® oneAPI Math Kernel Library (oneMKL) Vrystellingsnotas beheer threading.
Die vrystellingnotas bevat inligting spesifiek vir die jongste vrystelling van oneMKL, insluitend nuwe en veranderde kenmerke. Die vrystellingnotas bevat skakels na die belangrikste aanlyn inligtingsbronne wat met die vrystelling verband hou. Jy kan ook inligting vind oor:
- Wat is nuut in die vrystelling
- Produk inhoud
- Verkryging van tegniese ondersteuning
- Lisensie definisies
Intel® oneAPI Math Kernel Library
Die Intel® oneAPI Math Kernel Library (oneMKL) produkbladsy. Sien hierdie bladsy vir ondersteuning en aanlyn dokumentasie.
Intel® oneAPI Math Kernel Library Kookboek
Die Intel® oneAPI Math Kernel Library bevat baie roetines om jou te help om verskeie numeriese probleme op te los, soos om matrikse te vermenigvuldig, 'n stelsel vergelykings op te los en 'n Fourier-transformasie uit te voer.
Notas vir Intel® oneAPI Math Kernel Library Vector Statistics
Hierdie dokument sluit 'n oorview, 'n gebruiksmodel en toetsresultate van ewekansige getalgenerators wat in VS ingesluit is.
Intel® oneAPI Math Kernel Library Vector Statistics Willekeurige getalgenerator Prestasiedata
Prestasiedata verkry deur gebruik te maak van vektorstatistiek (VS) ewekansige getalgenerator (RNG) insluitend CPE (horlosies per element) maateenheid, basiese ewekansige getalgenerators (BRNG), gegenereerde verspreidingsgenerators en lengte van gegenereerde vektore.
Intel® oneAPI Math Kernel Library Vector Mathematics Prestasie en Akkuraatheid Data
Vector Mathematics (VM) bereken elementêre funksies op vektorargumente. VM sluit 'n stel hoogs geoptimaliseerde implementerings van rekenaarmatig duur wiskundige kernfunksies (drywing, trigonometriese, eksponensiële, hiperboliese en ander) in wat op vektore werk.
Toepassingsnotas vir Intel® oneAPI Math Kernel Library Opsommingstatistieke
Opsomming Statistiek is 'n subkomponent van die Vector Statistics-domein van Intel® oneAPI Math Kernel Library. Opsomming Statistiek bied jou funksies vir aanvanklike statistiese ontleding, en bied oplossings vir parallelle verwerking van multi-dimensionele datastelle.
LAPACK Examples
Hierdie dokument verskaf kode bvamples vir oneMKL LAPACK (Lineêre Algebra PACKage) roetines.
Kennisgewings en vrywarings
Sagteware en werkladings wat in prestasietoetse gebruik word, is dalk net vir werkverrigting op Intel-mikroverwerkers geoptimaliseer. Prestasietoetse, soos SYSmark en MobileMark, word gemeet deur spesifieke rekenaarstelsels, komponente, sagteware, bedrywighede en funksies te gebruik. Enige verandering aan enige van daardie faktore kan veroorsaak dat die resultate verskil. Jy moet ander inligting en prestasietoetse raadpleeg om jou te help om jou beoogde aankope volledig te evalueer, insluitend die prestasie van daardie produk wanneer dit met ander produkte gekombineer word. Vir meer volledige inligting besoek www.intel.com/benchmarks.
Intel-tegnologieë kan moontlik geaktiveerde hardeware, sagteware of diens benodig.
Geen produk of komponent kan absoluut veilig wees nie.
Jou koste en resultate kan verskil.
© Intel Corporation. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Ander name en handelsmerke kan as die eiendom van ander geëis word.
Produk- en prestasie-inligting
Werkverrigting wissel volgens gebruik, konfigurasie en ander faktore. Kom meer te wete by www.Intel.com/PerformanceIndex.
Kennisgewing hersiening #20201201
Geen lisensie (uitdruklik of geïmpliseer, deur estoppel of andersins) tot enige intellektuele eiendomsregte word deur hierdie dokument toegestaan nie.
Die produkte wat beskryf word, kan ontwerpfoute of foute bevat wat bekend staan as errata wat kan veroorsaak dat die produk van gepubliseerde spesifikasies afwyk. Huidige gekarakteriseerde errata is op aanvraag beskikbaar.
Intel verwerp alle uitdruklike en geïmpliseerde waarborge, insluitend sonder beperking, die geïmpliseerde waarborge van verhandelbaarheid, geskiktheid vir 'n spesifieke doel, en nie-skending, sowel as enige waarborg wat voortspruit uit die verloop van prestasie, verloop van transaksies of gebruik in handel.
Dokumente / Hulpbronne
![]() |
intel oneAPI Math Kernel Library [pdf] Gebruikersgids oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |