intel-logo

intel oneAPI Math Kernel Library

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

Alustage Intel® oneAPI Math Kernel Libraryga

Intel® oneAPI Math Kernel Library (oneMKL) aitab teil saavutada maksimaalse jõudluse kõrgelt optimeeritud, ulatuslikult paralleelsete protsessori ja GPU jaoks mõeldud matemaatikaarvutusteegiga. Teegil on C- ja Fortrani liidesed enamiku protsessori rutiinide jaoks ning DPC++ liidesed nii CPU kui ka GPU mõnede rutiinide jaoks. Võite leida igakülgset tuge mitmele matemaatikaoperatsioonile erinevates liidestes, sealhulgas:

CPU-le ja Fortranile

  • Lineaarne algebra
  • Kiired Fourier' teisendused (FFT)
  • Vektormatemaatika
  • Otsesed ja iteratiivsed hõredad lahendajad
  • Juhuslike arvude generaatorid

DPC++ jaoks protsessoril ja GPU-l (lisateabe saamiseks vaadake Intel® oneAPI Math Kernel Library – Data Parallel C++ arendajaviite).

  • Lineaarne algebra
    • BLAS
    • Valitud Sparse BLAS-funktsioon
    • Valitud LAPACKi funktsioon
  • Kiired Fourier' teisendused (FFT)
    • 1D, 2D ja 3D
  • Juhuslike arvude generaatorid
    • Valitud funktsionaalsus
  • Valitud Vector Math funktsioon

Enne alustamist
Teadaolevate probleemide ja kõige värskema teabe saamiseks külastage väljalaskemärkmete lehte.
Süsteeminõuete vaatamiseks külastage Intel® oneAPI Math Kernel Library System Requirements lehte.
DPC++ kompilaatori nõuete kohta külastage Intel® oneAPI DPC++/C++ kompilaatoriga alustamist.

1. toiming: installige Intel® oneAPI Math Kernel Library
Laadige Intel® oneAPI Math Kernel Library alla Intel® oneAPI Base Toolkitist.
Pythoni distributsioonide kohta vaadake jaotist Intel® Distributioni installimine Pythoni* ja Intel® Performance Libraries koos pipi ja PyPI-ga.
Pythoni distributsioonide puhul pange tähele järgmist piirangut:
OneMKL-i arenduspakett (mkl-devel) PIP-levitamiseks Linuxis* ja macOS-is* ei paku dünaamiliste teekide sümlinke (lisateabe saamiseks vaadake PIP GitHubi väljaannet #5919).
Dünaamilise või ühe dünaamilise teegi linkimisel oneMKL-i arenduspaketiga (lisateabe saamiseks vaadake oneMKL-i lingirea nõustajat) peate muutma lingirida oneMKL-i teekide täisnimede ja versioonidega.
Lisateavet tööriistaga pkg-config kompileerimise ja linkimise kohta leiate jaotisest Intel® oneAPI Math Kernel Library ja pkg-config.
oneMKL-i lingirida exampkoos oneAPI Base Toolkitiga sümlinkide kaudu:

  • 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
    OneMKL-i lingi rida ntample koos PIP arenduspaketiga teekide täisnimede ja versioonide kaudu: 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 -lpthreliomp -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

2. samm: valige funktsioon või rutiin
Valige oneMKL-ist funktsioon või rutiin, mis teie probleemile kõige paremini sobib. Kasutage neid ressursse:

Allika link: sisu

oneMKL-i arendaja juhend Linuxi jaoks*
oneMKL Developer Guide for Windows*
oneMKL Developer Guide for macOS*

Arendaja juhend sisaldab üksikasjalikku teavet mitme teema kohta, sealhulgas:

  • Rakenduste koostamine ja sidumine
  • Kohandatud DLL-ide loomine
  • Keermestamine
  • Mälu haldamine

oneMKL-i arendaja viide – C
Keel oneMKL-i arendajaviited – Fortrani keel
oneMKL-i arendaja viide – DPC++ keel

  • Developer Reference (C-, Fortrani- ja DPC++-vormingus) sisaldab kõigi teegi domeenide funktsioonide ja liideste üksikasjalikke kirjeldusi.

Intel® oneAPI Math Kernel Library funktsioonide otsimise nõustaja

  • Kasutage LAPACKi funktsiooni leidmise nõustajat, et uurida LAPACKi rutiine, mis on konkreetse probleemi puhul kasulikud. Näiteksample, kui määrate toimingu järgmiselt:
    • Rutiini tüüp: arvutuslik
    • Arvutusprobleem: Ortogonaalne faktoriseerimine
    • Maatriksi tüüp: Üldine
    • Toiming: tehke QR faktoriseerimine

3. samm: linkige oma kood
Kasutage oneMKL Link Line Advisorit, et konfigureerida linkimiskäsk vastavalt oma programmi funktsioonidele.
Mõned piirangud ja lisanõuded:
Intel® oneAPI Math Kernel Library for DPC++ toetab ainult liidese teegi mkl_intel_ilp64 ja järjestikuse või TBB lõime kasutamist.

Staatilise linkimisega DPC++ liideste jaoks Linuxis
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
Näiteksample, main.cpp loomine/staatiline linkimine ilp64 liideste ja TBB lõimega:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–stardirühm ${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

Dünaamilise linkimisega DPC++ liideste jaoks Linuxis
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Näiteksample, main.cpp loomine/dünaamiline linkimine ilp64 liideste ja TBB lõimega:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lOpentllllm -lt

Staatilise linkimisega DPC++ liideste jaoks Windowsis
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
Näiteksample, main.cpp loomine/staatiline linkimine ilp64 liideste ja TBB lõimega:
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_cllib_thcore. .lib OpenCL.lib tbb.lib

Dünaamilise linkimisega DPC++ liideste jaoks Windowsis
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
Näiteksample, main.cpp loomine/dünaamiline linkimine ilp64 liideste ja TBB lõimega:
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.lib_mkllib_bb. .lib sycl.lib OpenCL.lib

OpenMP offload-toega C/Fortrani liideste jaoks
Kasutage C/Fotran Intel® oneAPI Math Kernel Library liideseid koos OpenMP GPU-le mahalaadimise funktsiooniga.
Selle funktsiooni kohta lisateabe saamiseks vaadake C OpenMP Offloadi arendajajuhendit.
Lisage C/Fortran oneMKL kompileerimis-/linkimisridadele järgmised muudatused, et lubada GPU-le OpenMP mahalaadimisfunktsioon:

  • Täiendavad kompileerimis-/linkimisvalikud: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
  • Täiendav üks MKL-i teek: üks MKL-i DPC++ teek

Näiteksample, main.cpp loomine/dünaamiline linkimine Linuxis ilp64 liideste ja OpenMP lõimega:
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
Kõigi muude toetatud konfiguratsioonide kohta vaadake jaotist Intel® oneAPI Math Kernel Library Link Line Advisor.

Otsige rohkem

Allikas: Kirjeldus

Õpetus: Intel® oneAPI matemaatikatuuma teegi kasutamine maatrikskorrutamiseks:

  • Õpetus – C keel
  • Õpetus – Fortrani keel

See õpetus näitab, kuidas saate oneMKL-i kasutada maatriksite korrutamiseks, maatriksi korrutamise toimivuse mõõtmiseks ja lõimestamise juhtimiseks.

Intel® oneAPI Math Kernel Library (oneMKL) väljalaskemärkmed kontrollivad lõime.
Väljalaskemärkmed sisaldavad teavet oneMKL-i uusima väljalaske kohta, sealhulgas uusi ja muudetud funktsioone. Väljalaskemärkmed sisaldavad linke väljalaskega seotud peamistele veebipõhistele teabeallikatele. Teavet leiate ka:

  • Mis on väljaandes uut
  • Toote sisu
  • Tehnilise toe saamine
  • Litsentsi määratlused

Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library (oneMKL) tooteleht. Tugi ja veebidokumentatsiooni leiate sellelt lehelt.

Intel® oneAPI Math Kernel Library kokaraamat
Intel® oneAPI Math Kernel Library sisaldab palju rutiine, mis aitavad teil lahendada erinevaid numbrilisi probleeme, nagu maatriksite korrutamine, võrrandisüsteemi lahendamine ja Fourier' teisendus.

Märkused Intel® oneAPI matemaatikatuuma teegi vektorstatistika kohta
See dokument sisaldab üleview, VS-s sisalduvate juhuslike arvude generaatorite kasutusmudel ja testimise tulemused.

Intel® oneAPI matemaatikatuuma teegi vektorstatistika juhuslike arvude generaatori jõudlusandmed
Jõudlusandmed, mis on saadud vektorstatistika (VS) juhuslike arvude generaatori (RNG), sealhulgas CPE (kellad elemendi kohta) mõõtühiku, põhiliste juhuslike arvude generaatorite (BRNG), genereeritud jaotusgeneraatorite ja genereeritud vektorite pikkuse abil.

Intel® oneAPI Math Kernel Library Vector Matemaatika jõudlus- ja täpsusandmed
Vector Mathematics (VM) arvutab elementaarfunktsioone vektorargumentide põhjal. VM sisaldab arvutuslikult kulukate matemaatiliste põhifunktsioonide (võimsus-, trigonomeetrilised, eksponentsiaalsed, hüperboolsed ja muud) väga optimeeritud teostused, mis töötavad vektoritel.

Rakenduse märkused Intel® oneAPI Math Kernel Library Summary Statistics kohta
Summary Statistics on Intel® oneAPI Math Kernel Library vektorstatistika domeeni alamkomponent. Summary Statistics pakub teile esialgse statistilise analüüsi funktsioone ja pakub lahendusi mitmemõõtmeliste andmekogumite paralleelseks töötlemiseks.

LAPACK Examples
See dokument sisaldab koodi examples ühe MKL LAPACK (Linear Algebra PACKage) rutiinide jaoks.

Märkused ja lahtiütlused
Jõudlustestides kasutatud tarkvara ja töökoormused võivad olla optimeeritud toimima ainult Inteli mikroprotsessorites. Toimivusteste, nagu SYSmark ja MobileMark, mõõdetakse konkreetsete arvutisüsteemide, komponentide, tarkvara, toimingute ja funktsioonide abil. Mis tahes muudatused nendes tegurites võivad põhjustada tulemuste muutumist. Peaksite tutvuma muu teabe ja toimivustestidega, mis aitavad teil täielikult hinnata oma kavandatavaid oste, sealhulgas selle toote toimivust koos teiste toodetega. Täpsema teabe saamiseks külastage www.intel.com/benchmarks.
Inteli tehnoloogiad võivad nõuda riistvara, tarkvara või teenuse aktiveerimist.
Ükski toode ega komponent ei saa olla täiesti turvaline.
Teie kulud ja tulemused võivad erineda.
© Intel Corporation. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.

Toodete ja toimivuse teave
Jõudlus sõltub kasutusest, konfiguratsioonist ja muudest teguritest. Lisateavet leiate aadressilt www.Intel.com/PerformanceIndex.
Teade redaktsiooni nr 20201201
See dokument ei anna intellektuaalomandi õiguste litsentsi (otsesõnalist ega kaudset, tõkestamise teel või muul viisil).
Kirjeldatud tooted võivad sisaldada konstruktsiooni vigu või vigu, mida nimetatakse errata-ks, mille tõttu toode võib avaldatud spetsifikatsioonidest kõrvale kalduda. Praegused iseloomustatud vead on saadaval nõudmisel.
Intel loobub kõikidest otsestest ja kaudsetest garantiidest, sealhulgas ilma piiranguteta kaudsetest garantiidest kaubeldavuse, konkreetseks otstarbeks sobivuse ja mitterikkumise kohta, samuti mis tahes garantiidest, mis tulenevad toimivusest, tehingute käigust või kaubanduses kasutamisest.

Dokumendid / Ressursid

intel oneAPI Math Kernel Library [pdfKasutusjuhend
oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *