intel-logo

intel oneAPI Math Kernel Library

intel-oneAPI-Math-Kernel-Library-product-image

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

Reference

Ostavite komentar

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