intel-logo

Biblioteca intel oneAPI Math Kernel

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

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

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *