Intel oneAPI Math Kernel Library
Започнете со Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library (oneMKL) ви помага да постигнете максимални перформанси со математичка компјутерска библиотека со високо оптимизирани, опширно паралелизирани рутини за процесорот и графичкиот процесор. Библиотеката има интерфејси C и Fortran за повеќето рутини на процесорот и DPC++ интерфејси за некои рутини и на процесорот и на графичкиот процесор. Можете да најдете сеопфатна поддршка за неколку математички операции во различни интерфејси, вклучувајќи:
За C и Fortran на процесорот
- Линеарна алгебра
- Брзи Фуриеви трансформации (FFT)
- Векторска математика
- Директни и итеративни ретки решавачи
- Генератори на случаен број
За DPC++ на процесорот и графичкиот процесор (Погледнете во Intel® oneAPI Math Kernel Library—Data Parallel C++ Reference Developer за повеќе детали.)
- Линеарна алгебра
- БЛАС
- Избрана функционалност Sparse BLAS
- Избрана функционалност LAPACK
- Брзи Фуриеви трансформации (FFT)
- 1D, 2D и 3D
- Генератори на случаен број
- Избрана функционалност
- Избрана функционалност за векторска математика
Пред да започнете
Посетете ја страницата Белешки за издавање за познати проблеми и најсовремени информации.
Посетете ја страницата Intel® oneAPI Math Kernel Library System Requirements за системските барања.
Посетете го Започнете со компајлерот Intel® oneAPI DPC++/C++ за барањата за компајлерот DPC++.
Чекор 1: Инсталирајте Intel® oneAPI Math Kernel Library
Преземете ја библиотеката за математички кернел на Intel® oneAPI од основната алатка на Intel® oneAPI.
За дистрибуции на Python, погледнете во Инсталирање на дистрибуција Intel® за Python* и Intel® Performance библиотеки со pip и PyPI.
За дистрибуциите на Python, забележете го следново ограничување:
Пакетот за развој на oneMKL (mkl-devel) за дистрибуција на PIP на Linux* и macOS* не обезбедува символи за динамични библиотеки (за повеќе информации видете го изданието на PIP GitHub #5919).
Во случај на динамична или единечна динамична библиотека што се поврзува со еден развојен пакет на oneMKL (за повеќе информации видете во oneMKL Link Line Advisor ) мора да ја измените линијата за врски со целосни имиња и верзии на библиотеките на oneMKL.
Погледнете во Intel® oneAPI Math Kernel Library и pkg-config алатката за информации за компајлирање и поврзување со алатката pkg-config.
линија за врска на oneMKL прampЛе со OneAPI Base Toolkit преку симболи:
- 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 -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 – В
Јазик oneMKL за програмери - јазик Fortran
Референца за програмери на oneMKL – Јазик DPC++
- Референцата за програмери (во формати C, Fortran и DPC++) содржи детални описи на функциите и интерфејсите за сите домени на библиотеката.
Советник за наоѓање функција на библиотека за математички јадро на Intel® OneAPI
- Користете го советникот за пронаоѓање на функцијата 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 threading:
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,–end-group -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 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 -lBbblpCLad -
За 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 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_libad symcl_th .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 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_dllbll_dkl. .lib sycl.lib OpenCL.lib
За C/Fortran интерфејси со OpenMP Offload поддршка
Користете ги интерфејсите C/Fotran Intel® oneAPI Math Kernel Library со функцијата OpenMP за исфрлање на графичкиот процесор.
Погледнете го Водичот за програмери на C OpenMP Offload за повеќе детали за оваа функција.
Додадете ги следните промени во линиите за компајлирање/врска на C/Fortran oneMKL за да ја овозможите функцијата за испуштање OpenMP на графичкиот процесор:
- Дополнителни опции за компајлирање/врска: -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 Line Advisor.
Најдете повеќе
Ресурс: Опис
Упатство: Користење на Intel® oneAPI Math Kernel Library за множење на матрици:
- Упатство – C Јазик
- Упатство – Фортран јазик
Овој туторијал покажува како можете да го користите oneMKL за множење матрици, мерење на перформансите на множење на матрици и контрола на нишките.
Intel® oneAPI Math Kernel Library (oneMKL) Release Notes го контролира нишките.
Белешките за издавање содржат информации специфични за најновото издание на oneMKL, вклучувајќи нови и променети функции. Белешките за ослободување вклучуваат врски до главните онлајн информативни ресурси поврзани со објавувањето. Можете исто така да најдете информации за:
- Што има ново во изданието
- Содржина на производот
- Добивање техничка поддршка
- Дефиниции за лиценци
Библиотека за математички јадро на Intel® oneAPI
Страницата на производот на Intel® oneAPI Math Kernel Library (oneMKL). Погледнете ја оваа страница за поддршка и онлајн документација.
Готвач на Intel® oneAPI Math Kernel Library
Intel® oneAPI Math Kernel Library содржи многу рутини кои ќе ви помогнат да решавате различни нумерички проблеми, како што се множење матрици, решавање на систем од равенки и извршување на Фуриеова трансформација.
Белешки за векторска статистика на библиотеката за математички јадро на Intel® oneAPI
Овој документ вклучува надview, модел на употреба и резултати од тестирање на генератори на случаен број вклучени во VS.
Интел® oneAPI Математичка библиотека на јадрото Векторска статистика Податоци за перформансите на генератор на случаен број
Податоците за перформансите добиени со користење на векторска статистика (VS) генератор на случаен број (RNG) вклучувајќи CPE (часовници по елемент) единица мерка, основни генератори на случаен број (BRNG), генерирани генератори на дистрибуција и должина на генерирани вектори.
Интел® oneAPI Math Kernel Library Векторска математика Податоци за перформанси и точност
Векторска математика (ВМ) пресметува елементарни функции на векторски аргументи. VM вклучува збир на високо оптимизирани имплементации на пресметковно скапи основни математички функции (моќ, тригонометриски, експоненцијални, хиперболични и други) кои работат на вектори.
Забелешки за апликацијата за статистика на резиме на библиотеката за математички јадро на Intel® oneAPI
Резиме статистика е поткомпонента на доменот Векторска статистика на Intel® oneAPI Math Kernel Library. Резиме статистика ви обезбедува функции за почетна статистичка анализа и нуди решенија за паралелна обработка на повеќедимензионални сетови на податоци.
LAPACK Прampлес
Овој документ обезбедува код на прamples за oneMKL LAPACK (линеарен алгебарски пакет) рутини.
Известувања и одрекувања
Софтверот и обемот на работа што се користат во тестовите за изведба можеби се оптимизирани за перформанси само на микропроцесорите на Intel. Тестовите за изведба, како што се SYSmark и MobileMark, се мерат со користење на специфични компјутерски системи, компоненти, софтвер, операции и функции. Секоја промена на некој од тие фактори може да предизвика различни резултати. Треба да се консултирате со други информации и тестови за изведба за да ви помогнат целосно да ги процените вашите планирани набавки, вклучително и перформансите на тој производ кога се комбинираат со други производи. За подетални информации посетете www.intel.com/benchmarks.
Технологиите на Интел може да бараат активиран хардвер, софтвер или услуга за активирање.
Ниту еден производ или компонента не може да биде апсолутно безбеден.
Вашите трошоци и резултати може да варираат.
© Интел корпорација. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Други имиња и брендови може да се бараат како сопственост на други.
Информации за производот и перформансите
Перформансите се разликуваат според употребата, конфигурацијата и други фактори. Дознајте повеќе на www.Intel.com/PerformanceIndex.
Известување за ревизија #20201201
Ниту една лиценца (експресно или имплицирана, со estoppel или на друг начин) за какви било права на интелектуална сопственост не е дадена со овој документ.
Опишаните производи може да содржат дефекти во дизајнот или грешки познати како неправилности што може да предизвикаат производот да отстапи од објавените спецификации. Тековните карактеризирани грешки се достапни на барање.
Интел ги отфрла сите изречни и имплицитни гаранции, вклучително и без ограничување, имплицитните гаранции за прометливост, соодветност за одредена цел и непрекршување, како и каква било гаранција што произлегува од текот на извршувањето, текот на работењето или употребата во трговијата.
Документи / ресурси
![]() |
Intel oneAPI Math Kernel Library [pdf] Упатство за корисникот oneAPI библиотека за математички кернел, библиотека за математички јадро, библиотека на јадрото, библиотека |