intel oneAPI Math Kernel Library
Bido na ọbá akwụkwọ kernel Intel® oneAPI Math kernel
The Intel® oneAPI Math Kernel Library (oneMKL) na-enyere gị aka imezu oke arụmọrụ site na iji ọbá akwụkwọ mgbakọ na mwepụ nke kachasị nke ọma, na-emekọ ihe ọnụ maka CPU na GPU. Ọbá akwụkwọ ahụ nwere oghere C na Fortran maka ọtụtụ usoro ihe omume na CPU, yana oghere DPC++ maka usoro ụfọdụ na CPU na GPU. Ị nwere ike ịchọta nkwado zuru oke maka ọrụ mgbakọ na mwepụ dị iche iche gụnyere:
Maka C na Fortran na CPU
- Linear algebra
- Mgbanwe ngwa ngwa Fourier (FFT)
- Vector mgbakọ na mwepụ
- Direct na iterative sparse solvers
- Ndị na-emepụta nọmba random
Maka DPC++ na CPU na GPU ( rụtụ aka na ọbá akwụkwọ kernel nke Intel® oneAPI—Data Parallel C++ Developer Reference maka nkọwa ndị ọzọ.)
- Linear algebra
- BLAS
- Ọrụ Sparse BLAS ahọpụtara
- Ọrụ LAPACK ahọpụtara
- Mgbanwe ngwa ngwa Fourier (FFT)
- 1D, 2D na 3D
- Ndị na-emepụta nọmba random
- Ọrụ ahọpụtara
- Ọrụ Vector Math ahọpụtara
Tupu Ị Malite
Gaa na ibe ndetu mwepụta maka Okwu ndị amaara yana ozi kachasị ọhụrụ.
Gaa na ibe Intel® oneAPI Math Kernel Library System Requirements maka sistemụ chọrọ.
Gaa na Bido na Intel® oneAPI DPC++/C++ Compiler maka DPC++ Compiler chọrọ.
Kwụpụ 1: Wụnye ọbá akwụkwọ kernel Intel® oneAPI
Budata ọbá akwụkwọ kernel Intel® oneAPI site na ngwa Intel® oneAPI Base.
Maka nkesa Python, rụtụ aka na Ịwụnye nkesa Intel® maka Python* na Intel® Performance Library nwere pip na PyPI.
Maka nkesa Python, mara mmachi ndị a:
Otu ngwugwu devel nke otuMKL (mkl-devel) maka nkesa PIP na Linux * na macOS * anaghị enye akara ngosi ọba akwụkwọ ike (maka ozi ndị ọzọ lee mbipụta PIP GitHub #5919).
N'ihe banyere ọbá akwụkwọ dị ike ma ọ bụ otu na-ejikọta ya na ngwugwu devel oneMKL (maka ozi ndị ọzọ lee oneMKL Link Line Advisor ) ị ga-ejirịrị otu ọba akwụkwọ otuMKL gbanwee aha na nsụgharị zuru ezu.
Rụtụ aka na ọba akwụkwọ Math Kernel Intel® oneAPI yana ngwa pkg-config maka ozi gbasara ịchịkọta na ijikọ na ngwa pkg-config.
ahịrị njikọ otuMKL exampya na otu API Base Toolkit site na symlinks:
- 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
Ahịrị njikọ otuMKL example na ngwugwu mmepe PIP site na ọba akwụkwọ aha na ụdịdị: 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 -liomp5 -lp -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
Kwụpụ 2: Họrọ Ọrụ ma ọ bụ Na-emekarị
Họrọ otu ọrụ ma ọ bụ usoro a na-eme site na otuMKL nke dabara adaba maka nsogbu gị. Jiri akụrụngwa ndị a:
Njikọ akụ: ọdịnaya
otuMKL Ntuziaka Onye Mmepụta maka Linux*
otuMKL Ntuziaka Onye Mmepụta maka Windows*
otuMKL Ntuziaka Onye Mmepụta maka MacOS*
Ntuziaka onye nrụpụta nwere ozi zuru ezu n'ọtụtụ isiokwu gụnyere:
- Ịchịkọta na ijikọ ngwa
- Iwulite DLL omenala
- eriri
- Njikwa ebe nchekwa
Ntụtụ aka Onye Mmepụta OneMKL – C
Ntụgharị asụsụ otuMKL Onye Mmepụta – Asụsụ Fortran
Ntụaka Onye Mmepụta oneMKL – Asụsụ DPC++
- Ntuziaka Onye Mmepụta (na ụdị C, Fortran, na DPC++) nwere nkọwa zuru ezu nke ọrụ na oghere maka ngalaba ọba akwụkwọ niile.
Intel® oneAPI Math Kernel Ọbá akwụkwọ Ndụmọdụ Ịchọta Ọrụ
- Jiri onye ndụmọdụ ịchọta ọrụ LAPACK iji chọpụta usoro LAPACK bara uru maka otu nsogbu. Maka example, ọ bụrụ na ị kọwapụta ọrụ dịka:
- Ụdị na-emekarị: Mgbakọ
- Nsogbu mgbakọ: Orthogonal factorization
- Ụdị Matrix: General
- Ọrụ: Mee QR factorization
Nzọụkwụ 3: Jikọọ koodu gị
Jiri oneMKL Link Line Advisor hazie iwu njikọ dịka atụmatụ mmemme gị siri dị.
Ụfọdụ mmachi na ihe ndị ọzọ chọrọ:
Intel® oneAPI Math Kernel Library maka DPC++ na-akwado naanị iji mkl_intel_ilp64 interface ọba akwụkwọ na usoro ma ọ bụ TBB eri.
Maka ihu DPC++ nwere njikọ kwụ ọtọ na Linux
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–otu-mmalite ${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
Maka example, ụlọ/njikọ statically main.cpp na ilp64 interfaces na TBB threading:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/gụnye main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–otu mmalite ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,–ngwụsị-otu -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl
Maka ihu DPC++ nwere njikọ siri ike na Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Maka example, ụlọ/na-ejikọta main.cpp na ilp64 interfaces na TBB threading:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/gụnyere main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lOlplthread -bb
Maka ihu DPC++ nwere njikọ kwụ ọtọ na Windows
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 "%MKLROOT%"\lib\intel64mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
Maka example, ụlọ/njikọ statically main.cpp na ilp64 interfaces na TBB threading:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I"%MKLROOT%gụnyere" main.cpp"%MKLROOT%"\lib\intel64 mkl_sycl.lib mkl_intel_ilp64.lib mkl_intel_ilpXNUMX.lib mkllib_core mkllib. .lib OpenCL.lib tbb.lib
Maka ihu DPC++ nwere njikọ siri ike na Windows
icpx -fsycl -DMKL_ILP64 "%MKLROOT%"\lib\intel64mkl_sycl_dll.lib mkl_intel_ilp64_dll.lib mkl_ _dll.lib mkl_core_dll.lib tbb.lib sycl.lib OpenCL.lib
Maka example, ụlọ/na-ejikọta main.cpp na ilp64 interfaces na TBB threading:
ICPX -FSL -FL -PLCLL -OG -P -OG -P-Koodu-kewara = Per_Kernel -d -dmyM_IBLOTS% " ore_dll.lib tbb .lib sycl.lib MepeeCL.lib
Maka interface C/Fortran nwere nkwado OpenMP Offload
Jiri oghere C/Fotran Intel® oneAPI Math Kernel Library nwere njiri mwepu OpenMP na GPU.
Hụ ntuziaka Onye nrụpụta OpenMP Offload maka nkọwa ndị ọzọ gbasara njirimara a.
Tinye mgbanwe ndị a na ahịrị C/Fortran oneMKL chịkọta/njikọ iji mee ka ọrụ mbupụ OpenMP na GPU:
- Nhọrọ nchịkọta/njikọ agbakwunyere: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Ọbá akwụkwọ otuMKL agbakwunyere: otuMKL DPC++ ọba akwụkwọ
Maka example, Building/ dynamically jikọtara main.cpp na Linux na ilp64 interfaces na OpenMP threading:
icx -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl -DMKL_ILP64 -m64 -I$(MKLROOT)/gụnyere main.cpp L${MKLROOT}/lib/intel64 - lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lsycl -lOpenCL -lstdc++ -lpthread -lm -ldl
Maka nhazi ndị ọzọ niile akwadoro, hụ Intel® oneAPI Math Kernel Library Link Line Advisor.
Chọtakwuo
Ihe enyemaka: Nkọwa
Nkuzi: Iji Intel® oneAPI Math Kernel Library maka Mgbakwunye Matrix:
- Nkuzi – Asụsụ C
- Nkuzi – Asụsụ Fortran
Nkuzi a na-egosi otu ị ga-esi jiri oneMKL mụbaa matrices, tụọ arụmọrụ nke ịba ụba matriks, yana njikwa eri.
Intel® oneAPI Math Kernel Library (oneMKL) Mwepụta ndetu akara eri.
Ihe ndetu ntọhapụ ahụ nwere ozi akọwapụtara maka ntọhapụ ọhụrụ nke otuMKL gụnyere atụmatụ ọhụrụ na agbanwere. Ihe ndetu ntọhapụ gụnyere njikọ nke akụrụngwa ozi ịntanetị bụ isi metụtara ntọhapụ ahụ. Ị nwekwara ike ịchọta ozi na:
- Kedu ihe dị ọhụrụ na ntọhapụ
- Ngwaahịa ọdịnaya
- Inweta nkwado teknụzụ
- Nkọwa ikike
Ọbá akwụkwọ kernel Intel® oneAPI
Ibe ngwaahịa Intel® oneAPI Math Kernel Library (oneMKL). Lee ibe a maka nkwado na akwụkwọ ntanetị.
Akwụkwọ nri akwụkwọ nri Intel® oneAPI Math Kernel
Ọbá akwụkwọ Math Kernel Intel® oneAPI nwere ọtụtụ usoro iji nyere gị aka dozie nsogbu ọnụọgụ dị iche iche, dị ka ịba ụba matrices, idozi usoro nha anya, na ime mgbanwe Fourier.
Ndetu maka Intel® oneAPI Math Kernel Library Vector Statistics
Akwụkwọ a gụnyere ngafeview, ụdị ojiji na nsonaazụ nnwale nke ndị na-emepụta ọnụọgụ ọnụọgụgụ gụnyere na VS.
Intel® oneAPI Math Kernel Library Vector Statistics Random Number Generator Performance Data
Arụmọrụ data enwetara site na iji vector statistics (VS) random nọmba generator (RNG) gụnyere CPE (clocks per element) unit nke nha, isi random nọmba generators (BRNG), emepụtara nkesa generators, na ogologo nke vectors emepụtara.
Intel® oneAPI Math Kernel Library Vector Mathematics Performance na nke ziri ezi data
Vector Mathematics (VM) na-agbakọ ọrụ elementrị na arụmụka vector. VM gụnyere usoro mmejuputa kachasị mma nke ọrụ mgbakọ na mwepụ dị oke ọnụ (ike, trigonometric, exponential, hyperbolic, na ndị ọzọ) na-arụ ọrụ na vectors.
Ndetu ngwa maka ọnụ ọgụgụ nchịkọta ọba akwụkwọ mgbakọ na mwepụ nke Intel® oneAPI
Nchịkọta Nchịkọta bụ mpaghara mpaghara Vector Statistics nke Intel® oneAPI Math Kernel Library. Nchịkọta nchịkọta akụkọ na-enye gị ọrụ maka nyocha ndekọ ọnụ ọgụgụ mbụ, ma na-enye azịza maka nhazi nhazi nke ọtụtụ akụkụ datasets.
LAPACK Examples
Akwụkwọ a na-enye code examples maka otuMKL LAPACK (Linear Algebra Package).
Ọkwa na Nkwusa
Akụrụngwa na ibu ọrụ ejiri na ule arụmọrụ nwere ike ịbụ nke kachasị maka ịrụ ọrụ naanị na microprocessors Intel. A na-atụ ule arụmọrụ, dị ka SYSmark na MobileMark, site na iji sistemụ kọmputa, akụrụngwa, sọftụwia, arụmọrụ na arụ ọrụ. Mgbanwe ọ bụla na nke ọ bụla n'ime ihe ndị ahụ nwere ike ime ka nsonaazụ ya gbanwee. Ị ga-enyocha ozi ndị ọzọ na ule arụmọrụ iji nyere gị aka n'ịtụle n'ụzọ zuru ezu ịzụrụ echere, gụnyere arụmọrụ nke ngwaahịa ahụ mgbe ejikọtara ya na ngwaahịa ndị ọzọ. Maka ozi zuru oke nleta www.intel.com/benchmarks.
Teknụzụ Intel nwere ike ịchọ ngwa ngwa, ngwanrọ ma ọ bụ ịgbalite ọrụ.
Ọ nweghị ngwaahịa ma ọ bụ akụrụngwa nwere ike nwee nchekwa kpamkpam.
Ọnụ ego gị na nsonaazụ gị nwere ike ịdị iche.
© Ụlọ ọrụ Intel. Intel, akara Intel, na akara Intel ndị ọzọ bụ ụghalaahịa nke Intel Corporation ma ọ bụ ndị enyemaka ya. Enwere ike ịzọrọ aha na akara ndị ọzọ dị ka ihe onwunwe nke ndị ọzọ.
Ozi ngwaahịa na arụmọrụ
Arụmọrụ dịgasị iche site na iji, nhazi na ihe ndị ọzọ. Mụtakwuo na www.Intel.com/PerformanceIndex.
Ndozigharị ọkwa #20201201
Enweghị ikike (gopụtara ma ọ bụ egosipụtara, site na estoppel ma ọ bụ nke ọzọ) ikike ikike ọgụgụ isi ọ bụla enyere site na akwụkwọ a.
Ngwaahịa akọwara nwere ike ịnwe ntụpọ imewe ma ọ bụ mperi mara dị ka errata nke nwere ike ime ka ngwaahịa ahụ pụọ na nkọwapụta ebipụtara. Errata mara ugbu a dị na arịrịọ.
Intel na-ewepụ akwụkwọ ikike niile egosipụtara na nke egosipụtara, gụnyere enweghị oke, akwụkwọ ikike ịzụ ahịa, ahụike maka otu ebumnuche, yana enweghị mmebi, yana akwụkwọ ikike ọ bụla sitere na arụmọrụ, usoro azụmahịa, ma ọ bụ ojiji na ahia.
Akwụkwọ / akụrụngwa
![]() |
intel oneAPI Math Kernel Library [pdf] Ntuziaka onye ọrụ oneAPI Math Kernel Library, Math Kernel Library, kernel Library, Library |