Biblioteca intel oneAPI Math Kernel
Cuminciate cù Intel® oneAPI Math Kernel Library
L'Intel® oneAPI Math Kernel Library (oneMKL) vi aiuta à ottene u massimu rendimentu cù una libreria di calculu matematicu di rutine altamente ottimizzate, largamente parallelizate per CPU è GPU. A biblioteca hà interfacce C è Fortran per a maiò parte di e rutine in CPU, è interfacce DPC++ per alcune rutine in CPU è GPU. Pudete truvà un supportu cumpletu per parechje operazioni matematiche in diverse interfacce cumprese:
Per C è Fortran nantu à CPU
- Algebra lineare
- Trasformate rapide di Fourier (FFT)
- Matematica vettoriale
- Risolutori sparsi diretti è iterativi
- Generatori di numeri casuali
Per DPC++ nantu à CPU è GPU (Consultate a Intel® oneAPI Math Kernel Library - Data Parallel C++ Developer Reference per più dettagli.)
- Algebra lineare
- BLAS
- Funzionalità BLAS sparse scelta
- Funzionalità LAPACK scelta
- Trasformate rapide di Fourier (FFT)
- 1D, 2D è 3D
- Generatori di numeri casuali
- Funzionalità selezziunata
- Funzionalità di matematica vettoriale selezziunata
Prima di principià
Visita a pagina di Note di rilascio per i Problemi cunnisciuti è l'infurmazioni più recenti.
Visita a pagina di i Requisiti di u Sistema di Biblioteca Intel® oneAPI Math Kernel per i requisiti di u sistema.
Visita l'Iniziatu cù u compilatore Intel® oneAPI DPC++/C++ per i requisiti di compilatore DPC++.
Passu 1: Installa Intel® oneAPI Math Kernel Library
Scaricate Intel® oneAPI Math Kernel Library da Intel® oneAPI Base Toolkit.
Per e distribuzioni Python, riferite à Installazione di a Distribuzione Intel® per Python* è Intel® Performance Libraries cù pip è PyPI.
Per e distribuzioni Python, nota a limitazione seguente:
U pacchettu di sviluppu oneMKL (mkl-devel) per a distribuzione PIP in Linux * è macOS * ùn furnisce micca ligami simbolichi di biblioteche dinamiche (per più infurmazione vede PIP GitHub issue #5919).
In u casu di ligame di biblioteca dinamica o unica dinamica cù u pacchettu di sviluppu oneMKL (per più infurmazione vede oneMKL Link Line Advisor ) duvete mudificà a linea di ligame cù i nomi è e versioni di e biblioteche oneMKL.
Fate riferimentu à Intel® oneAPI Math Kernel Library è pkg-config tool per infurmazione nantu à cumpilà è ligame cù l'utile pkg-config.
linea di ligame oneMKL example cù u Toolkit di Base oneAPI via ligami simbolichi:
- 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
A linea di ligame oneMKL example cù u pacchettu di sviluppu PIP via biblioteche nomi completi è versioni: 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 -lpliomp5 -lpliomp -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
Passu 2: Selezziunà una Funzione o Routine
Selezziunate una funzione o una rutina da oneMKL chì hè megliu adattatu per u vostru prublema. Aduprate queste risorse:
Link di risorsa: Cuntinutu
Guida per sviluppatori oneMKL per Linux*
Guida per sviluppatori oneMKL per Windows*
Guida per sviluppatori oneMKL per macOS *
A Guida per i Sviluppatori cuntene infurmazioni detallate nantu à parechji temi cumpresi:
- Cumpilà è ligà applicazioni
- Custruisce DLL persunalizati
- Threading
- Gestione di a memoria
Riferimentu per sviluppatori oneMKL - C
Language oneMKL Developer Reference - Lingua Fortran
Riferimentu per sviluppatori oneMKL - Lingua DPC++
- A Riferimentu di Sviluppatore (in formati C, Fortran è DPC++) cuntene descrizzioni dettagliate di e funzioni è interfacce per tutti i domini di a biblioteca.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- Aduprate u LAPACK Function Finding Advisor per esplorà e rutine LAPACK chì sò utili per un prublema particulare. Per esample, si specificate una operazione cum'è:
- Tipu di routine: Computational
- Prublemu di calculu: Factorizazione ortogonale
- Tipu di matrice: Generale
- Operazione: Eseguite a factorizazione QR
Passu 3: Link Your Code
Aduprate u OneMKL Link Line Advisor per cunfigurà u cumandamentu di ligame secondu e funzioni di u vostru prugramma.
Alcune limitazioni è esigenze supplementari:
A libreria Intel® oneAPI Math Kernel per DPC++ supporta solu l'usu di a libreria di l'interfaccia mkl_intel_ilp64 è u threading sequenziale o TBB.
Per interfacce DPC++ cù ligami statici in Linux
icpx -fsycl -fsycl-device-code-split=per_kernel -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
Per esample, custruendu / ligà staticamente main.cpp cù interfacce ilp64 è threading TBB:
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,–end-group -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl
Per interfacce DPC++ cù ligami dinamichi in Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Per esample, custruendu / ligami dinamicamente main.cpp cù interfacce ilp64 è threading TBB:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_tbb_thread -lmkl_core -bblldlthlply -Oldlplmly
Per interfacce DPC++ cù ligami statici in 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
Per esample, custruendu / ligà staticamente main.cpp cù interfacce ilp64 è threading TBB:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I"%MKLROOT%\include" main.cpp"%MKLROOT%"\lib\intel64\mkl_sycl.lib mkl_intel_ilpldcore.lib_ilpl_tlib.lib_mkl_clr. .lib OpenCL.lib tbb.lib
Per interfacce DPC++ cù ligami dinamichi in 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
Per esample, custruendu / ligami dinamicamente main.cpp cù interfacce ilp64 è threading TBB:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I"%MKLROOT%\include" main.cpp "%MKLROOT%"\lib\intel64\mkl_sycl_dll.lib mkl_intel_intel_dll.dll mkl_intel_dll_ilp64_lbthlibkrea_tl. bb .lib sycl.lib OpenCL.lib
Per C/Fortran Interfacce cù OpenMP Offload Support
Aduprate l'interfaccia C/Fotran Intel® oneAPI Math Kernel Library cù a funzione di scaricamentu OpenMP à a GPU.
Vede a C OpenMP Offload Developer Guide per più dettagli nantu à sta funzione.
Aghjunghjite e seguenti cambiamenti à e C / Fortran oneMKL compile / link lines per attivà a funzione di offload OpenMP à GPU:
- Opzioni supplementari di compilazione / link: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Libreria oneMKL addizionale: libreria oneMKL DPC++
Per esample, custruendu / ligà dinamicamente main.cpp in Linux cù interfacce ilp64 è threading OpenMP:
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
Per tutte l'altre cunfigurazioni supportate, vede Intel® oneAPI Math Kernel Library Link Line Advisor.
Truvate di più
Risorsa: Descrizzione
Tutorial: Utilizà Intel® oneAPI Math Kernel Library per a Multiplicazione di Matrici:
- Tutorial - Lingua C
- Tutorial - Lingua Fortran
Stu tutoriale mostra cumu pudete aduprà oneMKL per multiplicà e matrici, misurà u rendiment di a multiplicazione di a matrice, è cuntrullà i filamenti.
Intel® oneAPI Math Kernel Library (oneMKL) Release Notes cuntrolanu threading.
E note di liberazione cuntenenu infurmazioni specifiche à l'ultima versione di oneMKL cumprese funzioni novi è cambiate. E note di liberazione includenu ligami per i principali risorse d'infurmazioni in linea ligati à a liberazione. Pudete ancu truvà infurmazione nantu à:
- Ciò chì hè novu in a liberazione
- U cuntenutu di u produttu
- Uttenimentu di supportu tecnicu
- Definizioni di licenza
Biblioteca Intel® oneAPI Math Kernel
A pagina di produttu Intel® oneAPI Math Kernel Library (oneMKL). Vede sta pagina per supportu è documentazione in linea.
Libreria Intel® oneAPI Math Kernel Library Cookbook
A Biblioteca Intel® oneAPI Math Kernel cuntene parechje rutine per aiutà à risolve diversi prublemi numerichi, cum'è a multiplicazione di matrici, a risolve un sistema di equazioni è a realizazione di una trasformazione di Fourier.
Note per l'Intel® oneAPI Math Kernel Library Vector Statistics
Stu documentu include un overview, un mudellu d'usu è risultati di teste di generatori di numeri aleatorii inclusi in VS.
Intel® oneAPI Math Kernel Library Statistiche vettoriali Dati di rendiment di generatore di numeri aleatorii
Dati di prestazione ottenuti utilizendu u generatore di numeri aleatorii (RNG) di statistiche vettoriali (VS) cumprese l'unità di misura CPE (orologi per elementu), i generatori di numeri aleatorii di basa (BRNG), i generatori di distribuzione generati è a durata di i vettori generati.
Intel® oneAPI Math Kernel Library Vector Mathematics Performance and Accuracy Data
Vector Mathematics (VM) calcola funzioni elementari nantu à argumenti vettoriali. VM include un inseme di implementazioni altamente ottimisate di funzioni matematiche di base di calculu caru (potenza, trigonometria, esponenziale, iperbolica è altri) chì operanu nantu à i vettori.
Note d'applicazione per l'Intel® oneAPI Math Kernel Library Summary Statistics
Statistiche di riassuntu hè un subcomponente di u duminiu Vector Statistics di Intel® oneAPI Math Kernel Library. Summary Statistics vi furnisce funzioni per l'analisi statistica iniziale, è offre suluzioni per u trattamentu parallelu di datasets multidimensionali.
LAPACK Esamples
Stu documentu furnisce codice examples for oneMKL LAPACK (Linear Algebra PACKage) routines.
Avvisi è Disclaimers
U software è i carichi di travagliu utilizati in i testi di rendiment pò esse stati ottimizzati per u rendiment solu nantu à i microprocessori Intel. I testi di rendiment, cum'è SYSmark è MobileMark, sò misurati cù sistemi informatici specifichi, cumpunenti, software, operazioni è funzioni. Qualchese cambiamentu à qualsiasi di questi fattori pò causà i risultati per varià. Duvete cunsultà altre informazioni è teste di rendiment per aiutà vi à valutà cumplettamente e vostre compra contemplate, cumprese u rendiment di quellu pruduttu quandu cumminatu cù altri prudutti. Per più infurmazione cumpleta visita www.intel.com/benchmarks.
I tecnulugii Intel ponu necessità attivazione di hardware, software o serviziu.
Nisun pruduttu o cumpunente pò esse assolutamente sicuru.
I vostri costi è risultati pò varià.
© Intel Corporation. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.
Informazione di u produttu è di u rendiment
U rendiment varieghja per usu, cunfigurazione è altri fattori. Sapete più à www.Intel.com/PerformanceIndex.
Avvisu di rivisione #20201201
Nisuna licenza (espressa o implicita, per estoppel o altrimenti) à qualsiasi diritti di pruprietà intellettuale hè cuncessa da stu documentu.
I prudutti descritti ponu cuntene difetti di cuncepimentu o errori cunnisciuti cum'è errata chì ponu causà à u pruduttu di devià da e specificazioni publicate. L'errata carattarizatu attuale sò dispunibili nantu à dumanda.
Intel declina tutte e garanzie espresse è implicite, cumprese senza limitazione, e garanzie implicite di cummerciabilità, idoneità per un scopu particulari, è non-infrazione, è ancu qualsiasi guaranzia derivante da u cursu di prestazione, u cursu di trattu o l'usu in u cummerciu.
Documenti / Risorse
![]() |
Biblioteca intel oneAPI Math Kernel [pdfGuida di l'utente libreria di kernel di matematica oneAPI, biblioteca di kernel di matematica, biblioteca di kernel, biblioteca |