intel oneAPI Math Kernel Library
Započnite s Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library (oneMKL) pomaže vam da postignete maksimalnu izvedbu s matematičkom računalnom bibliotekom visoko optimiziranih, opsežno paraleliziranih rutina za CPU i GPU. Knjižnica ima C i Fortran sučelja za većinu rutina na CPU-u i DPC++ sučelja za neke rutine na CPU-u i GPU-u. Možete pronaći sveobuhvatnu podršku za nekoliko matematičkih operacija u različitim sučeljima uključujući:
Za C i Fortran na CPU-u
- Linearna algebra
- Brze Fourierove transformacije (FFT)
- Vektorska matematika
- Izravni i iterativni rijetki rješavači
- Generatori slučajnih brojeva
Za DPC++ na CPU i GPU (pogledajte Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference za više detalja.)
- Linearna algebra
- BLAS
- Odabrana Sparse BLAS funkcionalnost
- Odabrana LAPACK funkcionalnost
- Brze Fourierove transformacije (FFT)
- 1D, 2D i 3D
- Generatori slučajnih brojeva
- Odabrana funkcionalnost
- Odabrana funkcija Vector Math
Prije nego počnete
Posjetite stranicu s bilješkama o izdanju za poznate probleme i najnovije informacije.
Posjetite stranicu sistemskih zahtjeva Intel® oneAPI Math Kernel Library za sistemske zahtjeve.
Posjetite Get Started with the Intel® oneAPI DPC++/C++ Compiler za zahtjeve DPC++ Compiler-a.
Korak 1: Instalirajte Intel® oneAPI Math Kernel Library
Preuzmite Intel® oneAPI Math Kernel Library iz Intel® oneAPI Base Toolkit.
Za distribucije Pythona pogledajte Instaliranje Intel® distribucije za Python* i Intel® Performance Libraries s pip i PyPI.
Za distribucije Pythona obratite pozornost na sljedeća ograničenja:
OneMKL devel paket (mkl-devel) za PIP distribuciju na Linuxu* i macOS-u* ne pruža simboličke veze dinamičkih biblioteka (za više informacija pogledajte PIP GitHub problem #5919).
U slučaju povezivanja dinamičke ili pojedinačne dinamičke biblioteke s oneMKL razvojnim paketom (za više informacija pogledajte oneMKL Link Line Advisor ) morate izmijeniti liniju veze s punim nazivima i verzijama biblioteka oneMKL.
Pogledajte Intel® oneAPI Math Kernel Library i pkg-config alat za informacije o kompajliranju i povezivanju s pkg-config alatom.
oneMKL poveznica prampdatoteku s oneAPI Base Toolkit putem simboličkih veza:
- 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 poveznica nprampdatoteka s PIP razvojnim paketom preko punih imena i verzija biblioteka: 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 -lpnit -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
Korak 2: Odaberite funkciju ili rutinu
Odaberite funkciju ili rutinu iz oneMKL koja je najprikladnija za vaš problem. Koristite ove resurse:
Link na resurs: Sadržaj
OneMKL Vodič za razvojne programere za Linux*
OneMKL Vodič za razvojne programere za Windows*
OneMKL Vodič za razvojne programere za macOS*
Vodič za razvojne programere sadrži detaljne informacije o nekoliko tema uključujući:
- Sastavljanje i povezivanje aplikacija
- Izrada prilagođenih DLL-ova
- Urezivanje niti
- Upravljanje memorijom
oneMKL Referenca programera – C
Jezik oneMKL Developer Reference – Fortran jezik
oneMKL Referenca za programere – DPC++ jezik
- Referenca za razvojne programere (u formatima C, Fortran i DPC++) sadrži detaljne opise funkcija i sučelja za sve domene knjižnica.
Intel® oneAPI Math Kernel Library Savjetnik za pronalaženje funkcija
- Koristite LAPACK Function Finding Advisor da istražite LAPACK rutine koje su korisne za određeni problem. Na primjerample, ako navedete operaciju kao:
- Vrsta rutine: Računalna
- Računalni problem: Ortogonalna faktorizacija
- Tip matrice: Općenito
- Operacija: Izvedite QR faktorizaciju
Korak 3: Povežite svoj kod
Upotrijebite oneMKL Link Line Advisor za konfiguriranje naredbe povezivanja prema značajkama vašeg programa.
Neka ograničenja i dodatni zahtjevi:
Intel® oneAPI Math Kernel Library za DPC++ podržava samo korištenje biblioteke sučelja mkl_intel_ilp64 i sekvencijalnog ili TBB niti.
Za DPC++ sučelja sa statičkim povezivanjem na Linuxu
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–početna-grupa ${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
Na primjerample, izgradnja/statičko povezivanje main.cpp s ilp64 sučeljima i TBB threadingom:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–početna-grupa ${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
Za DPC++ sučelja s dinamičkim povezivanjem na Linuxu
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Na primjerample, izgradnja/dinamičko povezivanje main.cpp s ilp64 sučeljima i TBB threadingom:
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 -ldl -lm
Za DPC++ sučelja sa statičkim povezivanjem u sustavu 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
Na primjerample, izgradnja/statičko povezivanje main.cpp s ilp64 sučeljima i TBB threadingom:
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_thread.lib mkl_core.lib sycl .lib OpenCL.lib tbb.lib
Za DPC++ sučelja s dinamičkim povezivanjem u sustavu 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
Na primjerample, izgradnja/dinamičko povezivanje main.cpp s ilp64 sučeljima i TBB threadingom:
icpx -fsycl -fsycl -device -code -split = PER_KERNEL -DMKL_ILP64 -I ”%MKlroot%\ Uključuje“ Main.cpp „%MKlroot%“ \ lib \ Intel64 \ MKL_LYCL. _core_dll.lib tbb .lib sycl.lib OpenCL.lib
Za C/Fortran sučelja s OpenMP Offload podrškom
Koristite sučelja C/Fotran Intel® oneAPI Math Kernel Library sa značajkom OpenMP prijenosa na GPU.
Za više pojedinosti o ovoj značajci pogledajte C OpenMP Offload Developer Guide.
Dodajte sljedeće promjene u C/Fortran oneMKL retke za kompilaciju/povezivanje kako biste omogućili OpenMP značajku pretovara na GPU:
- Dodatne opcije kompajliranja/povezivanja: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Dodatna biblioteka oneMKL: biblioteka oneMKL DPC++
Na primjerample, izgradnja/dinamičko povezivanje main.cpp na Linuxu s ilp64 sučeljima i OpenMP threadingom:
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
Za sve ostale podržane konfiguracije pogledajte Intel® oneAPI Math Kernel Library Link Line Advisor.
Pronađite više
Izvor: Opis
Vodič: Korištenje Intel® oneAPI Math Kernel Library za matrično množenje:
- Vodič – jezik C
- Vodič – jezik Fortran
Ovaj vodič pokazuje kako možete koristiti oneMKL za množenje matrica, mjerenje performansi množenja matrica i kontrolu niti.
Napomene o izdanju Intel® oneAPI Math Kernel Library (oneMKL) kontroliraju niti.
Napomene o izdanju sadrže informacije specifične za najnovije izdanje oneMKL uključujući nove i promijenjene značajke. Bilješke o izdanju uključuju poveznice na glavne mrežne izvore informacija koji se odnose na izdanje. Također možete pronaći informacije o:
- Što je novo u izdanju
- Sadržaj proizvoda
- Dobivanje tehničke podrške
- Definicije licenci
Intel® oneAPI Math Kernel Library
Stranica proizvoda Intel® oneAPI Math Kernel Library (oneMKL). Pogledajte ovu stranicu za podršku i online dokumentaciju.
Intel® oneAPI Math Kernel Library Cookbook
Intel® oneAPI Math Kernel Library sadrži mnoge rutine koje vam pomažu u rješavanju raznih numeričkih problema, poput množenja matrica, rješavanja sustava jednadžbi i izvođenja Fourierove transformacije.
Bilješke za Intel® oneAPI Math Kernel Library Vector Statistics
Ovaj dokument uključuje overview, model korištenja i rezultate testiranja generatora slučajnih brojeva uključenih u VS.
Podaci o izvedbi generatora slučajnih brojeva Intel® oneAPI Math Kernel Library Vektorska statistika
Podaci o izvedbi dobiveni korištenjem vektorske statistike (VS) generatora slučajnih brojeva (RNG) uključujući jedinicu mjere CPE (taktovi po elementu), osnovne generatore slučajnih brojeva (BRNG), generatore generirane distribucije i duljinu generiranih vektora.
Intel® oneAPI Math Kernel Library Vektorska matematička izvedba i podaci o točnosti
Vektorska matematika (VM) izračunava elementarne funkcije na vektorskim argumentima. VM uključuje skup visoko optimiziranih implementacija računalno skupih osnovnih matematičkih funkcija (potencije, trigonometrijske, eksponencijalne, hiperboličke i druge) koje rade na vektorima.
Bilješke o aplikaciji za Intel® oneAPI Math Kernel Library Summary Statistics
Summary Statistics je podkomponenta domene vektorske statistike Intel® oneAPI Math Kernel Library. Summary Statistics pruža vam funkcije za početnu statističku analizu i nudi rješenja za paralelnu obradu višedimenzionalnih skupova podataka.
LAPACK Examples
Ovaj dokument daje kod exampdatoteke za oneMKL LAPACK (Linear Algebra PACKage) rutine.
Obavijesti i odricanje od odgovornosti
Softver i radna opterećenja korištena u testovima performansi možda su optimizirani za performanse samo na Intelovim mikroprocesorima. Testovi performansi, kao što su SYSmark i MobileMark, mjere se korištenjem specifičnih računalnih sustava, komponenti, softvera, operacija i funkcija. Svaka promjena bilo kojeg od tih čimbenika može uzrokovati različite rezultate. Trebali biste konzultirati druge informacije i testove performansi koji će vam pomoći u potpunoj procjeni vaših planiranih kupnji, uključujući performanse tog proizvoda u kombinaciji s drugim proizvodima. Za potpunije informacije posjetite www.intel.com/benchmarks.
Intelove tehnologije mogu zahtijevati omogućen hardver, softver ili uslugu aktiviranja.
Nijedan proizvod ili komponenta ne može biti apsolutno siguran.
Vaši troškovi i rezultati mogu varirati.
© Intel Corporation. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Ostala imena i marke mogu se smatrati vlasništvom drugih.
Informacije o proizvodu i izvedbi
Performanse se razlikuju ovisno o uporabi, konfiguraciji i drugim čimbenicima. Saznajte više na www.Intel.com/PerformanceIndex.
Revizija obavijesti #20201201
Ovaj dokument ne daje nikakvu licencu (izričitu ili prešutnu, estoppelom ili na neki drugi način) za bilo koja prava intelektualnog vlasništva.
Opisani proizvodi mogu sadržavati nedostatke u dizajnu ili pogreške poznate kao errata koje mogu uzrokovati odstupanje proizvoda od objavljenih specifikacija. Trenutačne karakterizirane pogreške dostupne su na zahtjev.
Intel se odriče svih izričitih i implicitnih jamstava, uključujući, bez ograničenja, implicitna jamstva o utrživosti, prikladnosti za određenu svrhu i nekršenju, kao i bilo koje jamstvo koje proizlazi iz izvedbe, tijeka poslovanja ili uporabe u trgovini.
Dokumenti / Resursi
![]() |
intel oneAPI Math Kernel Library [pdf] Korisnički priručnik oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |