intel-logo

intel oneAPI Math Kernel Library

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

E hoʻomaka me Intel® oneAPI Math Kernel Library

Kōkua ʻo Intel® oneAPI Math Kernel Library (oneMKL) iā ʻoe e hoʻokō i ka hana kiʻekiʻe loa me kahi waihona helu helu makemakika o nā hana maʻamau i hoʻopaʻa ʻia me ka nui o ka CPU a me GPU. Loaʻa i ka waihona nā pilina C a me Fortran no ka hapa nui o nā hana maʻamau ma ka CPU, a me nā pilina DPC++ no kekahi mau hana maʻamau ma CPU a me GPU. Hiki iā ʻoe ke loaʻa ke kākoʻo piha no kekahi mau hana makemakika ma nā kikowaena like ʻole me:

No C a me Fortran ma CPU

  • Algebra laina
  • Hoʻololi ʻo Fourier wikiwiki (FFT)
  • Pākīpika vector
  • ʻO nā mea hoʻoponopono pololei a me ka hoʻololi
  • Nā mea hoʻoheheʻe helu random

No DPC++ ma CPU a me GPU (E nānā i ka Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference no nā kikoʻī hou aku.)

  • Algebra laina
    • BLAS
    • Hana ʻia ʻo Sparse BLAS i koho ʻia
    • Hana ʻia ʻo LAPACK i koho ʻia
  • Hoʻololi ʻo Fourier wikiwiki (FFT)
    • 1D, 2D, a me 3D
  • Nā mea hoʻoheheʻe helu random
    • Nā hana i koho ʻia
  • Hana ʻia ʻo Vector Math i koho ʻia

Ma mua o kou hoʻomaka ʻana
E kipa i ka ʻaoʻao Hoʻokuʻu no nā pilikia i ʻike ʻia a me nā ʻike hou loa.
E kipa i ka ʻaoʻao ʻo Intel® oneAPI Math Kernel Library System Requirements no nā pono ʻōnaehana.
E kipa i ka Hoʻomaka me ka Intel® oneAPI DPC++/C++ Compiler no nā koi DPC++ Compiler.

KaʻAnuʻu Hana 1: E hoʻouka i ka Intel® oneAPI Math Kernel Library
Hoʻoiho iā Intel® oneAPI Math Kernel Library mai ka Intel® oneAPI Base Toolkit.
No ka hoʻohele Python, e nānā i ka hoʻokomo ʻana i ka Intel® Distribution no Python* a me Intel® Performance Libraries me ka pip a me ka PyPI.
No nā māhele Python, e nānā i kēia palena:
ʻAʻole hāʻawi ka pūʻolo devel oneMKL (mkl-devel) no ka hāʻawi ʻana i ka PIP ma Linux* a me macOS* i nā symlink hale waihona puke (no ka ʻike hou aku e ʻike i ka PIP GitHub issue #5919).
I ka hihia o ka dynamic a hoʻokahi dynamic library e pili ana me oneMKL devel package (no ka ʻike hou aku e ʻike i oneMKL Link Line Advisor ) pono ʻoe e hoʻololi i ka laina loulou me nā hale waihona puke oneMKL i nā inoa piha a me nā mana.
E nānā i ka Intel® oneAPI Math Kernel Library a me ka mea hana pkg-config no ka ʻike e pili ana i ka hōʻuluʻulu ʻana a me ka hoʻopili ʻana me ka hāmeʻa pkg-config.
oneMKL laina loulou example me ka oneAPI Base Toolkit ma o 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
    ʻO ka laina loulou oneMKL example me ka PIP devel package ma nā hale waihona puke nā inoa piha a me nā mana: 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
  • 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

KaʻAnuʻu Hana 2: E koho i kahi hana a i ʻole ka hana maʻamau
E koho i kahi hana a hana maʻamau mai hoʻokahiMKL i kūpono loa i kāu pilikia. E hoʻohana i kēia mau kumuwaiwai:

Luina Kumuwaiwai: Contents

ʻO ke alakaʻi hoʻomohala oneMKL no Linux*
ʻO ke alakaʻi hoʻomohala oneMKL no Windows*
ʻO ke alakaʻi hoʻomohala oneMKL no macOS*

Loaʻa i ka Developer Guide ka ʻike kikoʻī e pili ana i kekahi mau kumuhana e like me:

  • Hoʻopili a hoʻopili i nā noi
  • Ke kūkulu nei i nā DLL maʻamau
  • Heluhelu
  • Hooponopono Hoomanao

OneMKL Developer Reference - C
Language oneMKL Developer Reference – ʻŌlelo Fortran
OneMKL Developer Reference – DPC++ Language

  • Aia i loko o ka Mea Ho'omohala (ma C, Fortran, a me DPC++) nā wehewehe kiko'ī o nā hana a me nā pilina no nā kā'ei kapu waihona.

Intel® oneAPI Math Kernel Library Function Find Advisor

  • E hoʻohana i ka LAPACK Function Finding Advisor e ʻimi i nā hana maʻamau LAPACK e pono ai no kahi pilikia. No example, inā ʻoe e kuhikuhi i kahi hana e like me:
    • ʻAno maʻamau: Computational
    • Pilikia helu helu: ʻO ka hoʻohui ʻana i ka Orthogonal
    • ʻAno matrix: General
    • Hana: Hana QR factorization

KaʻAnuʻu Hana 3: Hoʻohui i kāu Code
E hoʻohana i ka OneMKL Link Line Advisor e hoʻonohonoho i ke kauoha loulou e like me nā hiʻohiʻona o kāu papahana.
ʻO kekahi mau palena a me nā koi hou aʻe:
Kākoʻo wale ʻo Intel® oneAPI Math Kernel Library no DPC++ me ka hoʻohana ʻana i ka waihona kikowaena mkl_intel_ilp64 a me ka sequential a i ʻole TBB threading.

No nā pilina DPC++ me ka loulou static ma Linux
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–hoʻomaka-hui ${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
No example, kūkulu/static linking main.cpp me ilp64 interfaces a me TBB threading:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–hoʻomaka-hui ${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

No nā pilina DPC++ me ka loulou ikaika ma Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
No example, kūkulu/dynamically loulou main.cpp me ilp64 interface a me 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

No nā pilina DPC++ me ka loulou static ma 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
No example, kūkulu/static linking main.cpp me ilp64 interfaces a me 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 mkl_tbb_lib.lib.lib mklbb.lib.lib.lib.

No nā pilina DPC++ me ka loulou ikaika ma 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
No example, kūkulu/dynamically loulou main.cpp me ilp64 interface a me 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_libd.libth mkl_tbb_libd CL.lib

No ka C/Fortran Interfaces me OpenMP Offload Support
E hoʻohana i ka C/Fotran Intel® oneAPI Math Kernel Library interface me OpenMP offload hiʻohiʻona i ka GPU.
E ʻike i ka C OpenMP Offload Developer Guide no nā kikoʻī hou aku e pili ana i kēia hiʻohiʻona.
Hoʻohui i kēia mau hoʻololi i ka C/Fortran oneMKL compile/link lines e hiki ai i ka OpenMP offload hiʻohiʻona iā GPU:

  • Nā koho hōʻuluʻulu / loulou hou: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-hoʻohana-raw-dev-ptr -fsycl
  • Hoʻokahi waihona MKL hou: hale waihona puke oneMKL DPC++

No exampʻO ke kūkulu ʻana a me ka hoʻopili ikaika ʻana i ka main.cpp ma Linux me nā pilina ilp64 a me 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/intel_kllm64 -lmkl_sycl -lmmpkllm_read 64 -lsycl -lOpenCL -lstdc++ -lpthread -lm -ldl
No nā hoʻonohonoho hoʻonohonoho ʻē aʻe i kākoʻo ʻia, e ʻike i ka Intel® oneAPI Math Kernel Library Link Line Advisor.

E ʻimi hou aku

Punawai: wehewehe

Aʻo: Ke hoʻohana nei i ka Intel® oneAPI Math Kernel Library no ka Matrix Multiplication:

  • Aʻoaʻo – C Language
  • Aʻoaʻo – Fortran Language

Hōʻike kēia kumu aʻo pehea e hiki ai iā ʻoe ke hoʻohana i ka oneMKL e hoʻonui i nā matrices, e ana i ka hana o ka hoʻonui ʻana i ka matrix, a me ka hoʻomalu ʻana i ka threading.

Intel® oneAPI Math Kernel Library (oneMKL) Release Notes control threading.
Aia nā memo hoʻokuʻu i ka ʻike kikoʻī i ka hoʻokuʻu hou ʻana o oneMKL me nā hiʻohiʻona hou a hoʻololi. Loaʻa i nā memo hoʻokuʻu nā loulou i nā kumu waiwai ʻike pūnaewele e pili ana i ka hoʻokuʻu. Hiki iā ʻoe ke ʻike i ka ʻike ma:

  • He aha ka mea hou i ka hoʻokuʻu
  • ʻIke huahana
  • Loaʻa i ke kākoʻo ʻenehana
  • Nā wehewehe laikini

Hale Waihona Puke Kernel Intel® oneAPI
ʻO ka ʻaoʻao huahana Intel® oneAPI Math Kernel Library (oneMKL). E ʻike i kēia ʻaoʻao no ke kākoʻo a me nā palapala pūnaewele.

Intel® oneAPI Math Kernel Library Cookbook
Aia i loko o ka Intel® oneAPI Math Kernel Library nā hana maʻamau e kōkua iā ʻoe e hoʻoponopono i nā pilikia helu like ʻole, e like me ka hoʻonui ʻana i nā matrices, ka hoʻoponopono ʻana i kahi ʻōnaehana hoʻohālikelike, a me ka hana ʻana i kahi hoʻololi Fourier.

Nā memo no Intel® oneAPI Math Kernel Library Vector Statistics
Aia kēia palapala i kahi overview, he kumu hoʻohana a me nā hopena hoʻāʻo o nā mea hoʻoheheʻe helu maʻamau i hoʻokomo ʻia ma VS.

Intel® oneAPI Math Kernel Library Vector Statistics Random Number Generator Performance Data
Loaʻa ka ʻikepili hana me ka hoʻohana ʻana i nā ʻikepili vector (VS) random number generator (RNG) me ka CPE (nā uaki ma kēlā me kēia mea) ʻāpana o ke ana, nā mea hoʻoheheʻe helu random kumu (BRNG), nā mea hoʻoheheʻe i hana ʻia, a me ka lōʻihi o nā vectors i hana ʻia.

Intel® oneAPI Math Kernel Library Vector Mathematics Performance and Accuracy Data
Heluhelu ʻo Vector Mathematics (VM) i nā hana haʻahaʻa ma nā hoʻopaʻapaʻa vector. Hoʻokomo ʻia ka VM i kahi pūʻulu o nā hoʻokō hoʻokō ʻoi loa o nā hana makemakika kumu kūʻai nui (ka mana, trigonometric, exponential, hyperbolic, a me nā mea ʻē aʻe) e hana ana ma nā vectors.

Palapala Noi no Intel® oneAPI Math Kernel Library Summary Statistics
ʻO ka Summary Statistics kahi ʻāpana o ka waihona Vector Statistics o Intel® oneAPI Math Kernel Library. Hāʻawi ʻo Summary Statistics iā ʻoe i nā hana no ka nānā ʻana i ka helu helu mua, a hāʻawi i nā hāʻina no ka hoʻoili like ʻana o nā ʻikepili multi-dimensional.

LAPACK Examples
Hāʻawi kēia palapala i ke code examples no hoʻokahi MKL LAPACK (Linear Algebra PACKage) mau hana maʻamau.

Hoolaha a me na Hoole
ʻO nā lako polokalamu a me nā haʻahaʻa hana i hoʻohana ʻia i nā hoʻokolohua hana i hoʻopaʻa ʻia no ka hana wale nō ma nā microprocessors Intel. Ana ʻia nā hoʻokolohua hana, e like me SYSmark a me MobileMark me ka hoʻohana ʻana i nā ʻōnaehana kamepiula kikoʻī, nā ʻāpana, nā polokalamu, nā hana a me nā hana. ʻO ka hoʻololi ʻana i kekahi o ia mau mea hiki ke hoʻololi i nā hopena. Pono ʻoe e nīnau i nā ʻike ʻē aʻe a me nā hoʻokolohua hana e kōkua iā ʻoe i ka loiloi piha ʻana i kāu mau kūʻai i manaʻo ʻia, me ka hana ʻana o ia huahana ke hui pū ʻia me nā huahana ʻē aʻe. No ka ʻike piha piha e kipa www.intel.com/benchmarks.
Hiki i nā ʻōnaehana Intel ke koi ʻia i nā ʻenehana, lako polokalamu a i ʻole ka hana e lawelawe ai.
ʻAʻole hiki ke hoʻopaʻa paʻa ʻia kekahi huahana a mea ʻāpana paha.
He ʻokoʻa paha kāu mau koina a me nā hopena.
© Intel Corporation. ʻO Intel, ka Intel logo, a me nā hōʻailona Intel ʻē aʻe he mau hōʻailona o Intel Corporation a i ʻole kāna mau lālā. Hiki ke koi ʻia nā inoa a me nā hōʻailona ʻē aʻe ma ke ʻano he waiwai o nā poʻe ʻē aʻe.

Huahana a me ka 'ike hana
Hoʻololi ka hana ma ka hoʻohana ʻana, ka hoʻonohonoho ʻana a me nā mea ʻē aʻe. E aʻo hou ma www.Intel.com/PerformanceIndex.
Hoʻoponopono hoʻolaha #20201201
ʻAʻole hāʻawi ʻia ka laikini (hōʻike a i ʻole ka manaʻo, e ka estoppel a i ʻole) i kekahi kuleana waiwai naʻauao e kēia palapala.
Loaʻa i nā huahana i wehewehe ʻia nā hemahema hoʻolālā a i ʻole nā ​​hewa i kapa ʻia ʻo errata e hoʻohuli i ka huahana mai nā kikoʻī i paʻi ʻia. Loaʻa ka hewa o kēia manawa ma ke noi.
Hōʻole ʻo Intel i nā palapala hōʻoia a pau, me ka ʻole o ka palena, nā palapala hōʻoia o ke kūʻai aku, kūpono no kekahi kumu, a me ka hewa ʻole, a me nā palapala hōʻoia e puka mai ana mai ke ʻano o ka hana, ke ʻano o ka hana, a i ʻole ka hoʻohana ʻana i ke kālepa.

Palapala / Punawai

intel oneAPI Math Kernel Library [pdf] Ke alakaʻi hoʻohana
oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library

Nā kuhikuhi

Waiho i kahi manaʻo

ʻAʻole e paʻi ʻia kāu leka uila. Hōʻailona ʻia nā kahua i makemake ʻia *