Perpustakaan Kernel Matematik oneAPI intel
Bermula dengan Pustaka Kernel Matematik Intel® oneAPI
Intel® oneAPI Math Kernel Library (oneMKL) membantu anda mencapai prestasi maksimum dengan perpustakaan pengkomputeran matematik dengan rutin selari yang sangat optimum dan meluas untuk CPU dan GPU. Perpustakaan mempunyai antara muka C dan Fortran untuk kebanyakan rutin pada CPU, dan antara muka DPC++ untuk beberapa rutin pada kedua-dua CPU dan GPU. Anda boleh mendapatkan sokongan komprehensif untuk beberapa operasi matematik dalam pelbagai antara muka termasuk:
Untuk C dan Fortran pada CPU
- Algebra linear
- Transformasi Fourier Pantas (FFT)
- Matematik vektor
- Penyelesai jarang langsung dan berulang
- Penjana nombor rawak
Untuk DPC++ pada CPU dan GPU (Rujuk Pustaka Kernel Matematik Intel® oneAPI—Rujukan Pembangun C++ Selari Data untuk butiran lanjut.)
- Algebra linear
- BLAS
- Fungsi Sparse BLAS yang dipilih
- Fungsi LAPACK yang dipilih
- Transformasi Fourier Pantas (FFT)
- 1D, 2D dan 3D
- Penjana nombor rawak
- Fungsi terpilih
- Fungsi Matematik Vektor yang dipilih
Sebelum Anda Bermula
Lawati halaman Nota Keluaran untuk Isu Diketahui dan maklumat yang paling terkini.
Lawati halaman Keperluan Sistem Perpustakaan Kernel Matematik Intel® oneAPI untuk keperluan sistem.
Lawati Pengkompil Bermula dengan Intel® oneAPI DPC++/C++ untuk keperluan Pengkompil DPC++.
Langkah 1: Pasang Pustaka Kernel Matematik Intel® oneAPI
Muat turun Pustaka Kernel Matematik Intel® oneAPI daripada Kit Alat Pangkalan Intel® oneAPI.
Untuk pengedaran Python, rujuk Memasang Intel® Distribution for Python* dan Intel® Performance Libraries dengan pip dan PyPI.
Untuk pengedaran Python, perhatikan had berikut:
Pakej devel oneMKL (mkl-devel) untuk pengedaran PIP pada Linux* dan macOS* tidak menyediakan symlink perpustakaan dinamik (untuk maklumat lanjut lihat PIP GitHub isu #5919).
Dalam kes pautan perpustakaan dinamik atau tunggal dinamik dengan pakej devel oneMKL (untuk maklumat lanjut lihat Penasihat Talian Pautan OneMKL ) anda mesti mengubah suai talian pautan dengan nama penuh dan versi perpustakaan oneMKL.
Rujuk Pustaka Intel® oneAPI Math Kernel dan alat pkg-config untuk maklumat tentang menyusun dan memaut dengan alat pkg-config.
talian pautan oneMKL example dengan OneAPI Base Toolkit melalui symlinks:
- 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
Talian pautan oneMKL exampdengan pakej pembangunan PIP melalui perpustakaan nama penuh dan versi: 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
Langkah 2: Pilih Fungsi atau Rutin
Pilih fungsi atau rutin daripada oneMKL yang paling sesuai untuk masalah anda. Gunakan sumber ini:
Pautan Sumber: Kandungan
Panduan Pembangun oneMKL untuk Linux*
Panduan Pembangun oneMKL untuk Windows*
Panduan Pembangun oneMKL untuk macOS*
Panduan Pembangun mengandungi maklumat terperinci tentang beberapa topik termasuk:
- Menyusun dan memautkan aplikasi
- Membina DLL tersuai
- Pengulangan
- Pengurusan Memori
Rujukan Pembangun oneMKL – C
Language oneMKL Developer Rujukan – Fortran Language
Rujukan Pembangun oneMKL – Bahasa DPC++
- Rujukan Pembangun (dalam format C, Fortran dan DPC++) mengandungi penerangan terperinci tentang fungsi dan antara muka untuk semua domain perpustakaan.
Penasihat Mencari Fungsi Perpustakaan Kernel Matematik Intel® oneAPI
- Gunakan Penasihat Mencari Fungsi LAPACK untuk meneroka rutin LAPACK yang berguna untuk masalah tertentu. Untuk example, jika anda menentukan operasi sebagai:
- Jenis rutin: Pengiraan
- Masalah pengiraan: Pemfaktoran ortogon
- Jenis matriks: Umum
- Operasi: Lakukan pemfaktoran QR
Langkah 3: Pautkan Kod Anda
Gunakan OneMKL Link Line Advisor untuk mengkonfigurasi arahan pautan mengikut ciri program anda.
Beberapa had dan keperluan tambahan:
Perpustakaan Kernel Matematik Intel® oneAPI untuk DPC++ hanya menyokong penggunaan perpustakaan antara muka mkl_intel_ilp64 dan urutan berurutan atau TBB.
Untuk antara muka DPC++ dengan pemautan statik pada Linux
icpx -fsycl -fsycl-device-code-split=per_kernel -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
Untuk example, membina/memautkan main.cpp secara statik dengan antara muka ilp64 dan penjalinan TBB:
icpx -fsycl -fsycl-device-code-split=per_kernel -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
Untuk antara muka DPC++ dengan pemautan dinamik pada Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Untuk example, membina/menghubungkan main.cpp secara dinamik dengan antara muka ilp64 dan penjalinan 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
Untuk antara muka DPC++ dengan pemautan statik pada 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
Untuk example, membina/memautkan main.cpp secara statik dengan antara muka ilp64 dan penjalinan 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 sy mkcl .lib OpenCL.lib tbb.lib
Untuk antara muka DPC++ dengan pemautan dinamik pada 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
Untuk example, membina/menghubungkan main.cpp secara dinamik dengan antara muka ilp64 dan penjalinan 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.libth mkl_tbb.libth mkl_tbb.libth .lib sycl.lib OpenCL.lib
Untuk Antara Muka C/Fortran dengan Sokongan OpenMP Offload
Gunakan antara muka Pustaka Kernel Matematik C/Fotran Intel® oneAPI dengan ciri pemuatan OpenMP ke GPU.
Lihat Panduan Pembangun C OpenMP Offload untuk butiran lanjut tentang ciri ini.
Tambahkan perubahan berikut pada baris kompil/pautan C/Fortran oneMKL untuk mendayakan ciri pemuatan OpenMP ke GPU:
- Pilihan penyusun/pautan tambahan: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Pustaka satuMKL tambahan: perpustakaan satuMKL DPC++
Untuk example, membina/ memautkan main.cpp secara dinamik pada Linux dengan antara muka ilp64 dan penjalin 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
Untuk semua konfigurasi lain yang disokong, lihat Intel® oneAPI Math Kernel Library Link Line Advisor.
Cari Lagi
Sumber: Penerangan
Tutorial: Menggunakan Perpustakaan Kernel Matematik Intel® oneAPI untuk Pendaraban Matriks:
- Tutorial – Bahasa C
- Tutorial – Bahasa Fortran
Tutorial ini menunjukkan cara anda boleh menggunakan oneMKL untuk mendarab matriks, mengukur prestasi pendaraban matriks dan mengawal penjalinan.
Intel® oneAPI Math Kernel Library (oneMKL) Release Notes control threading.
Nota keluaran mengandungi maklumat khusus untuk keluaran terbaru oneMKL termasuk ciri baharu dan diubah. Nota keluaran termasuk pautan kepada sumber maklumat dalam talian utama yang berkaitan dengan keluaran. Anda juga boleh mendapatkan maklumat mengenai:
- Apa yang baharu dalam keluaran
- kandungan produk
- Mendapatkan sokongan teknikal
- Definisi lesen
Perpustakaan Kernel Matematik Intel® oneAPI
Halaman produk Intel® oneAPI Math Kernel Library (oneMKL). Lihat halaman ini untuk sokongan dan dokumentasi dalam talian.
Buku Masakan Perpustakaan Kernel Matematik Intel® oneAPI
Perpustakaan Kernel Matematik Intel® oneAPI mengandungi banyak rutin untuk membantu anda menyelesaikan pelbagai masalah berangka, seperti mendarab matriks, menyelesaikan sistem persamaan dan melaksanakan transformasi Fourier.
Nota untuk Statistik Vektor Pustaka Kernel Matematik Intel® oneAPI
Dokumen ini termasuk overview, model penggunaan dan keputusan ujian penjana nombor rawak yang disertakan dalam VS.
Intel® oneAPI Math Kernel Library Data Prestasi Penjana Nombor Rawak Statistik Vektor
Data prestasi diperoleh menggunakan statistik vektor (VS) penjana nombor rawak (RNG) termasuk unit ukuran CPE (jam setiap elemen), penjana nombor rawak asas (BRNG), penjana pengedaran terjana dan panjang vektor terjana.
Intel® oneAPI Math Kernel Library Vektor Matematik Data Prestasi dan Ketepatan
Vector Mathematics (VM) mengira fungsi asas pada argumen vektor. VM termasuk satu set pelaksanaan yang sangat dioptimumkan bagi fungsi matematik teras yang mahal secara pengiraan (kuasa, trigonometri, eksponen, hiperbolik dan lain-lain) yang beroperasi pada vektor.
Nota Aplikasi untuk Intel® oneAPI Math Kernel Library Statistik Ringkasan
Statistik Ringkasan ialah subkomponen domain Statistik Vektor bagi Pustaka Kernel Matematik Intel® oneAPI. Statistik Ringkasan memberi anda fungsi untuk analisis statistik awal, dan menawarkan penyelesaian untuk pemprosesan selari bagi set data berbilang dimensi.
LAPACK Cthamples
Dokumen ini menyediakan kod examples untuk satuMKL LAPACK (Linear Algebra PACKage) rutin.
Notis dan Penafian
Perisian dan beban kerja yang digunakan dalam ujian prestasi mungkin telah dioptimumkan untuk prestasi hanya pada mikropemproses Intel. Ujian prestasi, seperti SYSmark dan MobileMark, diukur menggunakan sistem komputer, komponen, perisian, operasi dan fungsi tertentu. Sebarang perubahan kepada mana-mana faktor tersebut boleh menyebabkan keputusan berbeza-beza. Anda harus merujuk maklumat lain dan ujian prestasi untuk membantu anda menilai sepenuhnya pembelian yang anda fikirkan, termasuk prestasi produk tersebut apabila digabungkan dengan produk lain. Untuk maklumat lebih lengkap layari www.intel.com/penanda aras.
Teknologi Intel mungkin memerlukan pengaktifan perkakasan, perisian atau perkhidmatan yang diaktifkan.
Tiada produk atau komponen boleh benar-benar selamat.
Kos dan hasil anda mungkin berbeza-beza.
© Intel Corporation. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
Maklumat Produk dan Prestasi
Prestasi berbeza mengikut penggunaan, konfigurasi dan faktor lain. Ketahui lebih lanjut di www.Intel.com/PerformanceIndex.
Notis semakan #20201201
Tiada lesen (ternyata atau tersirat, melalui estoppel atau sebaliknya) kepada mana-mana hak harta intelek diberikan oleh dokumen ini.
Produk yang diterangkan mungkin mengandungi kecacatan reka bentuk atau ralat yang dikenali sebagai errata yang boleh menyebabkan produk menyimpang daripada spesifikasi yang diterbitkan. Kesalahan berciri semasa tersedia atas permintaan.
Intel menafikan semua waranti nyata dan tersirat, termasuk tanpa had, waranti tersirat kebolehdagangan, kesesuaian untuk tujuan tertentu dan bukan pelanggaran, serta sebarang waranti yang timbul daripada perjalanan prestasi, perjalanan urusan atau penggunaan dalam perdagangan.
Dokumen / Sumber
![]() |
Perpustakaan Kernel Matematik oneAPI intel [pdf] Panduan Pengguna Perpustakaan Inti Matematik oneAPI, Perpustakaan Inti Matematik, Perpustakaan Inti, Perpustakaan |