intel oneAPI математикалык ядро китепканасы
Intel® oneAPI математикалык ядро китепканасы менен баштаңыз
Intel® oneAPI Math Kernel Library (oneMKL) сизге CPU жана GPU үчүн жогорку оптималдаштырылган, кеңири параллелдүү процедуралардан турган математикалык эсептөө китепканасы менен максималдуу аткарууга жетишүүгө жардам берет. Китепканада CPUдагы көпчүлүк процедуралар үчүн C жана Fortran интерфейстери жана CPU менен GPUдагы кээ бир процедуралар үчүн DPC++ интерфейстери бар. Сиз ар кандай интерфейстерде бир нече математикалык операциялар үчүн ар тараптуу колдоо таба аласыз, анын ичинде:
CPU боюнча C жана Fortran үчүн
- Сызыктуу алгебра
- Тез Фурье трансформациялары (FFT)
- Вектордук математика
- Түз жана кайталануучу сейрек чечүүчү
- Кокус сандар генераторлору
CPU жана GPUдагы DPC++ үчүн (Көбүрөөк маалымат алуу үчүн Intel® oneAPI Математикалык Ядро китепканасы—Data Parallel C++ Иштеп чыгуучу шилтемесин караңыз.)
- Сызыктуу алгебра
- BLAS
- Тандалган Sparse BLAS функциясы
- Тандалган LAPACK функциясы
- Тез Фурье трансформациялары (FFT)
- 1D, 2D жана 3D
- Кокус сандар генераторлору
- Тандалган функция
- Тандалган вектордук математика функциясы
Баштоодон мурун
Белгилүү маселелер жана эң акыркы маалымат үчүн Release Notes баракчасына баш багыңыз.
Системалык талаптар үчүн Intel® oneAPI Математикалык Ядро китепканасынын тутум талаптары барагына баш багыңыз.
Intel® oneAPI DPC++/C++ компилятору үчүн DPC++ компиляторунун талаптарын колдонууну баштоого баш багыңыз.
1-кадам: Intel® oneAPI математикалык ядро китепканасын орнотуңуз
Intel® oneAPI Math ядролук китепканасын Intel® oneAPI базалык куралдар топтомунан жүктөп алыңыз.
Python дистрибуциялары үчүн Python* жана Intel® Performance Libraries үчүн Intel® Distribution орнотууну pip жана PyPI менен караңыз.
Python бөлүштүрүүлөрү үчүн төмөнкү чектөөнү белгилеңиз:
Linux* жана macOS* боюнча PIP бөлүштүрүү үчүн oneMKL иштеп чыгуу пакети (mkl-devel) динамикалык китепканалардын символдук шилтемелерин бербейт (көбүрөөк маалымат үчүн PIP GitHub чыгарылышы №5919 караңыз).
OneMKL иштеп чыгуу пакети менен динамикалык же бир динамикалык китепкана байланышкан учурда (кошумча маалымат алуу үчүн oneMKL Link Line Advisor караңыз) сиз шилтеме линиясын oneMKL китепканаларынын толук аталыштары жана версиялары менен өзгөртүшүңүз керек.
Компиляция жана pkg-конфигурация куралы менен байланышуу жөнүндө маалымат алуу үчүн Intel® oneAPI математикалык ядро китепканасын жана pkg-конфигурация куралын караңыз.
oneMKL шилтеме линиясы exampSymlinks аркылуу oneAPI базалык куралдар топтому менен:
- 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 шилтеме сызыгы мурункуample PIP иштеп пакети менен китепканалар аркылуу толук аттары жана версиялары: 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 -p -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-кадам: Функцияны же Режимди тандаңыз
OneMKLден көйгөйүңүзгө эң ылайыктуу функцияны же процедураны тандаңыз. Бул ресурстарды колдонуңуз:
Ресурстук шилтеме: Мазмуну
Linux үчүн oneMKL Иштеп чыгуучу колдонмосу*
Windows үчүн oneMKL Иштеп чыгуучу колдонмосу*
macOS үчүн oneMKL Иштеп чыгуучу колдонмосу*
Иштеп чыгуучу колдонмосу бир нече темалар боюнча толук маалыматты камтыйт, анын ичинде:
- Колдонмолорду түзүү жана байланыштыруу
- Ыңгайлаштырылган DLLдерди куруу
- Threading
- Memory Management
oneMKL Иштеп чыгуучу маалымдамасы - C
Тили oneMKL Иштеп чыгуучуга шилтеме – Fortran тили
oneMKL Иштеп чыгуучуга шилтемеси – DPC++ тили
- Иштеп чыгуучуга шилтеме (C, Fortran жана DPC++ форматтарында) бардык китепкана домендери үчүн функциялардын жана интерфейстердин деталдуу сүрөттөмөлөрүн камтыйт.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- LAPACK функциясын табуу кеңешчисин колдонуп, белгилүү бир көйгөй үчүн пайдалуу LAPACK процедураларын изилдеңиз. Мисалы үчүнample, эгерде сиз операцияны төмөнкүдөй көрсөтсөңүз:
- Күнүмдүк түрү: Эсептөөчү
- Эсептөө маселеси: Ортогоналдык факторизация
- Матрицанын түрү: Жалпы
- Операция: QR факторизациясын аткарыңыз
3-кадам: Кодуңузду байланыштырыңыз
Программаңыздын өзгөчөлүктөрүнө жараша шилтеме буйругун конфигурациялоо үчүн oneMKL Link Line Advisor колдонуңуз.
Кээ бир чектөөлөр жана кошумча талаптар:
DPC++ үчүн Intel® oneAPI математикалык ядро китепканасы mkl_intel_ilp64 интерфейсинин китепканасын жана ырааттуу же TBB жиптерин колдонууну гана колдойт.
Linux боюнча статикалык байланышы бар DPC++ интерфейстери үчүн
icpx -fsycl -fsycl-device-code-split=ар_ядро -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
Мисалы үчүнample, main.cppти ilp64 интерфейстери жана TBB жиптери менен куруу/статикалык байланыштыруу:
icpx -fsycl -fsycl-device-code-split=ар_ядро -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
Linux боюнча динамикалык байланышы бар DPC++ интерфейстери үчүн
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Мисалы үчүнample, main.cppти ilp64 интерфейстери жана 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 -lOpenCL -ltbbl -ad -
Windows'до статикалык байланышы бар DPC++ интерфейстери үчүн
icpx -fsycl -fsycl-device-code-split=ар_ядро -DMKL_ILP64 “%MKLROOT%”\lib\intel64\mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
Мисалы үчүнample, main.cppти ilp64 интерфейстери жана 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.lib mkl_intel_ilpXNUMX.lib mkl_tlibclsycl_th .lib OpenCL.lib tbb.lib
Windows'до динамикалык байланышы бар DPC++ интерфейстери үчүн
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
Мисалы үчүнample, main.cppти ilp64 интерфейстери жана 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_ilp64_dll_libblld.kllibmre bb .lib sycl.lib OpenCL.lib
OpenMP түшүрүү колдоосу менен C/Fortran Interfaces үчүн
C/Fotran Intel® oneAPI Math Kernel Library интерфейстерин GPUга OpenMP түшүрүү өзгөчөлүгү менен колдонуңуз.
Бул функция жөнүндө көбүрөөк маалымат алуу үчүн C OpenMP Offload Иштеп чыгуучу колдонмосун караңыз.
GPU'га OpenMP түшүрүү мүмкүнчүлүгүн иштетүү үчүн C/Fortran oneMKL компиляция/шилтеме линияларына төмөнкү өзгөртүүлөрдү кошуңуз:
- Кошумча компиляция/шилтеме параметрлери: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Кошумча oneMKL китепканасы: oneMKL DPC++ китепканасы
Мисалы үчүнample, Linux'та main.cppти ilp64 интерфейстери жана OpenMP жиптери менен куруу/ динамикалык байланыштыруу:
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
Бардык башка колдоого алынган конфигурациялар үчүн, Intel® oneAPI Math Kernel Library Line Line Advisor караңыз.
Көбүрөөк табуу
Ресурс: Description
Окуу куралы: Intel® oneAPI математикалык ядро китепканасын матрицаны көбөйтүү үчүн колдонуу:
- Окуу куралы – C тили
- Окуу куралы – Fortran тили
Бул окуу куралы матрицаларды көбөйтүү, матрицаларды көбөйтүүнүн натыйжалуулугун өлчөө жана жипти башкаруу үчүн oneMKLди кантип колдонсоңуз болорун көрсөтөт.
Intel® oneAPI Math Kernel Library (oneMKL) Release Notes жиптерин башкаруу.
Чыгарылган эскертүүлөр жаңы жана өзгөртүлгөн функцияларды камтыган oneMKL акыркы релизине тиешелүү маалыматты камтыйт. Чыгарылган эскертүүлөр релизге байланыштуу негизги онлайн маалымат ресурстарына шилтемелерди камтыйт. Сиз ошондой эле маалымат таба аласыз:
- Чыгармада кандай жаңылыктар бар
- Продукт мазмуну
- Техникалык колдоо алуу
- Лицензия аныктамасы
Intel® oneAPI математикалык ядро китепканасы
Intel® oneAPI Math Kernel Library (oneMKL) продукт бети. Колдоо жана онлайн документтер үчүн бул баракты караңыз.
Intel® oneAPI Math Kernel Library Cookbook
Intel® oneAPI Математикалык Ядро китепканасы матрицаларды көбөйтүү, теңдемелер системасын чечүү жана Фурье трансформациясын аткаруу сыяктуу ар кандай сандык маселелерди чечүүгө жардам берген көптөгөн процедураларды камтыйт.
Intel® oneAPI Math Kernel Library Vector Statistics үчүн эскертүүлөр
Бул документ ашык камтыйтview, VS камтылган кокус сандар генераторлорунун колдонуу модели жана тестирлөө натыйжалары.
Intel® oneAPI Математикалык Ядро китепканасы Вектордук Статистика Кокус сандар генераторунун иштешинин берилиштери
Вектордук статистиканын (VS) кокус сандар генераторунун (RNG) жардамы менен алынган аткаруу маалыматтары, анын ичинде CPE (элементтеги сааттар) өлчөө бирдиги, негизги кокус сан генераторлору (BRNG), түзүлгөн бөлүштүрүү генераторлору жана түзүлгөн векторлордун узундугу.
Intel® oneAPI математикалык ядро китепканасы вектордук математиканын аткаруу жана тактык маалыматтары
Вектордук математика (VM) вектордук аргументтерде элементардык функцияларды эсептейт. VM векторлордо иштеген эсептөө жагынан кымбат негизги математикалык функциялардын (күч, тригонометриялык, экспоненциалдык, гипербола жана башкалар) жогорку оптималдаштырылган ишке ашыруу комплексин камтыйт.
Intel® oneAPI Math Kernel Library Жыйынтык Статистикасы үчүн Колдонмо эскертүүлөрү
Кыскача статистика Intel® oneAPI Math ядролук китепканасынын Вектордук статистика доменинин субкомпоненти болуп саналат. Жыйынтык Статистика сизге алгачкы статистикалык талдоо үчүн функцияларды берет жана көп өлчөмдүү маалымат топтомдорун параллелдүү иштетүү үчүн чечимдерди сунуштайт.
LAPACK Examples
Бул документ экс кодун беретamponeMKL LAPACK (Сызыктуу алгебра PACKage) процедуралары үчүн.
Эскертүүлөр жана баш тартуулар
Өндүрүштүк сыноолордо колдонулган программалык камсыздоо жана жумуш жүктөрү Intel микропроцессорлорунда гана иштөө үчүн оптималдаштырылган болушу мүмкүн. SYSmark жана MobileMark сыяктуу аткаруу тесттери конкреттүү компьютердик системаларды, компоненттерди, программалык камсыздоону, операцияларды жана функцияларды колдонуу менен өлчөнөт. Бул факторлордун бирине болгон кандайдыр бир өзгөртүү натыйжалардын өзгөрүшүнө алып келиши мүмкүн. Сиз пландаштырылган сатып алууларыңызды, анын ичинде башка өнүмдөр менен айкалышканда ал продукттун натыйжалуулугун толук баалоого жардам берүү үчүн башка маалымат жана натыйжалуулук сыноолоруна кайрылышыңыз керек. Көбүрөөк маалымат алуу үчүн кириңиз www.intel.com/benchmarks.
Intel технологиялары иштетилген жабдыкты, программалык камсыздоону же кызматты жандантууну талап кылышы мүмкүн.
Эч бир продукт же компонент толугу менен коопсуз боло албайт.
Сиздин чыгымдарыңыз жана натыйжаларыңыз ар кандай болушу мүмкүн.
© Intel Corporation. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Башка аталыштар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
Продукт жана аткаруу маалыматы
Өндүрүмдүүлүк колдонууга, конфигурацияга жана башка факторлорго жараша өзгөрөт. Көбүрөөк маалымат алуу www.Intel.com/PerformanceIndex.
№20201201 версиясына эскертүү
Бул документ тарабынан эч кандай интеллектуалдык менчик укуктарына эч кандай лицензия (экстоппел же башка жол менен ачык же кыйыр түрдө) берилбейт.
Сүрөттөлгөн өнүмдөр дизайн кемчиликтерин же ката деп аталган каталарды камтышы мүмкүн, алар продукттун жарыяланган спецификациялардан четтеп кетишине алып келиши мүмкүн. Учурдагы мүнөздөлгөн каталар суроо-талабы боюнча жеткиликтүү.
Intel бардык ачык жана кыйыр кепилдиктерден баш тартат, анын ичинде чектөөсүз, сатууга жарамдуулугун, белгилүү бир максатка ылайыктуулугун жана укук бузууга жол бербөө кепилдиктерин, ошондой эле аткаруунун жүрүшүнөн, сооданын жүрүшүнөн же соодада колдонуудан келип чыккан ар кандай кепилдиктер.
Документтер / Ресурстар
![]() |
intel oneAPI математикалык ядро китепканасы [pdf] Колдонуучунун колдонмосу oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |