intel oneAPI математика ядросының кітапханасы
Intel® oneAPI математикалық ядролық кітапханасымен жұмысты бастаңыз
Intel® oneAPI математикалық ядро кітапханасы (oneMKL) процессор мен графикалық процессорға арналған жоғары оңтайландырылған, ауқымды параллельді жұмыс режимдерінің математикалық есептеу кітапханасымен максималды өнімділікке қол жеткізуге көмектеседі. Кітапханада орталық процессордағы процедуралардың көпшілігі үшін C және Fortran интерфейстері және CPU және GPU екеуінде де кейбір процедуралар үшін DPC++ интерфейстері бар. Түрлі интерфейстерде бірнеше математикалық операцияларға жан-жақты қолдау таба аласыз, соның ішінде:
Орталық процессордағы C және Fortran үшін
- Сызықтық алгебра
- Жылдам Фурье түрлендірулері (FFT)
- Векторлық математика
- Тікелей және қайталанатын сирек шешушілер
- Кездейсоқ сандар генераторлары
CPU және GPU жүйесіндегі DPC++ үшін (қосымша мәліметтер алу үшін Intel® oneAPI математикалық ядро кітапханасы—Data Parallel C++ әзірлеуші анықтамасын қараңыз.)
- Сызықтық алгебра
- BLAS
- Таңдалған Sparse BLAS функциясы
- Таңдалған LAPACK функциясы
- Жылдам Фурье түрлендірулері (FFT)
- 1D, 2D және 3D
- Кездейсоқ сандар генераторлары
- Таңдалған функция
- Таңдалған векторлық математика функциясы
Бастамас бұрын
Белгілі мәселелер мен ең соңғы ақпарат үшін Шығарылым ескертпесі бетіне кіріңіз.
Жүйе талаптарын білу үшін Intel® oneAPI математикалық ядро кітапханасының жүйе талаптары бетіне кіріңіз.
DPC++ компиляторына арналған Intel® oneAPI DPC++/C++ компиляторымен жұмысты бастау бөліміне кіріңіз.
1-қадам: Intel® oneAPI математикалық ядро кітапханасын орнатыңыз
Intel® oneAPI Math ядросының кітапханасын Intel® oneAPI негізгі құралдар жинағынан жүктеп алыңыз.
Python дистрибутивтері үшін Python* үшін Intel® Distribution және pip және PyPI көмегімен Intel® өнімділік кітапханаларын орнату бөлімін қараңыз.
Python дистрибутивтері үшін келесі шектеуді ескеріңіз:
Linux* және macOS* жүйелерінде PIP таратуға арналған oneMKL әзірлеу пакеті (mkl-devel) динамикалық кітапханалардың символдық сілтемелерін қамтамасыз етпейді (қосымша ақпаратты PIP GitHub шығарылымының №5919 бөлімінен қараңыз).
Динамикалық немесе жалғыз динамикалық кітапхана oneMKL әзірлеу пакетімен байланыстырылған жағдайда (қосымша ақпаратты oneMKL Link Line Advisor бөлімінен қараңыз) oneMKL кітапханаларының толық атаулары мен нұсқалары бар сілтеме жолын өзгерту керек.
Компиляция және pkg-config құралымен байланыстыру туралы ақпаратты Intel® oneAPI математикалық ядро кітапханасы мен pkg-config құралын қараңыз.
oneMKL сілтеме сызығы, мысалыampSymlinks арқылы 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 -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 файлдарын құру
- Жіп
- Жадты басқару
oneMKL әзірлеуші анықтамасы – C
Тіл oneMKL әзірлеуші анықтамасы – Fortran тілі
oneMKL әзірлеуші анықтамасы – DPC++ тілі
- Әзірлеуші анықтамасы (C, Fortran және DPC++ пішімдерінде) барлық кітапхана домендері үшін функциялар мен интерфейстердің толық сипаттамаларын қамтиды.
Intel® oneAPI математикалық ядро кітапханасының функцияларын іздеу бойынша кеңесші
- Белгілі бір мәселе үшін пайдалы 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 -ltbbld -ltad -
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_read.libclsyclmth .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_libbblld.kllibdmre .lib sycl.lib OpenCL.lib
OpenMP түсіру қолдауы бар C/Fortran интерфейстері үшін
C/Fotran Intel® oneAPI математикалық ядро кітапханасының интерфейстерін GPU-ға OpenMP жүктеу мүмкіндігімен пайдаланыңыз.
Бұл мүмкіндік туралы қосымша мәліметтер алу үшін C OpenMP жүктеуді шығарушы нұсқаулығын қараңыз.
OpenMP жүктеу мүмкіндігін GPU жүйесіне қосу үшін 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 математикалық ядро кітапханасының сілтеме жолы кеңесшісі бөлімін қараңыз.
Қосымша табу
Ресурс: Сипаттама
Оқулық: матрицаны көбейту үшін Intel® oneAPI математикалық ядролық кітапхананы пайдалану:
- Оқулық – C тілі
- Оқулық – Fortran тілі
Бұл оқулық матрицаларды көбейту, матрицаларды көбейту өнімділігін өлшеу және ағынды басқару үшін oneMKL қалай пайдалануға болатынын көрсетеді.
Intel® oneAPI математикалық ядро кітапханасы (oneMKL) шығарылым жазбаларын басқару ағыны.
Шығарылым жазбаларында жаңа және өзгертілген мүмкіндіктерді қоса алғанда, oneMKL соңғы шығарылымына қатысты ақпарат бар. Шығарылым ескертпелері шығарылымға қатысты негізгі онлайн ақпараттық ресурстарға сілтемелерді қамтиды. Сіз сондай-ақ ақпаратты таба аласыз:
- Шығарылымдағы жаңалық
- Өнім мазмұны
- Техникалық қолдау алу
- Лицензия анықтамалары
Intel® oneAPI математикалық ядро кітапханасы
Intel® oneAPI математикалық ядро кітапханасы (oneMKL) өнім беті. Қолдау және онлайн құжаттама үшін осы бетті қараңыз.
Intel® oneAPI математикалық ядро кітапханасының аспаздық кітабы
Intel® oneAPI математикалық ядро кітапханасында матрицаларды көбейту, теңдеулер жүйесін шешу және Фурье түрлендіруін орындау сияқты әртүрлі сандық есептерді шешуге көмектесетін көптеген процедуралар бар.
Intel® oneAPI математикалық ядро кітапханасының векторлық статистикасына арналған ескертпелер
Бұл құжатта үстеме барview, VS құрамына кіретін кездейсоқ сандар генераторларының қолдану үлгісі және тестілеу нәтижелері.
Intel® oneAPI математикалық ядро кітапханасы векторлық статистика кездейсоқ сандар генераторының өнімділік деректері
Векторлық статистика (VS) кездейсоқ сандар генераторы (RNG) көмегімен алынған өнімділік деректері, оның ішінде CPE (бір элементке арналған сағаттар) өлшем бірлігі, негізгі кездейсоқ сандар генераторлары (BRNG), құрылған тарату генераторлары және жасалған векторлардың ұзындығы.
Intel® oneAPI математикалық ядро кітапханасы векторлық математика өнімділігі мен дәлдік деректері
Векторлық математика (VM) векторлық аргументтерде қарапайым функцияларды есептейді. VM векторларда жұмыс істейтін есептеу тұрғысынан қымбат негізгі математикалық функциялардың (қуат, тригонометриялық, экспоненциалды, гиперболалық және т.б.) жоғары оңтайландырылған іске асыру жиынтығын қамтиды.
Intel® oneAPI математикалық ядро кітапханасының жиынтық статистикасына арналған қолданба жазбалары
Жиынтық статистика Intel® oneAPI математикалық ядролық кітапханасының Векторлық статистика доменінің ішкі құрамдас бөлігі болып табылады. Жиынтық Statistics сізге бастапқы статистикалық талдауға арналған функцияларды қамтамасыз етеді және көп өлшемді деректер жиынын параллель өңдеуге арналған шешімдерді ұсынады.
LAPACK Мысamples
Бұл құжат examponeMKL LAPACK (Сызықтық алгебра PACKage) процедураларына арналған les.
Ескертулер мен жауапкершіліктен бас тарту
Өнімділік сынақтарында пайдаланылатын бағдарламалық құрал мен жұмыс жүктемелері тек Intel микропроцессорларында өнімділік үшін оңтайландырылған болуы мүмкін. SYSmark және MobileMark сияқты өнімділік сынақтары арнайы компьютерлік жүйелер, құрамдас бөліктер, бағдарламалық қамтамасыз ету, операциялар мен функциялар арқылы өлшенеді. Осы факторлардың кез келгенін өзгерту нәтижелердің өзгеруіне әкелуі мүмкін. Ойланатын сатып алуларыңызды, соның ішінде басқа өнімдермен біріктірілген өнімнің өнімділігін толық бағалауға көмектесу үшін басқа ақпарат пен өнімділік сынақтарынан кеңес алуыңыз керек. Толық ақпарат алу үшін кіріңіз www.intel.com/benchmarks.
Intel технологиялары қосылған жабдықты, бағдарламалық жасақтаманы немесе қызметті қосуды қажет етуі мүмкін.
Ешқандай өнім немесе компонент мүлдем қауіпсіз бола алмайды.
Сіздің шығындарыңыз бен нәтижелеріңіз әртүрлі болуы мүмкін.
© Intel корпорациясы. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.
Өнім және өнімділік туралы ақпарат
Өнімділік қолдану, конфигурация және басқа факторларға байланысты өзгереді. Толығырақ біліңіз www.Intel.com/PerformanceIndex.
№20201201 редакциясына ескерту
Бұл құжат кез келген зияткерлік меншік құқықтарына ешқандай лицензия бермейді (анық немесе жанама, тыйым салу арқылы немесе басқаша).
Сипатталған өнімдерде дизайн ақаулары немесе қателер деп аталатын қателер болуы мүмкін, бұл өнімнің жарияланған техникалық сипаттамалардан ауытқуына әкелуі мүмкін. Ағымдағы сипатталған қателер сұраныс бойынша қол жетімді.
Intel саудаға жарамдылық, белгілі бір мақсатқа жарамдылық және бұзылмау туралы болжамды кепілдіктерді қоса алғанда, шектеусіз барлық айқын және жанама кепілдіктерден, сондай-ақ өнімділік барысы, мәміле барысы немесе саудада пайдаланудан туындайтын кез келген кепілдіктерден бас тартады.
Құжаттар / Ресурстар
![]() |
intel oneAPI математика ядросының кітапханасы [pdf] Пайдаланушы нұсқаулығы oneAPI математикалық ядро кітапханасы, математикалық ядро кітапханасы, ядро кітапханасы, кітапхана |