โลโก้อินเทล

ไลบรารีเคอร์เนลคณิตศาสตร์ Intel oneAPI

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 บน CPU

  • พีชคณิตเชิงเส้น
  • การแปลงฟูริเยร์อย่างรวดเร็ว (FFT)
  • คณิตศาสตร์เวกเตอร์
  • ตัวแก้ปัญหาแบบกระจายโดยตรงและวนซ้ำ
  • เครื่องสร้างตัวเลขสุ่ม

สำหรับ DPC++ บน CPU และ GPU (อ้างอิงถึง Intel® oneAPI Math Kernel Library—Data Parallel C++ Developer Reference สำหรับรายละเอียดเพิ่มเติม)

  • พีชคณิตเชิงเส้น
    • บลาส
    • ฟังก์ชั่น Sparse BLAS ที่เลือก
    • ฟังก์ชัน LAPACK ที่เลือก
  • การแปลงฟูริเยร์อย่างรวดเร็ว (FFT)
    • 1D, 2D และ 3D
  • เครื่องสร้างตัวเลขสุ่ม
    • ฟังก์ชั่นที่เลือก
  • ฟังก์ชัน Vector Math ที่เลือก

ก่อนที่คุณจะเริ่มต้น
ไปที่หน้าบันทึกย่อประจำรุ่นเพื่อดูปัญหาที่ทราบและข้อมูลล่าสุด
ไปที่หน้าข้อกำหนดของระบบไลบรารีเคอร์เนลคณิตศาสตร์ Intel® oneAPI สำหรับข้อกำหนดของระบบ
เยี่ยมชมเริ่มต้นใช้งานคอมไพเลอร์ Intel® oneAPI DPC++/C++ สำหรับข้อกำหนดคอมไพเลอร์ DPC++

ขั้นตอนที่ 1: ติดตั้ง Intel® oneAPI Math Kernel Library
ดาวน์โหลด Intel® oneAPI Math Kernel Library จาก Intel® oneAPI Base Toolkit
สำหรับการแจกจ่าย Python โปรดดูที่การติดตั้ง Intel® Distribution สำหรับ Python* และ Intel® Performance Libraries ที่มี pip และ PyPI
สำหรับการแจกแจง Python ให้สังเกตข้อจำกัดต่อไปนี้:
แพ็คเกจ devel oneMKL (mkl-devel) สำหรับการกระจาย PIP บน Linux* และ macOS* ไม่มี symlink ของไลบรารีไดนามิก (สำหรับข้อมูลเพิ่มเติม โปรดดู PIP GitHub ฉบับที่ 5919)
ในกรณีของไดนามิกหรือไดนามิกไลบรารีที่เชื่อมโยงกับแพ็คเกจ devel ของ oneMKL (สำหรับข้อมูลเพิ่มเติม โปรดดูที่ oneMKL Link Line Advisor ) คุณต้องแก้ไขลิงค์ไลน์ด้วยชื่อเต็มและเวอร์ชันของไลบรารี oneMKL
โปรดดูที่ Intel® oneAPI Math Kernel Library และเครื่องมือ pkg-config สำหรับข้อมูลเกี่ยวกับการคอมไพล์และการเชื่อมโยงกับเครื่องมือ pkg-config
ลิงค์บรรทัด oneMKL เช่นampด้วย oneAPI Base Toolkit ผ่าน symlink:

  • ลินุกซ์:
    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 – ภาษาฟอร์แทรน
การอ้างอิงสำหรับนักพัฒนา oneMKL – ภาษา DPC++

  • การอ้างอิงผู้พัฒนา (ในรูปแบบ C, Fortran และ DPC++) มีคำอธิบายโดยละเอียดเกี่ยวกับฟังก์ชันและอินเทอร์เฟซสำหรับโดเมนไลบรารีทั้งหมด

ที่ปรึกษาการค้นหาฟังก์ชันไลบรารีเคอร์เนล Intel® oneAPI Math

  • ใช้ LAPACK Function Finding Advisor เพื่อสำรวจรูทีนของ 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,–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
เช่นampไฟล์, การสร้าง/การเชื่อมโยงแบบสแตติก main.cpp กับอินเตอร์เฟส ilp64 และเธรด TBB:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/รวม 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-กลุ่ม -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
เช่นampไฟล์, การสร้าง/เชื่อมโยงไดนามิก main.cpp กับอินเตอร์เฟส ilp64 และเธรด TBB:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/รวม 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
เช่นampไฟล์, การสร้าง/การเชื่อมโยงแบบสแตติก 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
เช่นampไฟล์, การสร้าง/เชื่อมโยงไดนามิก 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 Offload
ใช้อินเทอร์เฟซ C/Fotran Intel® oneAPI Math Kernel Library พร้อมคุณสมบัติ OpenMP offload ไปยัง GPU
ดูคู่มือ C OpenMP Offload Developer สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับคุณลักษณะนี้
เพิ่มการเปลี่ยนแปลงต่อไปนี้ในบรรทัดคอมไพล์/ลิงก์ C/Fortran oneMKL เพื่อเปิดใช้งานฟีเจอร์ OpenMP offload ไปยัง GPU:

  • ตัวเลือกการคอมไพล์/ลิงค์เพิ่มเติม: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
  • ไลบรารี oneMKL เพิ่มเติม: ไลบรารี oneMKL DPC++

เช่นampไฟล์, การสร้าง/ การเชื่อมโยง 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 มีรูทีนมากมายเพื่อช่วยคุณแก้ปัญหาเกี่ยวกับตัวเลขต่างๆ เช่น การคูณเมทริกซ์ การแก้ระบบสมการ และการแปลงฟูริเยร์

หมายเหตุสำหรับ Intel® oneAPI Math Kernel Library Vector Statistics
เอกสารนี้มีมากกว่าview, รูปแบบการใช้งานและผลการทดสอบตัวสร้างเลขสุ่มที่รวมอยู่ใน VS.

Intel® oneAPI Math Kernel Library Vector Statistics ข้อมูลประสิทธิภาพการสร้างตัวเลขสุ่ม
ข้อมูลประสิทธิภาพที่ได้รับโดยใช้สถิติเวกเตอร์ (VS) ตัวสร้างตัวเลขสุ่ม (RNG) รวมถึงหน่วยวัด CPE (นาฬิกาต่อองค์ประกอบ) ตัวสร้างตัวเลขสุ่มพื้นฐาน (BRNG) ตัวสร้างการกระจายที่สร้างขึ้น และความยาวของเวกเตอร์ที่สร้างขึ้น

Intel® oneAPI Math Kernel Library ประสิทธิภาพทางคณิตศาสตร์และข้อมูลความแม่นยำ
Vector Mathematics (VM) คำนวณฟังก์ชันพื้นฐานบนอาร์กิวเมนต์เวกเตอร์ VM ประกอบด้วยชุดของการปรับให้เหมาะสมอย่างสูงของฟังก์ชันทางคณิตศาสตร์หลักที่มีราคาแพงในการคำนวณ (กำลัง ตรีโกณมิติ เอ็กซ์โปเนนเชียล ไฮเปอร์โบลิก และอื่นๆ) ที่ทำงานบนเวกเตอร์

บันทึกการใช้งานสำหรับสถิติสรุปไลบรารีเคอร์เนลคณิตศาสตร์ Intel® oneAPI
สถิติสรุปเป็นส่วนประกอบย่อยของโดเมน Vector Statistics ของ Intel® oneAPI Math Kernel Library สถิติสรุปช่วยให้คุณมีฟังก์ชันสำหรับการวิเคราะห์ทางสถิติเบื้องต้น และเสนอโซลูชันสำหรับการประมวลผลแบบขนานของชุดข้อมูลหลายมิติ

ลาแพ็ก เช่นampเลส
เอกสารนี้มีรหัสเช่นampไฟล์สำหรับรูทีน oneMKL LAPACK (Linear Algebra PACKage)

ประกาศและข้อจำกัดความรับผิดชอบ
ซอฟต์แวร์และปริมาณงานที่ใช้ในการทดสอบประสิทธิภาพอาจได้รับการปรับให้เหมาะสมสำหรับประสิทธิภาพเฉพาะบนไมโครโปรเซสเซอร์ของ Intel เท่านั้น การทดสอบประสิทธิภาพ เช่น SYSmark และ MobileMark วัดโดยใช้ระบบคอมพิวเตอร์ ส่วนประกอบ ซอฟต์แวร์ การทำงานและฟังก์ชันเฉพาะ การเปลี่ยนแปลงใดๆ ในปัจจัยเหล่านี้อาจทำให้ผลลัพธ์แตกต่างกันไป คุณควรศึกษาข้อมูลอื่น ๆ และการทดสอบประสิทธิภาพเพื่อช่วยคุณในการประเมินการซื้อที่พิจารณาอย่างครบถ้วน รวมถึงประสิทธิภาพของผลิตภัณฑ์นั้นเมื่อรวมกับผลิตภัณฑ์อื่น สำหรับการเยี่ยมชมข้อมูลที่สมบูรณ์มากขึ้น www.intel.com/benchmarks.
เทคโนโลยีของ Intel อาจต้องเปิดใช้งานฮาร์ดแวร์ซอฟต์แวร์หรือการเปิดใช้งานบริการ
ไม่มีผลิตภัณฑ์หรือส่วนประกอบใดที่จะปลอดภัยได้อย่างแน่นอน
ค่าใช้จ่ายและผลลัพธ์ของคุณอาจแตกต่างกันไป
© อินเทล คอร์ปอเรชั่น Intel, โลโก้ Intel และเครื่องหมายอื่นๆ ของ Intel เป็นเครื่องหมายการค้าของ Intel Corporation หรือบริษัทในเครือ ชื่อและตราสินค้าอื่น ๆ อาจเป็นทรัพย์สินของผู้อื่น

ข้อมูลผลิตภัณฑ์และประสิทธิภาพ
ประสิทธิภาพแตกต่างกันไปตามการใช้งาน การกำหนดค่า และปัจจัยอื่นๆ เรียนรู้เพิ่มเติมที่ www.Intel.com/PerformanceIndex.
ประกาศแก้ไข #20201201
ไม่มีการอนุญาตสิทธิ์ใดๆ (โดยชัดแจ้งหรือโดยนัย โดยการห้ามปรามหรือวิธีอื่นใด) ต่อสิทธิในทรัพย์สินทางปัญญาใดๆ ที่ได้รับอนุญาตจากเอกสารนี้
ผลิตภัณฑ์ที่อธิบายอาจมีข้อบกพร่องด้านการออกแบบหรือข้อผิดพลาดที่เรียกว่าข้อผิดพลาดซึ่งอาจทำให้ผลิตภัณฑ์เบี่ยงเบนไปจากข้อมูลจำเพาะที่เผยแพร่ ข้อผิดพลาดที่ระบุในปัจจุบันสามารถขอได้
Intel ขอปฏิเสธการรับประกันโดยชัดแจ้งและโดยนัยทั้งหมด ซึ่งรวมถึงแต่ไม่จำกัดเพียงการรับประกันโดยนัยของความสามารถในการซื้อขาย ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และการไม่ละเมิด ตลอดจนการรับประกันใดๆ ที่เกิดขึ้นจากการดำเนินการ แนวทางการซื้อขาย หรือการใช้งานในการค้าขาย

เอกสาร / แหล่งข้อมูล

ไลบรารีเคอร์เนลคณิตศาสตร์ Intel oneAPI [พีดีเอฟ] คู่มือการใช้งาน
ไลบรารีเคอร์เนลคณิตศาสตร์ oneAPI, ไลบรารีเคอร์เนลคณิตศาสตร์, ไลบรารีเคอร์เนล, ไลบรารี

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *