intel-logo

Intel oneAPI Math Kernel Library

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

Qalisa nge-Intel® oneAPI Math Kernel Library

Ithala leencwadi le-Intel® oneAPI Math Kernel (oneMKL) likunceda ukuba ufezekise ukusebenza okuphezulu ngethala leencwadi lekhompyutha lezibalo eziphuculwe kakhulu, ezinxusene kakhulu ze-CPU kunye ne-GPU. Ithala leencwadi linonxibelelwano lwe-C kunye ne-Fortran kwiindlela ezininzi ze-CPU, kunye ne-DPC++ ujongano lweendlela ezithile kuzo zombini i-CPU kunye ne-GPU. Unokufumana inkxaso ebanzi kwimisebenzi yezibalo kwiindlela ezahlukeneyo zojongano kubandakanya:

YeC kunye neFortran kwi-CPU

  • Umgca wealgebra
  • Utshintsho olukhawulezayo lweFourier (FFT)
  • Izibalo zeVector
  • Izisombululi ezithe ngqo neziphindaphindanayo
  • Random iinombolo generator

Nge-DPC++ kwi-CPU kunye ne-GPU (Jonga kwi-Intel® oneAPI yeThala leencwadi leMath Kernel—Data Parallel C++ Reference Reference for more details.)

  • Umgca wealgebra
    • BLAS
    • Ekhethiweyo yokusebenza kwe-Sparse BLAS
    • Umsebenzi okhethiweyo we-LAPACK
  • Utshintsho olukhawulezayo lweFourier (FFT)
    • 1D, 2D, kunye ne3D
  • Random iinombolo generator
    • Umsebenzi okhethiweyo
  • Umsebenzi okhethiweyo weVector Math

Ngaphambi kokuba Uqale
Ndwendwela iNqaku lokuKhupha iphepha leMiba eyaziwayo kunye nolona lwazi luhlaziyiweyo.
Ndwendwela iphepha leeMfuno zeNkqubo yeThala leeNcwadi leMathematika ye-Intel® oneAPI kwiimfuno zenkqubo.
Ndwendwela uQalisa nge-Intel® oneAPI DPC++/C++ Compiler ye-DPC++ Compiler iimfuno.

Inyathelo 1: Faka i-Intel® oneAPI Math Kernel Library
Khuphela ithala leencwadi le-Intel® oneAPI Math Kernel kwi-Intel® oneAPI Base Toolkit.
Ukuhanjiswa kwePython, bhekisa kuFakelo lwe-Intel® Distribution yePython* kunye ne-Intel® Performance Libraries ngepip kunye nePyPI.
Kusasazo lwePython, qaphela lo mda ulandelayo:
Iphakheji yokuphuhlisa i-oneMKL (mkl-devel) yonikezelo lwe-PIP kwi-Linux* kwaye i-macOS* ayiboneleli ngee-symlink zamathala eencwadi aguqukayo (ukufumana ulwazi oluthe kratya jonga umba wePIP GitHub #5919).
Kwimeko yethala leencwadi elitshintshayo okanye elinye elitshintshayo elinxibelelana neMKL enye yempahla yophuhliso (ukufumana ulwazi oluthe kratya jonga omnye MKL Umcebisi woQhagamshelwano lweMKL ) kufuneka ulungise umgca wekhonkco kunye namathala eencwadi enyeMKL amagama apheleleyo kunye neenguqulelo.
Jonga kwi-Intel® oneAPI Math Kernel Library kunye nesixhobo se-pkg-config ngolwazi malunga nokuqulunqa nokudibanisa nesixhobo se-pkg-config.
oneMKL umgca wekhonkco example nge oneAPI Base Toolkit nge symlinks:

  • Linux:
    icc app.obj -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl
  • iMacOS:
    icc app.obj -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
    -lm -ldl
    Umgca wekhonkco we-oneMKL example ngePIP yophuhliso lwephakheji ngamathala eencwadi amagama apheleleyo kunye neenguqulelo: Linux:
    icc app.obj ${MKLROOT}/lib/intel64/libmkl_intel_lp64.so.1 ${MKLROOT}/lib/intel64/libmkl_intel_thread.so.1 ${MKLROOT}/lib/intel64/libmkl_liomp1.so. -lm -ldl
  • iMacOS:
    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

Inyathelo lesi-2: Khetha iFunction okanye iNdlela
Khetha umsebenzi okanye inkqubo kwi-oneMKL eyilungele ingxaki yakho. Sebenzisa ezi zixhobo:

Ikhonkco leZixhobo: Imixholo

Isikhokelo soPhuhlisi seMKL seLinux*
Isikhokelo soPhuhlisi se-oneMKL seWindows*
Isikhokelo soPhuhlisi se-oneMKL se-macOS*

ISikhokelo soPhuhlisi sinolwazi oluneenkcukacha kwizihloko ezininzi eziquka:

  • Ukuqulunqa nokudibanisa izicelo
  • Ukwakha iiDLL zesiko
  • Umsonto
  • Ulawulo lweMemori

Isalathiso soMphuhlisi oneMKL-C
Ulwimi lokuqala lweMKL Isalathiso soMphuhlisi-uLwimi lweFortran
Isalathiso soMphuhlisi oneMKL-DPC++ uLwimi

  • Isalathiso soMphuhlisi (kwi-C, Fortran, kunye neefomathi ze-DPC++) iqulethe iinkcazo ezineenkcukacha zemisebenzi kunye nojongano kuzo zonke iindawo zamathala eencwadi.

I-Intel® oneAPI yeMath Kernel uMcebisi wokuFumana iThala leencwadi leThala leeNcwadi

  • Sebenzisa uMcebisi wokuFumana umsebenzi we-LAPACK ukujonga iindlela ze-LAPACK eziluncedo kwingxaki ethile. Umzekeloample, ukuba ukhankanya umsebenzi njenge:
    • Uhlobo lwesiqhelo: Ukubala
    • Ingxaki yokubala: I-Orthogonal factorization
    • Uhlobo lweMatrix: Ngokubanzi
    • Ukusebenza: Yenza i-QR factorization

Inyathelo 3: Nxulumanisa iKhowudi yakho
Sebenzisa iMKL Umcebisi woQhagamshelwano omnye ukuze uqwalasele umyalelo wekhonkco ngokweempawu zenkqubo yakho.
Eminye imida kunye neemfuno ezongezelelweyo:
Ithala leencwadi le-Intel® oneAPI Math Kernel le-DPC++ lixhasa kuphela ukusebenzisa ithala leencwadi lojongano lwe-mkl_intel_ilp64 kunye nokulandelelana okanye ukuthunga kwe-TBB.

YeDPC++ ujongano olunonxibelelwano olungatshintshiyo kwiLinux
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–qalisa-iqela ${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
Umzekeloample, ukwakha/ukudibanisa ngokusisigxina main.cpp nge-ilp64 ujongano kunye nokuthunga i-TBB:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/bandakanya main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–qalisa-iqela ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,-isiphelo-iqela -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl

YeDPC++ ujongano olunonxibelelwano oluguquguqukayo kwiLinux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Umzekeloample, ukwakha/ukudibanisa ngokuguquguqukayo okungundoqo.cpp nge-ilp64 ujongano kunye nomsonto we-TBB:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -llpthlmread -llpthread

YeDPC++ ujongano olunonxibelelwano olungatshintshiyo kwiWindows
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
Umzekeloample, ukwakha/ukudibanisa ngokusisigxina main.cpp nge-ilp64 ujongano kunye nokuthunga i-TBB:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I”%MKLROOT%\include” main.cpp”%MKLROOT%”\lib\intel64\mkl_sycl.lib mkl_intel_ilp64.liblclcread_core. .lib OpenCL.lib tbb.lib

YeDPC++ ujongano olunonxibelelwano oluguquguqukayo kwiWindows
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
Umzekeloample, ukwakha/ukudibanisa ngokuguquguqukayo okungundoqo.cpp nge-ilp64 ujongano kunye nomsonto we-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_iltbbl_ilp64_mlkl_read_dll. dll.lib tbb .lib sycl.lib OpenCL.lib

Kwi-C/Fortran Interfaces ene-OpenMP Offload Support
Sebenzisa iC/Fotran Intel® oneAPI Math Kernel Library ujongano nojongano lweOpenMP yokukhuphela kwiGPU.
Jonga i-C OpenMP yeSikhokelo soPhuhlisi soPhuhliswa ngeenkcukacha ezithe vetshe malunga neli nqaku.
Yongeza olu tshintsho lulandelayo kwi-C/Fortran oneMKL yokuqokelela/imigca yekhonkco ukwenza i-OpenMP ikhuphe inqaku kwi-GPU:

  • Iinketho ezongezelelweyo zokuqokelela / ikhonkco: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
  • Ilayibrari enye yeMKL eyongezelelweyo: ilayibrari enyeMKL DPC++

Umzekeloample, ukwakha/ ukudibanisa ngokunamandla main.cpp kwiLinux ene-ilp64 ujongano kunye nokuthunga kwe-OpenMP:
icx -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl -DMKL_ILP64 -m64 -I$(MKLROOT)/bandakanya main.cpp L${MKLROOT}/lib/intel64 - lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lsycl -lOpenCL -lstdc++ -lpthread -lm -ldl
Kulo lonke olunye ulungelelwaniso oluxhaswayo, bona i-Intel® oneAPI yeMath Kernel Library Link Line Advisor.

Fumana Okungakumbi

Isixhobo: Ingcaciso

Isifundo: Ukusebenzisa i-Intel® oneAPI yeThala leencwadi leMath Kernel yokuPhindaphinda kweMatrix:

  • IsiFundo – C Ulwimi
  • Isifundo - uLwimi lwaseFortran

Esi sifundo sibonisa indlela onokuyisebenzisa ngayo i-oneMKL ukuphinda-phinda imatriki, ukulinganisa ukusebenza kophindaphindo lwematriki, kunye nokulawula ukuthunga.

Ithala leencwadi le-Intel® oneAPI Math Kernel (oneMKL) Khupha amaNqaku okulawula ukuthunga.
Amanqaku okukhululwa aqulethe ulwazi oluthe ngqo kukhupho lwamva nje lwe-oneMKL ebandakanya izinto ezintsha nezitshintshileyo. Amanqaku okukhululwa abandakanya amakhonkco kwimithombo yolwazi oluyinqununu ye-intanethi enxulumene nokukhululwa. Unokufumana ulwazi kwi:

  • Yintoni entsha ekukhutshweni
  • Imixholo yemveliso
  • Ukufumana inkxaso yobugcisa
  • Iinkcazo zelayisensi

Intel® oneAPI Math Kernel Library
I-Intel® oneAPI Math Kernel Library (enyeMKL) iphepha lemveliso. Jonga eli phepha ngenkxaso kunye namaxwebhu e-intanethi.

Intel® oneAPI Math Kernel Library Cookbook
Ithala leencwadi le-Intel® oneAPI Math Kernel liqulethe iindlela ezininzi zokukunceda ukusombulula iingxaki zamanani ezahlukeneyo, ezinje ngophinda-phindo lwematriki, ukusombulula inkqubo yee-equations, kunye nokwenza inguqu kaFourier.

Amanqaku eIntel® oneAPI yeMath Kernel yeThala leeNkcukacha zeVector yeThala leeNcwadi
Olu xwebhu lubandakanya ngaphezuluview, imodeli yokusetyenziswa kunye neziphumo zovavanyo lwee-random generator generator ezifakwe kwi-VS.

I-Intel® oneAPI yeMath Kernel yeThala leeNkcukacha zoMsebenzi weThala leeNkcukacha zoMsebenzi weNombolo eRandom
Idatha yokusebenza efunyenwe kusetyenziswa izibalo ze-vector (VS) i-random number generator (RNG) kuquka i-CPE (iiwotshi kwi-elementi nganye) iyunithi yokulinganisa, i-basic random number generators (BRNG), iijenereyitha zokusasaza ezenziweyo, kunye nobude be-vectors eyenziwe.

I-Intel® oneAPI yeMath Kernel yeThala leeNcwadi yeVector yeMathematika yokuSebenza kunye neDatha echanekileyo
IVector Mathematics (VM) ibala imisebenzi esisiseko kwiingxoxo zevektha. I-VM ibandakanya iseti yophumezo oluphuculweyo oluphezulu lwemisebenzi yezibalo ebiza kakhulu (amandla, i-trigonometric, i-exponential, i-hyperbolic, kunye nezinye) ezisebenza kwii-vectors.

Amanqaku eSicelo se-Intel® oneAPI yeMath Kernel yeThala leeNkcukacha zamanani
INkcazelo-manani yesiShwankathelo licandelo elingaphantsi le-Vector Statistics domain ye-Intel® oneAPI Math Kernel Library. IsiShwankathelo seNkcazo-manani sikubonelela ngemisebenzi yohlalutyo lokuqala lwamanani, kwaye inikezela ngezisombululo zokusetyenzwa ngokunxuseneyo kweeseti zedatha ezinamacala amaninzi.

LAPACK ExampLes
Olu xwebhu lubonelela ngekhowudi exampi-les ye-MKL LAPACK enye (i-Linear Algebra PACKage) yeendlela.

Izaziso kunye neZikhuphelo
Isoftware kunye nomthwalo osetyenziswa kwiimvavanyo zokusebenza usenokuba ulungiselelwe ukusebenza kuphela kwi-Intel microprocessors. Iimvavanyo zentsebenzo, ezifana ne-SYSmark kunye ne-MobileMark, zilinganiswa ngokusebenzisa iinkqubo ezithile zekhompyutheni, amacandelo, isofthiwe, imisebenzi kunye nemisebenzi. Naluphi na utshintsho kuyo nayiphi na loo miba inokubangela ukuba iziphumo zahluke. Kufuneka udibane nolunye ulwazi kunye neemvavanyo zokusebenza ukuze zikuncede ekuvavanyeni ngokupheleleyo izinto ozithengileyo, kubandakanywa ukusebenza kwaloo mveliso xa zidityaniswe nezinye iimveliso. Ukuze ufumane ulwazi olupheleleyo ndwendwela www.intel.com/benchmarks.
Iitekhnoloji ze-Intel zinokufuna i-Hardware, isoftware okanye isebenze.
Akukho mveliso okanye inxalenye inokukhuseleka ngokupheleleyo.
Iindleko zakho kunye neziphumo zinokwahluka.
© Intel Corporation. I-Intel, ilogo ye-Intel, kunye nezinye iimpawu ze-Intel ziimpawu zorhwebo ze-Intel Corporation okanye iinkampani eziphantsi kwayo. Amanye amagama kunye neempawu zingabangwa njengempahla yabanye.

IMveliso kunye nolwazi lokuSebenza
Ukusebenza kuyahluka ngokusetyenziswa, ukucwangciswa kunye nezinye izinto. Funda ngakumbi kwi www.Intel.com/PerformanceIndex.
Uhlaziyo lwesaziso #20201201
Akukho layisenisi (ecaciswayo okanye ekhankanyiweyo, nge-estoppel okanye ngenye indlela) kuwo nawaphi na amalungelo epropathi enomgangatho ophezulu wokuqonda inikwe kolu xwebhu.
Iimveliso ezichaziweyo zinokuqulatha iziphene zoyilo okanye iimpazamo ezaziwa ngokuba yierrata ezinokubangela ukuba imveliso ijike kwiinkcukacha ezipapashiweyo. Iimpazamo ezikhoyo ngoku ziyafumaneka xa ziceliwe.
I-Intel iyazikhupha zonke iziqinisekiso ezicacileyo nezichaziweyo, kubandakanywa ngaphandle komlinganiselo, iziqinisekiso ezichaziweyo zokurhweba, ukufaneleka kwenjongo ethile, kunye nokungonakali, kunye nayo nayiphi na iwaranti evela kwikhosi yokusebenza, ikhosi yokuthengisa, okanye ukusetyenziswa kwezorhwebo.

Amaxwebhu / Izibonelelo

Intel oneAPI Math Kernel Library [pdf] Isikhokelo somsebenzisi
Ithala leencwadi leMath Kernel oneAPI, iThala leencwadi leMath Kernel, iThala leencwadi leKernel, iThala leeNcwadi

Iimbekiselo

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iindawo ezifunekayo ziphawulwe *