intel oneAPI Math Kernel Library
Pagsugod sa Intel® oneAPI Math Kernel Library
Ang Intel® oneAPI Math Kernel Library (oneMKL) nagtabang kanimo nga makab-ot ang labing kataas nga pasundayag sa usa ka librarya sa pag-compute sa matematika nga labi ka na-optimize, kaylap nga managsama nga mga rutina alang sa CPU ug GPU. Ang librarya adunay mga interface sa C ug Fortran alang sa kadaghanan nga mga rutina sa CPU, ug mga interface sa DPC++ alang sa pipila nga mga rutina sa parehas nga CPU ug GPU. Makita nimo ang komprehensibo nga suporta alang sa daghang mga operasyon sa matematika sa lainlaing mga interface lakip ang:
Para sa C ug Fortran sa CPU
- Linear nga algebra
- Paspas nga Fourier Transforms (FFT)
- Vector math
- Direkta ug nagbalikbalik nga dili kaayo solver
- Random nga numero generators
Para sa DPC++ sa CPU ug GPU (Tan-awa ang Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference para sa dugang detalye.)
- Linear nga algebra
- BLAS
- Gipili nga Sparse BLAS nga pagpaandar
- Gipili nga LAPACK nga gamit
- Paspas nga Fourier Transforms (FFT)
- 1D, 2D, ug 3D
- Random nga numero generators
- Pinili nga gamit
- Pinili nga gamit sa Vector Math
Sa Dili Ka pa Magsugod
Bisitaha ang Release Notes page para sa Nailhan nga mga Isyu ug pinakabag-o nga impormasyon.
Bisitaha ang panid sa Intel® oneAPI Math Kernel Library System Requirements alang sa mga kinahanglanon sa sistema.
Bisitaha ang Pagsugod sa Intel® oneAPI DPC++/C++ Compiler para sa DPC++ Compiler nga mga kinahanglanon.
Lakang 1: I-install ang Intel® oneAPI Math Kernel Library
I-download ang Intel® oneAPI Math Kernel Library gikan sa Intel® oneAPI Base Toolkit.
Para sa mga distribusyon sa Python, tan-awa ang Pag-instalar sa Intel® Distribution para sa Python* ug Intel® Performance Libraries nga adunay pip ug PyPI.
Alang sa mga distribusyon sa Python, timan-i ang mosunod nga limitasyon:
Ang oneMKL devel package (mkl-devel) para sa PIP distribution sa Linux* ug macOS* wala maghatag ug dynamic nga mga library symlinks (para sa dugang impormasyon tan-awa ang PIP GitHub issue #5919).
Sa kaso sa dynamic o single dynamic library nga nagsumpay sa oneMKL devel package (alang sa dugang impormasyon tan-awa ang oneMKL Link Line Advisor ) kinahanglan nimo nga usbon ang link line sa oneMKL libraries kompleto nga mga ngalan ug bersyon.
Tan-awa ang Intel® oneAPI Math Kernel Library ug pkg-config tool para sa impormasyon bahin sa pag-compile ug pag-link sa pkg-config tool.
oneMKL link nga linya exampuban sa oneAPI Base Toolkit pinaagi sa mga symlink:
- 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
Ang oneMKL link line exampuban sa PIP devel package pinaagi sa mga librarya kompleto nga mga ngalan ug mga bersyon: 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 -lpthread -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
Lakang 2: Pagpili og Function o Routine
Pagpili og function o rutina gikan sa oneMKL nga labing haum sa imong problema. Gamita kini nga mga kapanguhaan:
Resource Link: Mga sulod
oneMKL Developer Guide para sa Linux*
oneMKL Developer Guide para sa Windows*
oneMKL Developer Guide para sa macOS*
Ang Giya sa Developer adunay detalyado nga kasayuran sa daghang mga hilisgutan lakip ang:
- Pag-compile ug pag-link sa mga aplikasyon
- Pagtukod ug custom DLLs
- Pag-thread
- Pagdumala sa Memorya
oneMKL Developer Reference - C
Language oneMKL Developer Reference – Fortran Language
oneMKL Developer Reference - DPC++ nga Pinulongan
- Ang Reference sa Developer (sa C, Fortran, ug DPC++ nga mga format) adunay mga detalyado nga paghulagway sa mga gimbuhaton ug mga interface alang sa tanan nga mga domain sa librarya.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- Gamita ang LAPACK Function Finding Advisor aron masusi ang LAPACK nga mga rutina nga mapuslanon alang sa usa ka partikular nga problema. Kay example, kung imong gitakda ang usa ka operasyon ingon:
- Matang sa naandan: Computational
- Problema sa Computational: Orthogonal factorization
- Matang sa matrix: Kinatibuk-an
- Operasyon: Paghimo QR factorization
Lakang 3: I-link ang Imong Code
Gamita ang oneMKL Link Line Advisor aron ma-configure ang link command sumala sa imong mga feature sa programa.
Pipila ka mga limitasyon ug dugang nga mga kinahanglanon:
Ang Intel® oneAPI Math Kernel Library para sa DPC++ nagsuporta lang gamit ang mkl_intel_ilp64 interface library ug sequential o TBB threading.
Para sa DPC++ nga mga interface nga adunay static linking sa 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
Kay example, building/statically linking main.cpp uban sa ilp64 interface ug TBB threading:
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
Alang sa DPC++ nga mga interface nga adunay dinamikong pag-link sa Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Kay example, pagtukod/dinamikong nagsumpay sa main.cpp uban sa ilp64 interface ug TBB threading:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lOpenCL -ltbb -lpthread -ldl
Alang sa DPC++ nga mga interface nga adunay static nga pag-link sa 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
Kay example, building/statically linking main.cpp uban sa ilp64 interface ug TBB threading:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I”%MKLROOT%\include” main.cpp”%MKLROOT%”\lib\intel64\mkl_sycl.lib mkl_intel_ilp64.lib_core mkl_tbb_thread.lib sy mkcl .lib OpenCL.lib tbb.lib
Alang sa DPC++ nga mga interface nga adunay dinamikong pag-link sa 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
Kay example, pagtukod/dinamikong nagsumpay sa main.cpp uban sa ilp64 interface ug TBB threading:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I"%MKLROOT%\include" main.cpp "%MKLROOT%"\lib\intel64\mkl_sycl_dll.lib mkl_intel_ilp64_dll.libth mkl_tbb.libth mkl_tbb_libth .lib sycl.lib OpenCL.lib
Alang sa C/Fortran Interface nga adunay OpenMP Offload Support
Gamita ang C/Fotran Intel® oneAPI Math Kernel Library nga mga interface nga adunay OpenMP offload feature ngadto sa GPU.
Tan-awa ang C OpenMP Offload Developer Guide para sa dugang nga mga detalye bahin niini nga bahin.
Idugang ang mosunod nga mga pagbag-o sa C/Fortran oneMKL compile/link nga mga linya aron mahimo ang OpenMP offload feature sa GPU:
- Dugang nga compile/link nga mga kapilian: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Dugang nga usa ka librarya sa MKL: usa ka librarya sa usa ka librarya sa MKL DPC++
Kay example, pagtukod/dinamikong nagsumpay sa main.cpp sa Linux nga adunay ilp64 interface ug OpenMP threading:
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
Para sa tanang ubang gisuportahan nga mga configuration, tan-awa ang Intel® oneAPI Math Kernel Library Link Line Advisor.
Pangitag Dugang
Kapanguhaan: Deskripsyon
Tutorial: Paggamit sa Intel® oneAPI Math Kernel Library alang sa Matrix Multiplication:
- Tutorial – C nga Pinulongan
- Tutorial - Fortran nga Pinulongan
Gipakita sa kini nga panudlo kung giunsa nimo magamit ang oneMKL sa pagpadaghan sa mga matrice, pagsukod sa nahimo sa pagpadaghan sa matrix, ug pagkontrol sa threading.
Intel® oneAPI Math Kernel Library (oneMKL) Release Notes control threading.
Ang mga nota sa pagpagawas adunay impormasyon nga espesipiko sa pinakabag-o nga pagpagawas sa oneMKL lakip ang bag-o ug nabag-o nga mga bahin. Ang mga nota sa pagpagawas naglakip sa mga link sa panguna nga mga kapanguhaan sa impormasyon sa online nga may kalabutan sa pagpagawas. Makapangita ka usab og impormasyon sa:
- Unsa ang bag-o sa pagpagawas
- Mga sulod sa produkto
- Pagkuha ug teknikal nga suporta
- Mga kahulugan sa lisensya
Intel® oneAPI Math Kernel Library
Ang panid sa produkto sa Intel® oneAPI Math Kernel Library (oneMKL). Tan-awa kini nga panid alang sa suporta ug online nga dokumentasyon.
Intel® oneAPI Math Kernel Library Cookbook
Ang Intel® oneAPI Math Kernel Library adunay daghang mga rutina aron matabangan ka nga masulbad ang lainlaing mga problema sa numero, sama sa pagpadaghan sa mga matrice, pagsulbad sa usa ka sistema sa mga equation, ug paghimo sa usa ka pagbag-o sa Fourier.
Mga nota para sa Intel® oneAPI Math Kernel Library Vector Statistics
Kini nga dokumento naglakip sa usa ka overview, usa ka modelo sa paggamit ug mga resulta sa pagsulay sa random number generators nga gilakip sa VS.
Intel® oneAPI Math Kernel Library Vector Statistics Random Number Generator Performance Data
Ang datos sa performance nakuha gamit ang vector statistics (VS) random number generator (RNG) lakip ang CPE (clocks per element) unit of measure, basic random number generators (BRNG), generated distribution generators, ug gitas-on sa mga namugna nga vectors.
Intel® oneAPI Math Kernel Library Vector Mathematics Performance ug Accuracy Data
Ang Vector Mathematics (VM) nagkuwenta sa elementarya nga mga gimbuhaton sa mga argumento sa vector. Ang VM naglakip sa usa ka set sa labing maayo nga pagpatuman sa computationally mahal nga core mathematical functions (power, trigonometric, exponential, hyperbolic, ug uban pa) nga naglihok sa mga vector.
Mga Nota sa Aplikasyon alang sa Intel® oneAPI Math Kernel Library Summary Statistics
Ang Summary Statistics usa ka subcomponent sa Vector Statistics domain sa Intel® oneAPI Math Kernel Library. Ang Summary Statistics naghatag kanimo og mga function para sa inisyal nga statistical analysis, ug nagtanyag og mga solusyon para sa parallel nga pagproseso sa multi-dimensional datasets.
LAPACK Examples
Kini nga dokumento naghatag ug code examples alang sa usa ka MKL LAPACK (Linear Algebra PACKage) nga mga rutina.
Mga Notice ug Disclaimers
Ang software ug mga workloads nga gigamit sa performance tests mahimong na-optimize para sa performance lang sa Intel microprocessors. Ang mga pagsulay sa pasundayag, sama sa SYSmark ug MobileMark, gisukod gamit ang piho nga sistema sa kompyuter, sangkap, software, operasyon ug mga gimbuhaton. Ang bisan unsang pagbag-o sa bisan unsang mga hinungdan mahimong hinungdan nga magkalainlain ang mga resulta. Kinahanglan ka nga mokonsulta sa uban pang kasayuran ug mga pagsulay sa pasundayag aron matabangan ka sa hingpit nga pagtimbang-timbang sa imong gihunahuna nga mga pagpalit, lakip ang paghimo sa kana nga produkto kung gihiusa sa ubang mga produkto. Para sa dugang kompletong impormasyon bisitaha www.intel.com/benchmarks.
Ang mga teknolohiyang Intel mahimong manginahanglan aktibo nga hardware, software o pag-aktibo sa serbisyo.
Wala’y produkto o sangkap nga mahimong hingpit nga sigurado.
Mahimong magkalainlain ang imong mga gasto ug mga sangputanan.
© Intel Corporation. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Ang ubang mga ngalan ug mga tatak mahimong maangkon ingon nga kabtangan sa uban.
Impormasyon sa Produkto ug Pagganap
Lainlain ang paghimo sa paggamit, pag-configure ug uban pang mga hinungdan. Pagkat-on pa sa www.Intel.com/PerformanceIndex.
Pahibalo sa rebisyon #20201201
Walay lisensya (gipahayag o gipasabot, pinaagi sa estoppel o uban pa) sa bisan unsang mga katungod sa intelektwal nga kabtangan ang gihatag niini nga dokumento.
Ang mga produkto nga gihulagway mahimong adunay mga depekto sa disenyo o mga sayup nga nailhan nga errata nga mahimong hinungdan sa pagtipas sa produkto gikan sa gipatik nga mga detalye. Ang kasamtangan nga kinaiya nga sayop anaa sa hangyo.
Gipanghimakak sa Intel ang tanang gipahayag ug gipasabot nga mga garantiya, lakip ang walay limitasyon, ang gipasabot nga mga garantiya sa pagkahimong mamaligya, kaangayan alang sa usa ka partikular nga katuyoan, ug dili paglapas, ingon man ang bisan unsang garantiya nga naggikan sa dagan sa pasundayag, dagan sa pagdumala, o paggamit sa pamatigayon.
Mga Dokumento / Mga Kapanguhaan
![]() |
intel oneAPI Math Kernel Library [pdf] Giya sa Gumagamit oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |