intel-logo

intel oneAPI Math Kernel Library

intel-oneAPI-Math-Kernel-Library-slika-proizvoda

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

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *