Thư viện hạt nhân toán học intel oneAPI
Bắt đầu với Thư viện hạt nhân toán học Intel® oneAPI
Thư viện hạt nhân toán học Intel® oneAPI (oneMKL) giúp bạn đạt được hiệu suất tối đa với thư viện điện toán gồm các quy trình song song rộng rãi, được tối ưu hóa cao cho CPU và GPU. Thư viện có giao diện C và Fortran cho hầu hết các quy trình trên CPU và giao diện DPC++ cho một số quy trình trên cả CPU và GPU. Bạn có thể tìm thấy sự hỗ trợ toàn diện cho một số phép toán trong các giao diện khác nhau bao gồm:
Đối với C và Fortran trên CPU
- Đại số tuyến tính
- Biến đổi Fourier nhanh (FFT)
- toán véc tơ
- Bộ giải thưa thớt trực tiếp và lặp đi lặp lại
- Máy phát số ngẫu nhiên
Đối với DPC++ trên CPU và GPU (Tham khảo Thư viện hạt nhân toán học Intel® oneAPI—Tài liệu tham khảo dành cho nhà phát triển C++ song song dữ liệu để biết thêm chi tiết.)
- Đại số tuyến tính
- BLAAS
- Đã chọn chức năng Sparse BLAS
- Đã chọn chức năng LAPACK
- Biến đổi Fourier nhanh (FFT)
- 1D, 2D và 3D
- Máy phát số ngẫu nhiên
- chức năng đã chọn
- Chức năng Vector Math đã chọn
Trước khi bạn bắt đầu
Truy cập trang Ghi chú phát hành để biết Sự cố đã biết và thông tin cập nhật nhất.
Truy cập trang Yêu cầu hệ thống thư viện hạt nhân toán học Intel® oneAPI để biết các yêu cầu hệ thống.
Truy cập Bắt đầu với Trình biên dịch Intel® oneAPI DPC++/C++ để biết các yêu cầu của Trình biên dịch DPC++.
Bước 1: Cài đặt thư viện hạt nhân toán học Intel® oneAPI
Tải xuống Thư viện hạt nhân toán học Intel® oneAPI từ Bộ công cụ cơ sở Intel® oneAPI.
Đối với các bản phân phối Python, hãy tham khảo Cài đặt bản phân phối Intel® cho Python* và Thư viện hiệu năng Intel® với pip và PyPI.
Đối với các bản phân phối Python, hãy lưu ý giới hạn sau:
Gói phát triển oneMKL (mkl-devel) để phân phối PIP trên Linux* và macOS* không cung cấp liên kết tượng trưng thư viện động (để biết thêm thông tin, hãy xem vấn đề PIP GitHub #5919).
Trong trường hợp thư viện động động hoặc thư viện động duy nhất liên kết với gói phát triển oneMKL (để biết thêm thông tin, hãy xem Cố vấn dòng liên kết oneMKL ), bạn phải sửa đổi dòng liên kết bằng tên và phiên bản đầy đủ của thư viện oneMKL.
Tham khảo Thư viện hạt nhân toán học Intel® oneAPI và công cụ pkg-config để biết thông tin về cách biên dịch và liên kết với công cụ pkg-config.
dòng liên kết oneMKL cũample với Bộ công cụ cơ sở oneAPI qua các liên kết tượng trưng:
- Linux:
ứng dụng icc.obj -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl - hệ điều hành Mac:
icc app.obj -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
-lm -ldl
Dòng liên kết oneMKL cũample với gói phát triển PIP thông qua tên và phiên bản đầy đủ của thư viện: 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 - hệ điều hành Mac:
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
Bước 2: Chọn một Chức năng hoặc Quy trình
Chọn một chức năng hoặc thói quen từ oneMKL phù hợp nhất cho vấn đề của bạn. Sử dụng các tài nguyên này:
Liên kết tài nguyên: Nội dung
Hướng dẫn dành cho nhà phát triển oneMKL dành cho Linux*
Hướng dẫn dành cho nhà phát triển oneMKL dành cho Windows*
Hướng dẫn dành cho nhà phát triển oneMKL dành cho macOS*
Hướng dẫn dành cho nhà phát triển chứa thông tin chi tiết về một số chủ đề bao gồm:
- Biên dịch và liên kết các ứng dụng
- Xây dựng DLL tùy chỉnh
- Xâu chuỗi
- Quản lý bộ nhớ
Tài liệu tham khảo dành cho nhà phát triển oneMKL – C
Ngôn ngữ oneMKL Developer Reference – Fortran Language
Tài liệu tham khảo dành cho nhà phát triển oneMKL – Ngôn ngữ DPC++
- Tài liệu tham khảo dành cho nhà phát triển (ở định dạng C, Fortran và DPC++) chứa các mô tả chi tiết về các chức năng và giao diện cho tất cả các miền thư viện.
Cố vấn Tìm kiếm Chức năng Thư viện Hạt nhân Toán học Intel® oneAPI
- Sử dụng Trình cố vấn tìm hàm LAPACK để khám phá các quy trình LAPACK hữu ích cho một vấn đề cụ thể. Đối với người yêu cũample, nếu bạn chỉ định một thao tác là:
- Loại quy trình: Tính toán
- Bài toán tính toán: Phân tích thừa số trực giao
- Loại ma trận: Chung
- Hoạt động: Thực hiện thừa số QR
Bước 3: Liên kết mã của bạn
Sử dụng Cố vấn dòng liên kết oneMKL để định cấu hình lệnh liên kết theo các tính năng chương trình của bạn.
Một số hạn chế và yêu cầu bổ sung:
Thư viện hạt nhân toán học Intel® oneAPI dành cho DPC++ chỉ hỗ trợ sử dụng thư viện giao diện mkl_intel_ilp64 và phân luồng tuần tự hoặc TBB.
Đối với giao diện DPC++ có liên kết tĩnh trên 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
Ví dụample, xây dựng/liên kết tĩnh main.cpp với giao diện ilp64 và phân luồng 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
Đối với giao diện DPC++ có liên kết động trên Linux
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
Ví dụample, xây dựng/liên kết động main.cpp với giao diện ilp64 và phân luồng 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 -lm
Đối với giao diện DPC++ có liên kết tĩnh trên 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
Ví dụample, xây dựng/liên kết tĩnh main.cpp với giao diện ilp64 và phân luồng 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
Đối với giao diện DPC++ có liên kết động trên 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
Ví dụample, xây dựng/liên kết động main.cpp với giao diện ilp64 và phân luồng 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
Đối với Giao diện C/Fortran có Hỗ trợ Giảm tải OpenMP
Sử dụng giao diện Thư viện hạt nhân toán học C/Fotran Intel® oneAPI với tính năng giảm tải OpenMP cho GPU.
Xem Hướng dẫn dành cho nhà phát triển C OpenMP Offload để biết thêm chi tiết về tính năng này.
Thêm các thay đổi sau vào các dòng biên dịch/liên kết C/Fortran oneMKL để bật tính năng giảm tải OpenMP cho GPU:
- Tùy chọn biên dịch/liên kết bổ sung: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- Thư viện oneMKL bổ sung: thư viện oneMKL DPC++
Ví dụample, xây dựng/liên kết động main.cpp trên Linux với giao diện ilp64 và phân luồng 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
Đối với tất cả các cấu hình được hỗ trợ khác, hãy xem Cố vấn dòng liên kết thư viện hạt nhân toán học Intel® oneAPI.
Tìm thêm
Tài nguyên: Mô tả
Hướng dẫn: Sử dụng Thư viện hạt nhân toán học Intel® oneAPI để nhân ma trận:
- Hướng dẫn – Ngôn ngữ C
- Hướng dẫn – Ngôn ngữ Fortran
Hướng dẫn này trình bày cách bạn có thể sử dụng oneMKL để nhân ma trận, đo hiệu suất của phép nhân ma trận và kiểm soát phân luồng.
Ghi chú phát hành của Thư viện hạt nhân toán học Intel® oneAPI (oneMKL) kiểm soát phân luồng.
Ghi chú phát hành chứa thông tin dành riêng cho bản phát hành mới nhất của oneMKL bao gồm các tính năng mới và đã thay đổi. Các ghi chú phát hành bao gồm các liên kết đến các nguồn thông tin trực tuyến chính liên quan đến việc phát hành. Bạn cũng có thể tìm thấy thông tin về:
- Có gì mới trong bản phát hành
- Nội dung sản phẩm
- Nhận hỗ trợ kỹ thuật
- định nghĩa giấy phép
Thư viện hạt nhân toán học Intel® oneAPI
Trang sản phẩm Thư viện hạt nhân toán học Intel® oneAPI (oneMKL). Xem trang này để được hỗ trợ và tài liệu trực tuyến.
Sách hướng dẫn thư viện hạt nhân toán học Intel® oneAPI
Thư viện hạt nhân toán học Intel® oneAPI chứa nhiều quy trình giúp bạn giải các bài toán số khác nhau, chẳng hạn như nhân ma trận, giải hệ phương trình và thực hiện phép biến đổi Fourier.
Ghi chú cho Thống kê vectơ thư viện hạt nhân toán học Intel® oneAPI
Tài liệu này bao gồm hơnview, một mô hình sử dụng và kết quả thử nghiệm của bộ tạo số ngẫu nhiên có trong VS.
Intel® oneAPI Math Kernel Thư viện Vector Thống kê Dữ liệu Hiệu suất Trình tạo Số Ngẫu nhiên
Dữ liệu hiệu suất thu được bằng cách sử dụng trình tạo số ngẫu nhiên thống kê vectơ (VS) (RNG) bao gồm đơn vị đo CPE (đồng hồ trên mỗi phần tử), trình tạo số ngẫu nhiên cơ bản (BRNG), trình tạo phân phối được tạo và độ dài của vectơ được tạo.
Intel® oneAPI Math Kernel Thư viện dữ liệu chính xác và hiệu suất toán học
Toán học véc tơ (VM) tính toán các hàm cơ bản trên đối số véc tơ. VM bao gồm một tập hợp các triển khai được tối ưu hóa cao của các hàm toán học lõi tính toán đắt tiền (lũy thừa, lượng giác, hàm mũ, hyperbolic và các hàm khác) hoạt động trên vectơ.
Ghi chú ứng dụng cho Thống kê tóm tắt thư viện hạt nhân toán học Intel® oneAPI
Thống kê Tóm tắt là một thành phần con của miền Thống kê Vector của Thư viện Hạt nhân Toán học Intel® oneAPI. Thống kê tóm tắt cung cấp cho bạn các chức năng để phân tích thống kê ban đầu và đưa ra giải pháp xử lý song song các bộ dữ liệu đa chiều.
LAACK Examptập
Tài liệu này cung cấp mã exampcác tập tin cho các thủ tục oneMKL LAPACK (GÓI Đại số tuyến tính).
Thông báo và Tuyên bố từ chối
Phần mềm và khối lượng công việc được sử dụng trong các bài kiểm tra hiệu suất có thể đã được tối ưu hóa cho hiệu suất chỉ trên bộ vi xử lý Intel. Các bài kiểm tra hiệu suất, chẳng hạn như SYSmark và MobileMark, được đo bằng cách sử dụng các hệ thống máy tính, thành phần, phần mềm, hoạt động và chức năng cụ thể. Bất kỳ thay đổi nào đối với bất kỳ yếu tố nào trong số đó có thể khiến kết quả thay đổi. Bạn nên tham khảo các thông tin khác và các bài kiểm tra hiệu suất để hỗ trợ bạn đánh giá đầy đủ các giao dịch mua dự tính của mình, bao gồm cả hiệu suất của sản phẩm đó khi kết hợp với các sản phẩm khác. Để biết thêm thông tin đầy đủ, hãy truy cập www.intel.com/benchmarks.
Các công nghệ của Intel có thể yêu cầu kích hoạt phần cứng, phần mềm hoặc dịch vụ.
Không có sản phẩm hoặc thành phần nào có thể an toàn tuyệt đối.
Chi phí và kết quả của bạn có thể khác nhau.
© Tập đoàn Intel. Intel, logo Intel và các nhãn hiệu khác của Intel là nhãn hiệu của Intel Corporation hoặc các công ty con của Intel. Các tên và thương hiệu khác có thể được coi là tài sản của người khác.
Thông tin sản phẩm và hiệu suất
Hiệu suất thay đổi tùy theo cách sử dụng, cấu hình và các yếu tố khác. Tìm hiểu thêm tại www.Intel.com/PerformanceIndex.
Thông báo sửa đổi #20201201
Tài liệu này không cấp bất kỳ giấy phép nào (rõ ràng hay ngụ ý, bằng cách ngăn chặn hoặc cách khác) cho bất kỳ quyền sở hữu trí tuệ nào.
Các sản phẩm được mô tả có thể chứa các lỗi hoặc khiếm khuyết về thiết kế được gọi là lỗi in, có thể khiến sản phẩm không giống với các thông số kỹ thuật đã công bố. Các lỗi in hiện tại có sẵn theo yêu cầu.
Intel từ chối tất cả các bảo đảm rõ ràng và ngụ ý, bao gồm nhưng không giới hạn, các bảo đảm ngụ ý về khả năng bán được, tính phù hợp cho một mục đích cụ thể và không vi phạm, cũng như bất kỳ bảo hành nào phát sinh từ quá trình thực hiện, quá trình giao dịch hoặc sử dụng trong thương mại.
Tài liệu / Tài nguyên
![]() |
Thư viện hạt nhân toán học intel oneAPI [tập tin pdf] Hướng dẫn sử dụng Thư viện hạt nhân toán học oneAPI, Thư viện hạt nhân toán học, Thư viện hạt nhân, Thư viện |