intel oneAPI Math Kernel Library
Kom i gang med Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library (oneMKL) hjelper deg med å oppnå maksimal ytelse med et matematisk databibliotek med svært optimaliserte, omfattende parallelliserte rutiner for CPU og GPU. Biblioteket har C- og Fortran-grensesnitt for de fleste rutiner på CPU, og DPC++-grensesnitt for enkelte rutiner på både CPU og GPU. Du kan finne omfattende støtte for flere matematiske operasjoner i ulike grensesnitt, inkludert:
For C og Fortran på CPU
- Lineær algebra
- Fast Fourier Transforms (FFT)
- Vektor matematikk
- Direkte og iterative sparsomme løsere
- Tilfeldige tallgeneratorer
For DPC++ på CPU og GPU (Se Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference for flere detaljer.)
- Lineær algebra
- BLAS
- Valgt sparsom BLAS-funksjonalitet
- Valgt LAPACK-funksjonalitet
- Fast Fourier Transforms (FFT)
- 1D, 2D og 3D
- Tilfeldige tallgeneratorer
- Valgt funksjonalitet
- Valgt Vector Math-funksjonalitet
Før du begynner
Gå til versjonsmerknader-siden for kjente problemer og mest oppdatert informasjon.
Besøk siden Intel® oneAPI Math Kernel Library System Requirements for systemkrav.
Besøk Kom i gang med Intel® oneAPI DPC++/C++-kompilatoren for DPC++-kompilatorkrav.
Trinn 1: Installer Intel® oneAPI Math Kernel Library
Last ned Intel® oneAPI Math Kernel Library fra Intel® oneAPI Base Toolkit.
For Python-distribusjoner, se Installere Intel®-distribusjonen for Python* og Intel® Performance Libraries med pip og PyPI.
For Python-distribusjoner, legg merke til følgende begrensning:
OneMKL devel-pakken (mkl-devel) for PIP-distribusjon på Linux* og macOS* gir ikke dynamiske bibliotekssymlinker (for mer informasjon se PIP GitHub-nummer 5919).
I tilfelle av dynamisk eller enkelt dynamisk bibliotekkobling med oneMKL-utviklingspakke (for mer informasjon se oneMKL Link Line Advisor) må du endre koblingslinjen med oneMKL-bibliotekets fulle navn og versjoner.
Se Intel® oneAPI Math Kernel Library og pkg-config-verktøyet for informasjon om kompilering og kobling med pkg-config-verktøyet.
oneMKL lenkelinje eksample med oneAPI Base Toolkit via symbolkoblinger:
- 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
OneMKL-lenkelinjen eksample med PIP-utviklingspakke via bibliotekenes fulle navn og versjoner: 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
Trinn 2: Velg en funksjon eller rutine
Velg en funksjon eller rutine fra oneMKL som passer best for ditt problem. Bruk disse ressursene:
Ressurslenke: Innhold
oneMKL utviklerveiledning for Linux*
oneMKL utviklerveiledning for Windows*
oneMKL utviklerveiledning for macOS*
Utviklerveiledningen inneholder detaljert informasjon om flere emner, inkludert:
- Kompilere og koble sammen applikasjoner
- Bygge tilpassede DLL-er
- Tråding
- Minnehåndtering
oneMKL utviklerreferanse – C
Språk oneMKL utviklerreferanse – Fortran Language
oneMKL utviklerreferanse – DPC++-språk
- Utviklerreferansen (i C-, Fortran- og DPC++-formater) inneholder detaljerte beskrivelser av funksjonene og grensesnittene for alle biblioteksdomener.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- Bruk LAPACK Function Finding Advisor for å utforske LAPACK-rutiner som er nyttige for et bestemt problem. For eksample, hvis du angir en operasjon som:
- Rutinetype: Computational
- Beregningsproblem: Ortogonal faktorisering
- Matrisetype: Generelt
- Operasjon: Utfør QR-faktorisering
Trinn 3: Koble til koden din
Bruk oneMKL Link Line Advisor for å konfigurere koblingskommandoen i henhold til programfunksjonene dine.
Noen begrensninger og tilleggskrav:
Intel® oneAPI Math Kernel Library for DPC++ støtter kun bruk av mkl_intel_ilp64-grensesnittbiblioteket og sekvensiell eller TBB-tråding.
For DPC++-grensesnitt med statisk kobling på Linux
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–startgruppe ${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
For eksample, bygger/statisk kobling av main.cpp med ilp64-grensesnitt og TBB-tråding:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–start-gruppe ${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
For DPC++-grensesnitt med dynamisk kobling på Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
For eksample, bygge/dynamisk koble main.cpp med ilp64-grensesnitt og TBB-tråding:
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
For DPC++-grensesnitt med statisk kobling på 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
For eksample, bygger/statisk kobling av main.cpp med ilp64-grensesnitt og TBB-tråding:
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_tbb_core.lib mkl_tbb_core.lib mkl .lib OpenCL.lib tbb.lib
For DPC++-grensesnitt med dynamisk kobling på 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
For eksample, bygge/dynamisk koble main.cpp med ilp64-grensesnitt og TBB-tråding:
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.lib mkl_dlltbb_lib.kl_core.dll .lib sycl.lib OpenCL.lib
For C/Fortran-grensesnitt med OpenMP Offload-støtte
Bruk C/Fotran Intel® oneAPI Math Kernel Library-grensesnitt med OpenMP-avlastingsfunksjon til GPU.
Se C OpenMP Offload Developer Guide for mer informasjon om denne funksjonen.
Legg til følgende endringer i C/Fortran oneMKL kompilerings-/koblingslinjene for å aktivere OpenMP-avlastningsfunksjonen til GPU:
- Ytterligere kompilerings-/koblingsalternativer: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Ytterligere oneMKL-bibliotek: oneMKL DPC++-bibliotek
For eksample, bygge/dynamisk koble main.cpp på Linux med ilp64-grensesnitt og OpenMP-tråding:
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
For alle andre støttede konfigurasjoner, se Intel® oneAPI Math Kernel Library Link Line Advisor.
Finn mer
Ressurs: Beskrivelse
Opplæring: Bruke Intel® oneAPI Math Kernel Library for Matrix Multiplication:
- Opplæring – C Language
- Opplæring – Fortran Language
Denne opplæringen viser hvordan du kan bruke oneMKL til å multiplisere matriser, måle ytelsen til matrisemultiplikasjon og kontrollere tråding.
Intel® oneAPI Math Kernel Library (oneMKL) Release Notes kontrollerer tråding.
Utgivelsesnotatene inneholder informasjon som er spesifikk for den siste utgivelsen av oneMKL, inkludert nye og endrede funksjoner. Utgivelsesnotatene inkluderer lenker til de viktigste online informasjonsressurser knyttet til utgivelsen. Du kan også finne informasjon om:
- Hva er nytt i utgivelsen
- Produktinnhold
- Få teknisk støtte
- Lisensdefinisjoner
Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library (oneMKL) produktsiden. Se denne siden for støtte og elektronisk dokumentasjon.
Intel® oneAPI Math Kernel Library Cookbook
Intel® oneAPI Math Kernel Library inneholder mange rutiner for å hjelpe deg med å løse ulike numeriske problemer, som å multiplisere matriser, løse et ligningssystem og utføre en Fourier-transformasjon.
Merknader for Intel® oneAPI Math Kernel Library Vector Statistics
Dette dokumentet inneholder en overview, en bruksmodell og testresultater av tilfeldige tallgeneratorer inkludert i VS.
Intel® oneAPI Math Kernel Library Vector Statistics Random Number Generator Ytelsesdata
Ytelsesdata innhentet ved bruk av vektorstatistikk (VS) tilfeldig tallgenerator (RNG) inkludert CPE (klokker per element) måleenhet, grunnleggende tilfeldig tallgeneratorer (BRNG), genererte distribusjonsgeneratorer og lengden på genererte vektorer.
Intel® oneAPI Math Kernel Library Vector Mathematics Ytelses- og nøyaktighetsdata
Vector Mathematics (VM) beregner elementære funksjoner på vektorargumenter. VM inkluderer et sett med svært optimaliserte implementeringer av beregningsmessig dyre matematiske kjernefunksjoner (kraft, trigonometriske, eksponentielle, hyperbolske og andre) som opererer på vektorer.
Application Notes for Intel® oneAPI Math Kernel Library Summary Statistics
Sammendragsstatistikk er en underkomponent av Vector Statistics-domenet til Intel® oneAPI Math Kernel Library. Sammendrag Statistikk gir deg funksjoner for innledende statistisk analyse, og tilbyr løsninger for parallell behandling av flerdimensjonale datasett.
LAPACK Eksamples
Dette dokumentet inneholder kode eksamples for oneMKL LAPACK (Linear Algebra PACKage) rutiner.
Merknader og ansvarsfraskrivelser
Programvare og arbeidsbelastninger brukt i ytelsestester kan ha blitt optimalisert for ytelse kun på Intel-mikroprosessorer. Ytelsestester, som SYSmark og MobileMark, måles ved hjelp av spesifikke datasystemer, komponenter, programvare, operasjoner og funksjoner. Enhver endring av noen av disse faktorene kan føre til at resultatene varierer. Du bør konsultere annen informasjon og ytelsestester for å hjelpe deg med å evaluere dine planlagte kjøp, inkludert ytelsen til det produktet når det kombineres med andre produkter. For mer fullstendig informasjon besøk www.intel.com/benchmarks.
Intel-teknologier kan kreve aktivert maskinvare-, programvare- eller tjenesteaktivering.
Ingen produkter eller komponenter kan være helt sikre.
Kostnadene og resultatene dine kan variere.
© Intel Corporation. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Andre navn og merker kan gjøres krav på som andres eiendom.
Produkt- og ytelsesinformasjon
Ytelsen varierer etter bruk, konfigurasjon og andre faktorer. Lær mer på www.Intel.com/PerformanceIndex.
Varsel revisjon #20201201
Ingen lisens (uttrykkelig eller underforstått, ved estoppel eller på annen måte) til noen immaterielle rettigheter er gitt av dette dokumentet.
Produktene som beskrives kan inneholde designfeil eller feil kjent som errata som kan føre til at produktet avviker fra publiserte spesifikasjoner. Gjeldende karakteriserte errata er tilgjengelig på forespørsel.
Intel fraskriver seg alle uttrykte og underforståtte garantier, inkludert, uten begrensning, underforståtte garantier for salgbarhet, egnethet for et bestemt formål og ikke-krenkelse, samt enhver garanti som oppstår fra ytelsesforløpet, handelsforløpet eller bruk i handelen.
Dokumenter / Ressurser
![]() |
intel oneAPI Math Kernel Library [pdfBrukerhåndbok oneAPI Math Kjernebibliotek, Math Kjernebibliotek, Kjernebibliotek, Bibliotek |