intel logotipi

intel oneAPI matematik yadro kutubxonasi

intel-oneAPI-Math-yadro-kutubxona-mahsulot-tasvir

Intel® oneAPI Matematik yadro kutubxonasidan foydalanishni boshlang

Intel® oneAPI Math Kernel Library (oneMKL) protsessor va GPU uchun yuqori darajada optimallashtirilgan, keng parallellashtirilgan tartiblardan iborat matematik hisoblash kutubxonasi yordamida maksimal samaradorlikka erishishga yordam beradi. Kutubxonada markaziy protsessorning ko'pgina tartiblari uchun C va Fortran interfeyslari, protsessor va GPUdagi ba'zi tartiblar uchun DPC++ interfeyslari mavjud. Turli interfeyslarda bir nechta matematik operatsiyalar uchun keng qamrovli yordamni topishingiz mumkin, jumladan:

CPUda C va Fortran uchun

  • Chiziqli algebra
  • Tez Furye o'zgarishlari (FFT)
  • Vektor matematika
  • To'g'ridan-to'g'ri va iterativ siyrak hal qiluvchilar
  • Tasodifiy raqamlar generatorlari

CPU va GPUda DPC++ uchun (batafsil ma'lumot uchun Intel® oneAPI Matematik yadro kutubxonasi — Data Parallel C++ Developer Reference-ga qarang.)

  • Chiziqli algebra
    • BLAS
    • Tanlangan Sparse BLAS funksiyasi
    • Tanlangan LAPACK funksiyasi
  • Tez Furye o'zgarishlari (FFT)
    • 1D, 2D va 3D
  • Tasodifiy raqamlar generatorlari
    • Tanlangan funksionallik
  • Tanlangan vektor matematikasi funksiyasi

Boshlashdan oldin
Ma'lum muammolar va eng so'nggi ma'lumotlar uchun Relizlar qaydlari sahifasiga tashrif buyuring.
Tizim talablari uchun Intel® oneAPI Matematik yadro kutubxonasi tizimi talablari sahifasiga tashrif buyuring.
DPC++ kompilyatori talablari uchun Intel® oneAPI DPC++/C++ kompilyatoridan foydalanishni boshlash bo'limiga tashrif buyuring.

1-qadam: Intel® oneAPI Math yadro kutubxonasini o'rnating
Intel® oneAPI Matematik yadro kutubxonasini Intel® oneAPI Base Toolkit-dan yuklab oling.
Python tarqatish uchun Python* va Intel® Performance Libraries uchun Intel® Distribution-ni pip va PyPI bilan o'rnatish bo'limiga qarang.
Python tarqatish uchun quyidagi cheklovga e'tibor bering:
Linux* va macOS* da PIP tarqatish uchun oneMKL ishlab chiqish paketi (mkl-devel) dinamik kutubxonalar simli havolalarini ta'minlamaydi (qo'shimcha ma'lumot uchun PIP GitHub soni 5919-soniga qarang).
Dinamik yoki bitta dinamik kutubxonani oneMKL ishlab chiqish paketi bilan bog'lashda (qo'shimcha ma'lumot uchun oneMKL Link Line Advisor ga qarang) siz oneMKL kutubxonalarining to'liq nomlari va versiyalari bilan bog'lanish qatorini o'zgartirishingiz kerak.
Kompilyatsiya qilish va pkg-config vositasi bilan bog'lanish haqida ma'lumot olish uchun Intel® oneAPI Math yadro kutubxonasi va pkg-config vositasiga qarang.
oneMKL havola liniyasi, masalanampSymlinks orqali oneAPI Base Toolkit bilan:

  • 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 havola liniyasi, masalanampPIP ishlab chiqish paketi bilan kutubxonalar orqali to'liq nomlar va versiyalar: 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-qadam: Funktsiya yoki tartibni tanlang
OneMKL-dan muammoingizga eng mos keladigan funksiya yoki tartibni tanlang. Ushbu resurslardan foydalaning:

Resurs havolasi: Tarkib

Linux uchun oneMKL dasturchi qo'llanmasi*
Windows uchun oneMKL dasturchi qo'llanmasi*
macOS uchun oneMKL dasturchi qoʻllanmasi*

Dasturchilar uchun qo'llanmada bir nechta mavzular bo'yicha batafsil ma'lumotlar mavjud, jumladan:

  • Ilovalarni kompilyatsiya qilish va ulash
  • Maxsus DLL-larni yaratish
  • Ip o'tkazish
  • Xotira boshqaruvi

oneMKL Developer ma'lumotnomasi - C
Til oneMKL Developer Reference – Fortran Language
oneMKL Developer Reference – DPC++ tili

  • Ishlab chiquvchi uchun ma'lumotnoma (C, Fortran va DPC++ formatlarida) barcha kutubxona domenlari uchun funksiyalar va interfeyslarning batafsil tavsiflarini o'z ichiga oladi.

Intel® oneAPI Matematik yadro kutubxonasi funksiyalarini topish bo'yicha maslahatchi

  • Muayyan muammo uchun foydali bo'lgan LAPACK tartiblarini o'rganish uchun LAPACK funktsiyasini topish bo'yicha maslahatchidan foydalaning. Misol uchunample, agar siz operatsiyani quyidagicha belgilasangiz:
    • Muntazam turi: Hisoblash
    • Hisoblash muammosi: Ortogonal faktorizatsiya
    • Matritsa turi: Umumiy
    • Operatsiya: QR faktorizatsiyasini amalga oshiring

3-qadam: Kodingizni bog'lang
Dastur xususiyatlariga muvofiq havola buyrug'ini sozlash uchun oneMKL Link Line Advisor-dan foydalaning.
Ba'zi cheklovlar va qo'shimcha talablar:
DPC++ uchun Intel® oneAPI Matematik yadro kutubxonasi faqat mkl_intel_ilp64 interfeys kutubxonasi va ketma-ket yoki TBB tirqishidan foydalanishni qo'llab-quvvatlaydi.

Linuxda statik ulanishga ega DPC++ interfeyslari uchun
icpx -fsycl -fsycl-device-code-split=har_yadro -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
Misol uchunample, main.cpp ni ilp64 interfeyslari va TBB o'tkazmalari bilan qurish/statik bog'lash:
icpx -fsycl -fsycl-device-code-split=har_yadro -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–start-guruhi ${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

Linuxda dinamik ulanishga ega DPC++ interfeyslari uchun
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Misol uchunample, main.cpp ni ilp64 interfeyslari va TBB o'tkazmalari bilan qurish/dinamik bog'lash:
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 -ltad -

Windows-da statik ulanishga ega DPC++ interfeyslari uchun
icpx -fsycl -fsycl-device-code-split=har_yadro -DMKL_ILP64 “%MKLROOT%”\lib\intel64\mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
Misol uchunample, main.cpp ni ilp64 interfeyslari va TBB o'tkazmalari bilan qurish/statik bog'lash:
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_tlibcl_th .lib OpenCL.lib tbb.lib

Windows-da dinamik ulanishga ega DPC++ interfeyslari uchun
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
Misol uchunample, main.cpp ni ilp64 interfeyslari va TBB o'tkazmalari bilan qurish/dinamik bog'lash:
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_t.libbbbdllmre bb .lib sycl.lib OpenCL.lib

OpenMP tushirish qo'llab-quvvatlanadigan C/Fortran interfeyslari uchun
C/Fotran Intel® oneAPI Matematik yadro kutubxonasi interfeyslaridan GPUga OpenMP tushirish funksiyasidan foydalaning.
Ushbu xususiyat haqida batafsil ma'lumot olish uchun C OpenMP Offload Developer qo'llanmasiga qarang.
OpenMP-ni GPU-ga tushirish xususiyatini yoqish uchun C/Fortran oneMKL kompilyatsiya/bog'lanish qatorlariga quyidagi o'zgarishlarni qo'shing:

  • Qo'shimcha kompilyatsiya/bog'lanish imkoniyatlari: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
  • Qo'shimcha oneMKL kutubxonasi: oneMKL DPC++ kutubxonasi

Misol uchunample, Linuxda main.cpp ni ilp64 interfeyslari va OpenMP o'tkazmalari bilan qurish/dinamik bog'lash:
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
Boshqa barcha qoʻllab-quvvatlanadigan konfiguratsiyalar uchun Intel® oneAPI Math Yadro Library Link Line Advisor-ga qarang.

Batafsil toping

Resurs: Tavsif

Qo'llanma: Matritsalarni ko'paytirish uchun Intel® oneAPI matematik yadro kutubxonasidan foydalanish:

  • O'quv qo'llanma - C tili
  • O'quv qo'llanma - Fortran tili

Ushbu qo'llanma matritsalarni ko'paytirish, matritsalarni ko'paytirish samaradorligini o'lchash va iplarni boshqarish uchun oneMKL-dan qanday foydalanishni ko'rsatadi.

Intel® oneAPI Matematik yadro kutubxonasi (oneMKL) Release Notes boshqaruv tishli.
Chiqarish eslatmalarida yangi va o'zgartirilgan xususiyatlar, jumladan, oneMKL ning so'nggi versiyasiga xos ma'lumotlar mavjud. Chiqarish eslatmalarida nashrga tegishli asosiy onlayn axborot resurslariga havolalar mavjud. Shuningdek, siz quyidagi ma'lumotlarni topishingiz mumkin:

  • Relizda qanday yangiliklar bor
  • Mahsulot tarkibi
  • Texnik yordam olish
  • Litsenziya ta'riflari

Intel® oneAPI Matematik yadro kutubxonasi
Intel® oneAPI Math Kernel Library (oneMKL) mahsulot sahifasi. Qo'llab-quvvatlash va onlayn hujjatlar uchun ushbu sahifaga qarang.

Intel® oneAPI Matematik yadro kutubxonasi oshxona kitobi
Intel® oneAPI Math Yadro kutubxonasi matritsalarni ko'paytirish, tenglamalar tizimini echish va Furye konvertatsiyasini bajarish kabi turli xil raqamli muammolarni hal qilishda yordam beradigan ko'plab tartiblarni o'z ichiga oladi.

Intel® oneAPI Matematik yadro kutubxonasi vektor statistikasi uchun eslatmalar
Ushbu hujjat to'lovni o'z ichiga oladiview, VSga kiritilgan tasodifiy sonlar generatorlarining foydalanish modeli va sinov natijalari.

Intel® oneAPI Matematik yadro kutubxonasi vektor statistikasi Tasodifiy sonlar generatori unumdorligi maʼlumotlari
Vektor statistikasi (VS) tasodifiy sonlar generatori (RNG) yordamida olingan ishlash ma'lumotlari, shu jumladan CPE (element boshiga soatlar) o'lchov birligi, asosiy tasodifiy sonlar generatorlari (BRNG), ishlab chiqarilgan tarqatish generatorlari va yaratilgan vektorlarning uzunligi.

Intel® oneAPI Matematik yadro kutubxonasi vektor matematikasi unumdorligi va aniqligi ma'lumotlari
Vektor matematikasi (VM) elementar funktsiyalarni vektor argumentlari bo'yicha hisoblaydi. VM vektorlarda ishlaydigan hisoblash qimmatli asosiy matematik funktsiyalarning (kuch, trigonometrik, eksponensial, giperbolik va boshqalar) yuqori darajada optimallashtirilgan ilovalar to'plamini o'z ichiga oladi.

Intel® oneAPI Matematik yadro kutubxonasi uchun ilova qaydlari. Xulosa statistikasi
Xulosa Statistikasi Intel® oneAPI Math Yadro kutubxonasining Vektor statistikasi domenining quyi komponentidir. Xulosa Statistikasi sizga dastlabki statistik tahlil uchun funksiyalarni taqdim etadi va ko'p o'lchovli ma'lumotlar to'plamlarini parallel qayta ishlash uchun echimlarni taklif qiladi.

LAPACK Masalanamples
Ushbu hujjat ex kodini taqdim etadiamponeMKL LAPACK (Lineer Algebra PACKage) tartiblari uchun les.

Ogohlantirishlar va Ogohlantirishlar
Ishlash testlarida ishlatiladigan dasturiy ta'minot va ish yuklari faqat Intel mikroprotsessorlarida ishlash uchun optimallashtirilgan bo'lishi mumkin. SYSmark va MobileMark kabi ishlash testlari maxsus kompyuter tizimlari, komponentlar, dasturiy ta'minot, operatsiyalar va funktsiyalar yordamida o'lchanadi. Ushbu omillarning har qanday o'zgarishi natijalarning o'zgarishiga olib kelishi mumkin. Siz o'ylayotgan xaridlaringizni, shu jumladan, boshqa mahsulotlar bilan birlashganda ushbu mahsulotning ishlashini to'liq baholashda sizga yordam berish uchun boshqa ma'lumotlar va ishlash testlariga murojaat qilishingiz kerak. To'liqroq ma'lumot uchun tashrif buyuring www.intel.com/benchmarks.
Intel texnologiyalari yoqilgan apparat, dasturiy ta'minot yoki xizmatni faollashtirishni talab qilishi mumkin.
Hech bir mahsulot yoki komponent mutlaqo xavfsiz bo'lishi mumkin emas.
Sizning xarajatlaringiz va natijalaringiz farq qilishi mumkin.
© Intel korporatsiyasi. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

Mahsulot va unumdorlik haqida ma'lumot
Ishlash foydalanish, konfiguratsiya va boshqa omillarga qarab farq qiladi. Batafsil: www.Intel.com/PerformanceIndex.
Eslatma tahriri #20201201
Ushbu hujjatda hech qanday intellektual mulk huquqlariga litsenziya (to'g'ridan-to'g'ri yoki nazarda tutilgan holda) berilmaydi.
Ta'riflangan mahsulotlar dizayn nuqsonlari yoki xato deb nomlanuvchi xatolarni o'z ichiga olishi mumkin, bu esa mahsulotning e'lon qilingan spetsifikatsiyalardan chetga chiqishiga olib kelishi mumkin. Joriy xarakterli xatoliklar so'rov bo'yicha mavjud.
Intel barcha ochiq va nazarda tutilgan kafolatlardan, jumladan, cheklanmagan holda, savdoga yaroqlilik, ma'lum bir maqsadga muvofiqlik va huquqbuzarliklarga yo'l qo'ymaslik kafolatlarini, shuningdek, ishlash, muomala kursi yoki savdoda foydalanishdan kelib chiqadigan har qanday kafolatlarni rad etadi.

Hujjatlar / manbalar

intel oneAPI matematik yadro kutubxonasi [pdf] Foydalanuvchi uchun qoʻllanma
oneAPI matematik yadro kutubxonasi, matematik yadro kutubxonasi, yadro kutubxonasi, kutubxona

Ma'lumotnomalar

Fikr qoldiring

Sizning elektron pochta manzilingiz nashr etilmaydi. Majburiy maydonlar belgilangan *