intel oneAPI Math Kernel Library
Započnite sa Intel® oneAPI Math Kernel bibliotekom
Intel® oneAPI Math Kernel Library (oneMKL) pomaže vam da postignete maksimalne performanse sa bibliotekom matematičkog računarstva sa visoko optimizovanim, ekstenzivno paralelizovanim rutinama za CPU i GPU. Biblioteka ima C i Fortran interfejse za većinu rutina na CPU-u i DPC++ interfejse za neke rutine i na CPU-u i na 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)
- Vector math
- Direktni 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 napomenama o izdanju za poznate probleme i najažurnije informacije.
Za sistemske zahtjeve posjetite stranicu sa sistemskim zahtjevima biblioteke matematičkih kernela Intel® oneAPI.
Posetite Početak rada sa Intel® oneAPI DPC++/C++ kompajlerom za zahteve DPC++ kompajlera.
Korak 1: Instalirajte Intel® oneAPI Math Kernel biblioteku
Preuzmite Intel® oneAPI Math Kernel biblioteku iz Intel® oneAPI Base Toolkit-a.
Za Python distribucije, pogledajte Instaliranje Intel® distribucije za Python* i Intel® Performance Libraries sa pip i PyPI.
Za Python distribucije, imajte na umu sljedeće ograničenje:
OneMKL razvojni paket (mkl-devel) za PIP distribuciju na Linux* i macOS* ne pruža simbolične veze za dinamičke biblioteke (za više informacija pogledajte PIP GitHub izdanje #5919).
U slučaju dinamičkog ili jednostrukog dinamičkog povezivanja biblioteke sa oneMKL razvojnim paketom (za više informacija pogledajte OneMKL Link Line Advisor ) morate modifikovati liniju veze sa punim nazivima i verzijama oneMKL biblioteka.
Pogledajte Intel® oneAPI Math Kernel Library i pkg-config alat za informacije o kompajliranju i povezivanju sa alatom pkg-config.
oneMKL link line example s oneAPI Base Toolkit-om putem simboličnih 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 linija veze nprample sa PIP razvojnim paketom preko biblioteka punim nazivima i verzijama: 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 -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-a koja je najprikladnija za vaš problem. Koristite ove resurse:
Veza resursa: Sadržaj
OneMKL Vodič za programere za Linux*
OneMKL Vodič za programere za Windows*
OneMKL Vodič za programere za macOS*
Vodič za programere sadrži detaljne informacije o nekoliko tema uključujući:
- Kompiliranje i povezivanje aplikacija
- Izrada prilagođenih DLL-ova
- Threading
- Upravljanje memorijom
OneMKL Developer Reference – C
Language oneMKL Developer Reference – Fortran Language
OneMKL Developer Reference – DPC++ jezik
- Referenca za programere (u C, Fortran i DPC++ formatima) sadrži detaljne opise funkcija i interfejsa za sve domene biblioteke.
Intel® oneAPI Math Kernel Library Funkcija Savjetnik za pronalaženje
- Koristite LAPACK Function Finding Advisor da istražite LAPACK rutine koje su korisne za određeni problem. Za nprample, ako navedete operaciju kao:
- Tip rutine: Računarski
- Računski problem: Ortogonalna faktorizacija
- Tip matrice: General
- Operacija: Izvršite QR faktorizaciju
Korak 3: Povežite svoj kod
Koristite oneMKL Link Line Advisor da konfigurišete komandu veze u skladu sa karakteristikama vašeg programa.
Neka ograničenja i dodatni zahtjevi:
Intel® oneAPI Math Kernel Library za DPC++ podržava samo korišćenje biblioteke interfejsa mkl_intel_ilp64 i sekvencijalno ili TBB nit.
Za DPC++ sučelja sa statičkim povezivanjem na Linuxu
icpx -fsycl -fsycl-device-code-split=po_kernelu -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
Za nprample, izgradnja/statičko povezivanje main.cpp sa 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,–start-group ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,–krajnja grupa -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
Za nprample, izgradnja/dinamičko povezivanje main.cpp sa 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 -lOpenCLlt -lOpenCLlt
Za DPC++ interfejse sa statičkim povezivanjem na Windows-u
icpx -fsycl -fsycl-device-code-split=po_kernelu -DMKL_ILP64 “%MKLROOT%”\lib\intel64\mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
Za nprample, izgradnja/statičko povezivanje main.cpp sa 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 thlib_core.sybkl. .lib OpenCL.lib tbb.lib
Za DPC++ interfejse sa dinamičkim povezivanjem na Windows-u
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
Za nprample, izgradnja/dinamičko povezivanje main.cpp sa 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_dll.lib mkl_intel_ilp64_dll_dll.bkl_lib b tbb .lib sycl.lib OpenCL.lib
Za C/Fortran interfejse sa OpenMP Offload podrškom
Koristite interfejse C/Fotran Intel® oneAPI Math Kernel Library sa OpenMP funkcijom pretovara na GPU.
Pogledajte C OpenMP Offload Developer Guide za više detalja o ovoj funkciji.
Dodajte sljedeće promjene u C/Fortran oneMKL linije kompajliranja/povezivanja kako biste omogućili OpenMP offload funkciju na GPU:
- Dodatne opcije kompajliranja/vezivanja: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Dodatna biblioteka oneMKL: biblioteka oneMKL DPC++
Za nprample, izgradnja/dinamičko povezivanje main.cpp na Linuxu sa 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 Library Advisor.
Find More
Resurs: Opis
Vodič: Korištenje Intel® oneAPI Math Kernel biblioteke za množenje matrica:
- Vodič – C jezik
- Vodič – Fortran jezik
Ovaj vodič pokazuje kako možete koristiti oneMKL za množenje matrica, mjerenje performansi množenja matrice i kontrolu niti.
Intel® oneAPI Math Kernel Library (oneMKL) Napomene o izdanju kontrolišu niti.
Bilješke o izdanju sadrže informacije specifične za najnovije izdanje oneMKL-a uključujući nove i izmijenjene značajke. Bilješke o izdanju uključuju veze do glavnih online informacijskih resursa koji se odnose na izdanje. Također možete pronaći informacije o:
- Šta je novo u izdanju
- Sadržaj proizvoda
- Dobijanje tehničke podrške
- Definicije licence
Intel® oneAPI Math Kernel biblioteka
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 će vam pomoći u rješavanju različitih numeričkih problema, kao što su množenje matrica, rješavanje sistema jednačina i izvođenje Fourierove transformacije.
Napomene za vektorsku statistiku biblioteke matematičkog kernela Intel® oneAPI
Ovaj dokument uključuje prekoview, model upotrebe i rezultate testiranja generatora slučajnih brojeva uključenih u VS.
Intel® oneAPI Math Kernel Library Vektorska statistika Podaci o performansama generatora slučajnih brojeva
Podaci o performansama dobijeni korišćenjem vektorske statistike (VS) generatora slučajnih brojeva (RNG) uključujući CPE (satovi po elementu) jedinicu mere, osnovne generatore slučajnih brojeva (BRNG), generisane generatore distribucije i dužinu generisanih vektora.
Podaci o performansama i tačnosti vektorske matematičke biblioteke Intel® oneAPI Math Kernel
Vektorska matematika (VM) izračunava elementarne funkcije na vektorskim argumentima. VM uključuje skup visoko optimiziranih implementacija računski skupih osnovnih matematičkih funkcija (power, trigonometrijske, eksponencijalne, hiperboličke i druge) koje rade na vektorima.
Napomene o aplikaciji za zbirnu statistiku biblioteke matematičkog kernela Intel® oneAPI
Summary Statistics je podkomponenta domene vektorske statistike Intel® oneAPI Math Kernel biblioteke. Summary Statistics vam pruža funkcije za početnu statističku analizu i nudi rješenja za paralelnu obradu višedimenzionalnih skupova podataka.
LAPACK Examples
Ovaj dokument sadrži kod npramples za oneMKL LAPACK (Linear Algebra PACKage) rutine.
Obavještenja i odricanja od odgovornosti
Softver i radna opterećenja koja se koriste u testovima performansi možda su optimizovani za performanse samo na Intel mikroprocesorima. Testovi performansi, kao što su SYSmark i MobileMark, mjere se korištenjem specifičnih kompjuterskih sistema, komponenti, softvera, operacija i funkcija. Svaka promjena bilo kojeg od ovih faktora može uzrokovati da se rezultati razlikuju. Trebali biste konsultovati druge informacije i testove performansi kako bi vam pomogli u potpunoj procjeni vaših planiranih kupovina, uključujući performanse tog proizvoda u kombinaciji s drugim proizvodima. Za potpunije informacije posjetite www.intel.com/benchmarks.
Intelove tehnologije mogu zahtevati aktiviranje hardvera, softvera ili usluga.
Nijedan proizvod ili komponenta ne mogu biti apsolutno sigurni.
Vaši troškovi i rezultati mogu varirati.
© Intel Corporation. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Druga imena i robne marke mogu se smatrati vlasništvom drugih.
Informacije o proizvodu i performansama
Performanse variraju ovisno o upotrebi, konfiguraciji i drugim faktorima. Saznajte više na www.Intel.com/PerformanceIndex.
Obavještenje o reviziji #20201201
Ovim dokumentom ne daje se nikakva licenca (izričita ili implicirana, estoppelom ili na neki drugi način) za bilo koja prava intelektualne svojine.
Opisani proizvodi mogu sadržavati nedostatke u dizajnu ili greške poznate kao greške koje mogu uzrokovati da proizvod odstupi od objavljenih specifikacija. Trenutne karakterizirane greške dostupne su na zahtjev.
Intel se odriče svih izričitih i implicitnih garancija, uključujući, bez ograničenja, implicitne garancije za prodaju, prikladnost za određenu svrhu i nekršenje, kao i svaku garanciju koja proizilazi iz toka performansi, načina poslovanja ili upotrebe u trgovini.
Dokumenti / Resursi
![]() |
intel oneAPI Math Kernel Library [pdf] Korisnički priručnik oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |