intel-лагатып

Intel oneAPI Math Kernel Library

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

Пачніце з Intel® oneAPI Math Kernel Library

Бібліятэка Intel® oneAPI Math Kernel Library (oneMKL) дапаможа вам дасягнуць максімальнай прадукцыйнасці з дапамогай бібліятэкі матэматычных вылічэнняў высокааптымізаваных, шырока паралелізаваных працэдур для CPU і GPU. Бібліятэка мае інтэрфейсы C і Fortran для большасці працэдур на CPU і інтэрфейсы DPC++ для некаторых працэдур як на CPU, так і на GPU. Вы можаце знайсці поўную падтрымку некалькіх матэматычных аперацый у розных інтэрфейсах, уключаючы:

Для C і Fortran на працэсары

  • Лінейная алгебра
  • Хуткае пераўтварэнне Фур'е (БПФ)
  • Вектарная матэматыка
  • Прамыя і ітэрацыйныя разрэджаныя вырашальнікі
  • Генератары выпадковых лікаў

Для DPC++ на CPU і GPU (падрабязней глядзіце ў Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference.)

  • Лінейная алгебра
    • БЛАС
    • Выбраная функцыя Sparse BLAS
    • Выбраная функцыя LAPACK
  • Хуткае пераўтварэнне Фур'е (БПФ)
    • 1D, 2D і 3D
  • Генератары выпадковых лікаў
    • Абраны функцыянал
  • Выбраныя функцыі Vector Math

Перш чым пачаць
Наведайце старонку заўваг аб выпуску, каб даведацца пра вядомыя праблемы і самую свежую інфармацыю.
Наведайце старонку сістэмных патрабаванняў Intel® oneAPI Math Kernel Library, каб даведацца пра сістэмныя патрабаванні.
Наведайце Пачатак працы з кампілятарам Intel® oneAPI DPC++/C++ для атрымання патрабаванняў да кампілятара DPC++.

Крок 1: усталюйце бібліятэку матэматычнага ядра Intel® oneAPI
Спампуйце бібліятэку Intel® oneAPI Math Kernel Library з базавага набору інструментаў Intel® oneAPI.
Для дыстрыбутываў Python звярніцеся да Усталёўка дыстрыбутыва Intel® для Python* і бібліятэк прадукцыйнасці Intel® з pip і PyPI.
Для дыстрыбутываў Python звярніце ўвагу на наступнае абмежаванне:
Пакет oneMKL devel (mkl-devel) для размеркавання PIP у Linux* і macOS* не дае сімвалічных спасылак на дынамічныя бібліятэкі (дадатковую інфармацыю гл. у выпуску PIP GitHub № 5919).
У выпадку дынамічнага або адзінкавага дынамічнага звязвання бібліятэкі з пакетам распрацоўкі oneMKL (для атрымання дадатковай інфармацыі гл. oneMKL Link Line Advisor ) вы павінны змяніць радок спасылкі з поўнымі імёнамі і версіямі бібліятэк oneMKL.
Звярніцеся да Intel® oneAPI Math Kernel Library і інструмента pkg-config для атрымання інфармацыі аб кампіляцыі і звязванні з інструментам pkg-config.
лінія спасылкі oneMKL напрample з базавым наборам інструментаў 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 напрampфайл з пакетам распрацоўкі 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 -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

Крок 2: Выберыце функцыю або працэдуру
Выберыце функцыю або працэдуру з oneMKL, якая лепш за ўсё падыходзіць для вашай праблемы. Выкарыстоўвайце гэтыя рэсурсы:

Спасылка на рэсурс: Змест

Кіраўніцтва распрацоўшчыка oneMKL для Linux*
Кіраўніцтва распрацоўшчыка oneMKL для Windows*
Кіраўніцтва распрацоўшчыка oneMKL для macOS*

Кіраўніцтва распрацоўшчыка змяшчае падрабязную інфармацыю па некалькіх тэмах, уключаючы:

  • Кампіляцыя і спасылка прыкладанняў
  • Стварэнне карыстацкіх DLL
  • Разьба
  • Кіраванне памяццю

Даведка распрацоўшчыка oneMKL – C
Даведка распрацоўшчыка мовы oneMKL – мова Fortran
Даведка распрацоўшчыка oneMKL – мова DPC++

  • Даведнік распрацоўшчыка (у фарматах C, Fortran і DPC++) утрымлівае падрабязныя апісанні функцый і інтэрфейсаў для ўсіх даменаў бібліятэк.

Intel® oneAPI Math Kernel Library Дарадца па пошуку функцый

  • Скарыстайцеся дарадцам па пошуку функцый LAPACK, каб вывучыць працэдуры LAPACK, карысныя для канкрэтнай праблемы. Напрыкладample, калі вы задасце аперацыю як:
    • Тып праграмы: вылічальная
    • Разліковая задача: Артаганальная разкладка на множнікі
    • Тып матрыцы: Агульная
    • Аперацыя: выканаць QR факторызацыю

Крок 3: Прывяжыце свой код
Выкарыстоўвайце oneMKL Link Line Advisor, каб наладзіць каманду спасылкі ў адпаведнасці з функцыямі вашай праграмы.
Некаторыя абмежаванні і дадатковыя патрабаванні:
Бібліятэка Intel® oneAPI Math Kernel Library для DPC++ падтрымлівае толькі выкарыстанне бібліятэкі інтэрфейсу mkl_intel_ilp64 і паслядоўных патокаў або TBB.

Для інтэрфейсаў DPC++ са статычным звязваннем у Linux
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–пачатковая група ${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=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–пачатковая група ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,–канчатковая група -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl

Для інтэрфейсаў DPC++ з дынамічным звязваннем у Linux
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 -ltbb -lpthread -ldl -lm

Для інтэрфейсаў DPC++ са статычным прывязваннем у 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
Напрыклад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_tbb_thread.lib mkl_core.lib sycl .lib OpenCL.lib tbb.lib

Для інтэрфейсаў DPC++ з дынамічнай прывязкай у 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
Напрыклад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.lib mkl_tbb_thread_dll.lib mkl_core_dll.lib tbb .lib sycl.lib OpenCL.lib

Для інтэрфейсаў C/Fortran з падтрымкай разгрузкі OpenMP
Выкарыстоўвайце інтэрфейс C/Fotran Intel® oneAPI Math Kernel Library з функцыяй разгрузкі OpenMP на GPU.
Больш падрабязную інфармацыю аб гэтай функцыі глядзіце ў Кіраўніцтве распрацоўшчыка C OpenMP Offload.
Дадайце наступныя змены ў радкі кампіляцыі/спасылкі C/Fortran oneMKL, каб уключыць функцыю разгрузкі OpenMP у GPU:

  • Дадатковыя параметры кампіляцыі/спасылкі: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
  • Дадатковая бібліятэка oneMKL: бібліятэка oneMKL DPC++

Напрыкладample, стварэнне/дынамічнае звязванне main.cpp на Linux з інтэрфейсамі 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 Link Advisor.

Знайсці больш

Рэсурс: Апісанне

Падручнік: выкарыстанне матэматычнай бібліятэкі ядра Intel® oneAPI для множання матрыц:

  • Падручнік – мова C
  • Падручнік – Мова Fortran

Гэты падручнік дэманструе, як вы можаце выкарыстоўваць oneMKL для множання матрыц, вымярэння прадукцыйнасці множання матрыц і кіравання патокамі.

Нататкі аб выпуску Intel® oneAPI Math Kernel Library (oneMKL) кантралююць паток.
Заўвагі да выпуску ўтрымліваюць інфармацыю, характэрную для апошняга выпуску oneMKL, уключаючы новыя і змененыя функцыі. Заўвагі да выпуску ўключаюць спасылкі на асноўныя інфармацыйныя рэсурсы ў Інтэрнэце, звязаныя з выпускам. Вы таксама можаце знайсці інфармацыю па:

  • Што новага ў выпуску
  • Змест прадукту
  • Атрыманне тэхнічнай падтрымкі
  • Вызначэнні ліцэнзій

Intel® oneAPI Math Kernel Library
Старонка прадукту Intel® oneAPI Math Kernel Library (oneMKL). Глядзіце гэтую старонку для атрымання падтрымкі і анлайн-дакументацыі.

Intel® oneAPI Math Kernel Library Cookbook
Бібліятэка Intel® oneAPI Math Kernel Library змяшчае мноства працэдур, якія дапамогуць вам вырашыць розныя лікавыя задачы, такія як множанне матрыц, рашэнне сістэмы ўраўненняў і выкананне пераўтварэння Фур'е.

Заўвагі для вектарнай статыстыкі Intel® oneAPI Math Kernel Library
Гэты дакумент уключае аверview, мадэль выкарыстання і вынікі тэставання генератараў выпадковых лікаў, уключаных у VS.

Intel® oneAPI Math Kernel Library Vector Statistic Даныя аб прадукцыйнасці генератара выпадковых лікаў
Даныя аб прадукцыйнасці, атрыманыя з дапамогай генератара выпадковых лікаў (RNG) вектарнай статыстыкі (VS), уключаючы CPE (такты на элемент), асноўныя генератары выпадковых лікаў (BRNG), генератары размеркавання і даўжыню згенераваных вектараў.

Прадукцыйнасць і дакладнасць даных вектарнай матэматыкі Intel® oneAPI Math Kernel Library
Вектарная матэматыка (ВМ) вылічвае элементарныя функцыі на вектарных аргументах. VM уключае ў сябе набор высокааптымізаваных рэалізацый асноўных матэматычных функцый (ступенныя, трыганаметрычныя, экспанентныя, гіпербалічныя і іншыя), якія працуюць з вектарамі, дарагіх у плане вылічэнняў.

Нататкі па ўжыванні для Intel® oneAPI Math Kernel Library Summary Statistics
Summary Statistics з'яўляецца падкампанентам дамена вектарнай статыстыкі Intel® oneAPI Math Kernel Library. Summary Statistics дае вам функцыі для першапачатковага статыстычнага аналізу і прапануе рашэнні для паралельнай апрацоўкі шматмерных набораў даных.

LAPACK Выхampлес
Гэты дакумент змяшчае код exampфайлы для працэдур oneMKL LAPACK (PACKage лінейнай алгебры).

Заўвагі і адмова ад адказнасці
Праграмнае забеспячэнне і працоўныя нагрузкі, якія выкарыстоўваюцца ў тэстах прадукцыйнасці, маглі быць аптымізаваны для прадукцыйнасці толькі на мікрапрацэсарах Intel. Тэсты прадукцыйнасці, такія як SYSmark і MobileMark, вымяраюцца з дапамогай пэўных камп'ютэрных сістэм, кампанентаў, праграмнага забеспячэння, аперацый і функцый. Любое змяненне любога з гэтых фактараў можа прывесці да змены вынікаў. Вы павінны пракансультавацца з іншай інфармацыяй і тэстамі прадукцыйнасці, каб дапамагчы вам у поўнай ацэнцы запланаваных пакупак, уключаючы прадукцыйнасць гэтага прадукта ў спалучэнні з іншымі прадуктамі. Для больш поўнай інфармацыі наведайце www.intel.com/benchmarks.
Тэхналогіі Intel могуць запатрабаваць актываванага абсталявання, праграмнага забеспячэння або актывацыі службы.
Ні адзін прадукт ці кампанент не можа быць абсалютна бяспечным.
Вашы выдаткі і вынікі могуць адрознівацца.
© Карпарацыя Intel. Intel, лагатып Intel і іншыя знакі Intel з'яўляюцца гандлёвымі маркамі карпарацыі Intel або яе даччыных кампаній. Іншыя назвы і брэнды могуць быць заяўлены як уласнасць іншых.

Інфармацыя аб прадукце і прадукцыйнасці
Прадукцыйнасць залежыць ад выкарыстання, канфігурацыі і іншых фактараў. Даведайцеся больш на www.Intel.com/PerformanceIndex.
Рэдакцыя паведамлення № 20201201
Гэты дакумент не дае ніякіх ліцэнзій (яўных або пэўных, па законе або іншым чынам) на правы інтэлектуальнай уласнасці.
Апісаныя прадукты могуць утрымліваць канструктыўныя дэфекты або памылкі, вядомыя як памылкі, якія могуць прывесці да адхілення прадукту ад апублікаваных спецыфікацый. Бягучыя характарыстыкі памылак даступныя па запыце.
Intel адмаўляецца ад усіх відавочных і пэўных гарантый, уключаючы, без абмежавання, падразумныя гарантыі таварнасці, прыдатнасці для пэўнай мэты і адсутнасці парушэнняў, а таксама любыя гарантыі, якія вынікаюць з ходу працы, ходу здзелак або выкарыстання ў гандлі.

Дакументы / Рэсурсы

Intel oneAPI Math Kernel Library [pdfКіраўніцтва карыстальніка
oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *