Intel oneAPI Math Kernel Library
Komencu kun Intel® oneAPI Math Kernel Library
La Intel® oneAPI Math Kernel Library (oneMKL) helpas vin atingi maksimuman rendimenton kun matematika komputika biblioteko de tre optimumigitaj, vaste paraleligitaj rutinoj por CPU kaj GPU. La biblioteko havas C kaj Fortran-interfacojn por la plej multaj rutinoj sur CPU, kaj DPC++-interfacojn por kelkaj rutinoj sur kaj CPU kaj GPU. Vi povas trovi ampleksan subtenon por pluraj matematikaj operacioj en diversaj interfacoj inkluzive de:
Por C kaj Fortran sur CPU
- Lineara algebro
- Rapidaj Transformoj de Fourier (FFT)
- Vektora matematiko
- Rektaj kaj ripetaj malabundaj solviloj
- Generatoroj de hazardaj nombroj
Por DPC++ sur CPU kaj GPU (Referu al la Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference por pliaj detaloj.)
- Lineara algebro
- BLAS
- Elektita Maldensa BLAS-funkcio
- Elektita LAPACK-funkcio
- Rapidaj Transformoj de Fourier (FFT)
- 1D, 2D kaj 3D
- Generatoroj de hazardaj nombroj
- Elektita funkcio
- Elektita Vektora Matematika funkcio
Antaŭ ol Vi Komencu
Vizitu la paĝon pri Eldonaj Notoj por la Konataj Problemoj kaj plej ĝisdataj informoj.
Vizitu la paĝon pri sistemaj postuloj de la Intel® oneAPI Math Kernel Library por sistemaj postuloj.
Vizitu la Komencu kun la Kompililo Intel® oneAPI DPC++/C++ por DPC++ Kompililo.
Paŝo 1: Instalu Intel® oneAPI Math Kernel Library
Elŝutu Intel® oneAPI Math Kernel Library de la Intel® oneAPI Baza Ilaro.
Por Python-distribuoj, raportu al Instalado de la Intel® Distribuo por Python* kaj Intel® Performance Libraries kun pip kaj PyPI.
Por Python-distribuoj, notu la sekvan limigon:
La oneMKL devel-pakaĵo (mkl-devel) por PIP-distribuo en Linukso* kaj macOS* ne disponigas dinamikajn bibliotekojn simbolligojn (por pliaj informoj vidu PIP GitHub numero #5919).
En la kazo de dinamika aŭ ununura dinamika biblioteko ligo kun oneMKL devel-pakaĵo (por pliaj informoj vidu oneMKL Link Line Advisor ) vi devas modifi liglinion kun oneMKL-bibliotekoj plenaj nomoj kaj versioj.
Vidu al Intel® oneAPI Math Kernel Library kaj pkg-config ilo por informoj pri kompilado kaj ligado kun la pkg-config ilo.
unuMKL liglinio ekzample kun la OneAPI Baza Ilaro per simligoj:
- Linukso:
icc app.obj -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl - maŝinoj:
icc app.obj -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
-lm -ldl
La liglinio oneMKL ekzample kun PIP-devel-pakaĵo per bibliotekoj plenaj nomoj kaj versioj: Linukso:
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.l1 -lpliomp5 -lm -ldl - maŝinoj:
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
Paŝo 2: Elektu Funkcion aŭ Rutinon
Elektu funkcion aŭ rutinon el oneMKL, kiu plej taŭgas por via problemo. Uzu ĉi tiujn rimedojn:
Rimeda Ligo: Enhavo
oneMKL-Gvidilo por Programistoj por Linukso*
oneMKL-Gvidisto por Programistoj por Vindozo*
Gvidilo por programistoj oneMKL por macOS*
La Programisto-Gvidilo enhavas detalajn informojn pri pluraj temoj inkluzive de:
- Kompilado kaj ligado de aplikoj
- Konstruante kutimajn DLL-ojn
- Fadenigado
- Memoradministrado
Referenco por programistoj oneMKL - C
Lingvo oneMKL Programisto-Referenco - Fortran Lingvo
Referenco por programistoj oneMKL - DPC++ Lingvo
- La Ellaboranto-Referenco (en C, Fortran, kaj DPC++-formatoj) enhavas detalajn priskribojn de la funkcioj kaj interfacoj por ĉiuj bibliotekaj domajnoj.
Intel® oneAPI Math Kernel Library Function Find Advisor
- Uzu la LAPACK-Funkcion-Trova Konsiliston por esplori LAPACK-rutinojn, kiuj estas utilaj por aparta problemo. Por ekzample, se vi specifas operacion kiel:
- Rutina tipo: Komputila
- Komputila problemo: Orta faktorigo
- Matrico tipo: Ĝenerala
- Operacio: Faru QR-faktorigon
Paŝo 3: Ligu Vian Kodon
Uzu la OneMKL Link Line Advisor por agordi la ligan komandon laŭ viaj programaj funkcioj.
Kelkaj limigoj kaj kromaj postuloj:
Intel® oneAPI Math Kernel Library por DPC++ nur subtenas uzi la mkl_intel_ilp64 interfacbibliotekon kaj sinsekvan aŭ TBB-fadenadon.
Por DPC++-interfacoj kun senmova ligado sur Linukso
icpx -fsycl -fsycl-device-code-split=po_kerno -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
Por ekzample, konstruante/statike ligante main.cpp kun ilp64-interfacoj kaj TBB-fadenado:
icpx -fsycl -fsycl-device-code-split=po_kerno -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
Por DPC++-interfacoj kun dinamika ligo en Linukso
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Por ekzample, konstruante/dinamike ligante main.cpp kun ilp64-interfacoj kaj TBB-fadenado:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/inkluzivi main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lmkl_core -Oldlmlthclt
Por DPC++-interfacoj kun senmova ligo sur Vindozo
icpx -fsycl -fsycl-device-code-split=po_kerno -DMKL_ILP64 “%MKLROOT%”\lib\intel64\mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
Por ekzample, konstruante/statike ligante main.cpp kun ilp64-interfacoj kaj TBB-fadenado:
icpx -fsycl -fsycl-device-code-split=po_kerno -DMKL_ILP64 -I”%MKLROOT%\inkluzivi” main.cpp”%MKLROOT%”\lib\intel64\mkl_sycl.lib mkl_intel_ilpld64.lib_ilplcl_tlib.lib_mkl_cl_cpp. .lib OpenCL.lib tbb.lib
Por DPC++-interfacoj kun dinamika ligo en Vindozo
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
Por ekzample, konstruante/dinamike ligante main.cpp kun ilp64-interfacoj kaj TBB-fadenado:
icpx -fsycl -fsycl-device-code-split=po_kerno -DMKL_ILP64 -I”%MKLROOT%\inkluzivi” main.cpp “%MKLROOT%”\lib\intel64\mkl_sycl_dll.lib mkl_intel_intel_ilp64_dll_lpXNUMX_dll_lpXNUMX_dll lib tbb .lib sycl.lib OpenCL.lib
Por C/Fortran Interfacoj kun OpenMP-Elŝuta Subteno
Uzu la interfacojn de C/Fotran Intel® oneAPI Math Kernel Library kun OpenMP-elŝuta funkcio al la GPU.
Vidu la C OpenMP-Elŝuta Gvidilo por Programistoj por pliaj detaloj pri ĉi tiu funkcio.
Aldonu la sekvajn ŝanĝojn al la C/Fortran oneMKL kompilo/liga linioj por ebligi OpenMP-elŝuta funkcio al GPU:
- Pliaj kompili/ligaj opcioj: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Plia oneMKL-biblioteko: oneMKL DPC++-biblioteko
Por ekzample, konstruante/dinamike ligante main.cpp en Linukso kun ilp64-interfacoj kaj OpenMP-fadenado:
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
Por ĉiuj aliaj subtenataj agordoj, vidu Intel® oneAPI Math Kernel Library Link Line Advisor.
Trovu Pli
Rimedo: Priskribo
Lernilo: Uzante Intel® oneAPI Math Kernel Library por Matrica Multipliko:
- Lernilo – C Lingvo
- Lernilo – Fortran Lingvo
Ĉi tiu lernilo montras kiel vi povas uzi oneMKL por multobligi matricojn, mezuri la rendimenton de matrica multipliko kaj kontroli surfadenadon.
Intel® oneAPI Math Kernel Library (oneMKL) Eldonaj Notoj kontrolas fadenadon.
La eldonnotoj enhavas informojn specifajn por la plej nova eldono de oneMKL inkluzive de novaj kaj ŝanĝitaj funkcioj. La eldonnotoj inkluzivas ligilojn al ĉefaj interretaj informrimedoj rilataj al la eldono. Vi ankaŭ povas trovi informojn pri:
- Kio estas nova en la eldono
- Produkta enhavo
- Akiro de teknika subteno
- Licencaj difinoj
Biblioteko Intel® oneAPI Math Kernel
La produktpaĝo de la Intel® oneAPI Math Kernel Library (oneMKL). Vidu ĉi tiun paĝon por subteno kaj reta dokumentaro.
Kuirlibro de Intel® oneAPI Math Kernel Library
La Intel® oneAPI Math Kernel Library enhavas multajn rutinojn por helpi vin solvi diversajn nombrajn problemojn, kiel multobligi matricojn, solvi sistemon de ekvacioj kaj plenumi Fourier-transformon.
Notoj por Intel® oneAPI Math Kernel Library Vektora Statistiko
Ĉi tiu dokumento inkluzivas superview, uzmodelo kaj testrezultoj de hazardaj nombrogeneratoroj inkluditaj en VS.
Intel® oneAPI Math Kernel Library Vektoraj Statistikoj Random Number Generator Performance Data
Efikecdatenoj akiritaj per vektora statistiko (VS) hazarda nombrogeneratoro (RNG) inkluzive de CPE (horloĝoj per elemento) mezurunuo, bazaj hazardaj nombrogeneratoroj (BRNG), generitaj distribuogeneratoroj, kaj longo de generitaj vektoroj.
Intel® oneAPI Math Kernel Library Vektoraj Matematikaj Efikeco kaj Precizecaj Datumoj
Vektora Matematiko (VM) komputas elementajn funkciojn sur vektoraj argumentoj. VM inkludas aron de tre optimumigitaj efektivigoj de komputile multekostaj kernaj matematikaj funkcioj (potenco, trigonometria, eksponenta, hiperbola, kaj aliaj) kiuj funkciigas sur vektoroj.
Aplikaj Notoj por Intel® oneAPI Math Kernel Library Resumo-Statistiko
Resumaj Statistikoj estas subkomponento de la domajno de Vector Statistics de Intel® oneAPI Math Kernel Library. Resumaj Statistikoj provizas vin per funkcioj por komenca statistika analizo, kaj ofertas solvojn por paralela prilaborado de plurdimensiaj datumaroj.
LAPACK Ekzamples
Ĉi tiu dokumento disponigas kodon ekzamples por unuMKL LAPACK (Linear Algebra PACKage) rutinoj.
Avizoj kaj Malgarantioj
Programaro kaj laborkvantoj uzataj en agadotestoj eble estis optimumigitaj por efikeco nur sur Intel-mikroprocesoroj. Efikectestoj, kiel ekzemple SYSmark kaj MobileMark, estas mezuritaj uzante specifajn komputilsistemojn, komponentojn, softvaron, operaciojn kaj funkciojn. Ajna ŝanĝo al iu el tiuj faktoroj povas variigi la rezultojn. Vi devus konsulti aliajn informojn kaj agadotestojn por helpi vin en plene taksi viajn pripensitajn aĉetojn, inkluzive de la agado de tiu produkto kiam kombinite kun aliaj produktoj. Por pli kompletaj informoj vizitu www.intel.com/benchmarks.
Intel-teknologioj povas postuli ebligitan aparataron, programaron aŭ servan aktivigon.
Neniu produkto aŭ ero povas esti absolute sekuraj.
Viaj kostoj kaj rezultoj povas varii.
© Intel Corporation. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Aliaj nomoj kaj markoj povas esti postulitaj kiel posedaĵo de aliaj.
Informoj pri Produkto kaj Agado
Efikeco varias laŭ uzo, agordo kaj aliaj faktoroj. Lernu pli ĉe www.Intel.com/PerformanceIndex.
Rimarku revizion #20201201
Neniu licenco (esprima aŭ implicita, per malpermeso aŭ alie) al ajnaj intelektaj proprietrajtoj estas donita de ĉi tiu dokumento.
La priskribitaj produktoj povas enhavi dezajnodifektojn aŭ erarojn konatajn kiel eraroj, kiuj povas igi la produkton devii de publikigitaj specifoj. Nunaj karakterizitaj eratoj estas haveblaj laŭ peto.
Intel rifuzas ĉiujn eksplicitajn kaj implicitajn garantiojn, inkluzive sen limigo, la implicajn garantiojn de komercebleco, taŭgeco por aparta celo kaj ne-malobservo, same kiel ajnan garantion devenanta de kurso de agado, kurso de komercado aŭ uzado en komerco.
Dokumentoj/Rimedoj
![]() |
Intel oneAPI Math Kernel Library [pdf] Uzantogvidilo oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Biblioteko |