intel-LOGO

intel Bắt đầu với trình biên dịch oneAPI DPC ++/C++

intel-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-SẢN PHẨM

GIỚI THIỆU

Trình biên dịch Intel® oneAPI DPC++/C++ cung cấp các tính năng tối ưu hóa giúp ứng dụng của bạn chạy nhanh hơn trên kiến ​​trúc Intel® 64 trên Windows* và Linux*, với sự hỗ trợ cho các tiêu chuẩn ngôn ngữ C, C++ và SYCL mới nhất. Trình biên dịch này tạo mã được tối ưu hóa có thể chạy nhanh hơn đáng kể bằng cách sử dụng advantage về số lượng lõi và chiều rộng thanh ghi véc tơ ngày càng tăng trong bộ xử lý Intel® Xeon® và bộ xử lý tương thích. Trình biên dịch Intel® sẽ giúp bạn nâng cao hiệu suất ứng dụng thông qua tối ưu hóa vượt trội và vector hóa Đa dữ liệu một lệnh (SIMD), tích hợp với Thư viện hiệu suất Intel® và bằng cách tận dụng mô hình lập trình song song OpenMP* 5.0/5.1.

Trình biên dịch Intel® oneAPI DPC++/C++ biên dịch nguồn SYCL* dựa trên C++ files cho nhiều loại máy gia tốc điện toán.
Trình biên dịch Intel® oneAPI DPC++/C++ là một phần của Bộ công cụ Intel® oneAPI.

Tìm thêm

Mô tả nội dung và liên kết
Ghi chú phát hành                                  Truy cập trang Ghi chú phát hành để biết các sự cố đã biết và thông tin cập nhật nhất.

Hướng dẫn lập trình Intel® oneAPI    Cung cấp thông tin chi tiết về Trình biên dịch Intel® oneAPI DPC++/C++

mô hình lập trình, bao gồm thông tin chi tiết về giảm tải SYCL* và OpenMP*, lập trình cho các bộ tăng tốc mục tiêu khác nhau và giới thiệu về thư viện Intel® oneAPI.

Intel® oneAPI DPC++/C++                Khám phá các tính năng và thiết lập của Trình biên dịch Intel® oneAPI DPC++/C++ và Hướng dẫn dành cho nhà phát triển trình biên dịch và          nhận thông tin chi tiết hơn về các tùy chọn trình biên dịch, thuộc tính và Thẩm quyền giải quyết                                        hơn.

mộtAPI Mã Samptập                      Khám phá mã oneAPI mới nhấtampđồng nghiệp.

•               Dữ liệu song song Intel® oneAPI C+      Đặt câu hỏi và tìm câu trả lời trong Intel® oneAPI Data Parallel C+

+ Diễn đàn                                      + và diễn đàn Trình biên dịch Intel® C++.

•               Diễn đàn trình biên dịch Intel® C++

 

Intel® oneAPI DPC++/C++                Khám phá các hướng dẫn, tài liệu đào tạo và các Intel® oneAPI khác Tài liệu biên dịch                  Tài liệu trình biên dịch DPC++/C++.

Đặc tả SYCL Phiên bản 1.2.1       Đặc tả SYCL, giải thích cách SYCL tích hợp các thiết bị OpenCL PDF                                                  với C++ hiện đại.

https://www.khronos.org/sycl/         Một quaview của SYCL.

Thư viện GNU* C++ – Sử dụng         Tài liệu Thư viện GNU* C++ về cách sử dụng ABI kép. ABI kép

Các lớp cho Dự án Yocto*                  Thêm các thành phần oneAPI vào bản dựng dự án Yocto bằng meta-intel

lớp.

Thông báo và Tuyên bố từ chối
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.

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.

Bắt đầu trên Linux

Trước khi bạn bắt đầu

Đặt biến môi trường
Trước khi bạn có thể sử dụng trình biên dịch, trước tiên bạn phải đặt các biến môi trường bằng cách tìm nguồn tập lệnh môi trường bằng tiện ích khởi tạo. Điều này khởi tạo tất cả các công cụ trong một bước.

  1. Xác định thư mục cài đặt của bạn, :
    • a. Nếu trình biên dịch của bạn đã được cài đặt ở vị trí mặc định bởi người dùng root hoặc người dùng sudo, thì trình biên dịch sẽ được cài đặt trong/opt/intel/oneapi. Trong trường hợp này, là /opt/intel/oneapi.
    • b. Đối với người dùng không root, thư mục chính của bạn trong intel/oneapi được sử dụng. Trong trường hợp này,
      sẽ là $HOME/intel/oneapi.
    • c. Đối với người dùng cụm hoặc doanh nghiệp, nhóm quản trị của bạn có thể đã cài đặt trình biên dịch trên mạng dùng chung file hệ thống. Kiểm tra với nhân viên quản trị địa phương của bạn để biết vị trí cài đặt
      ( ).
  2. Nguồn tập lệnh cài đặt môi trường cho trình bao của bạn:
    • a. bash: nguồn /setvars.sh intel64
    • b. csh/tcsh: nguồn /setvars.csh intel64

Cài đặt Trình điều khiển GPU hoặc Plug-in (Tùy chọn)
Bạn có thể phát triển các ứng dụng oneAPI bằng C++ và SYCL* sẽ chạy trên GPU Intel, AMD* hoặc NVIDIA*. Để phát triển và chạy ứng dụng cho các GPU cụ thể, trước tiên bạn phải cài đặt trình điều khiển hoặc trình cắm tương ứng:

  • Để sử dụng GPU Intel, hãy cài đặt trình điều khiển GPU Intel mới nhất.
  • Để sử dụng GPU AMD, hãy cài đặt plugin oneAPI cho GPU AMD.
  • Để sử dụng GPU NVIDIA, hãy cài đặt plugin oneAPI cho GPU NVIDIA.

Tùy chọn 1: Sử dụng Dòng lệnh
Trình biên dịch Intel® oneAPI DPC++/C++ cung cấp nhiều trình điều khiển:

intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-1intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-2

Gọi trình biên dịch bằng cú pháp sau:
{trình biên dịch} [tùy chọn] file1 [file2…]

Ví dụamplê:
icpx xin chào-world.cpp

Để biên dịch SYCL, hãy sử dụng tùy chọn -fsycl với trình điều khiển C++:
icpx -fsycl hello-world.cpp

GHI CHÚ: Khi sử dụng -fsycl, -fsycl-targets=spir64 được giả định trừ khi -fsycl-targets được đặt rõ ràng trong lệnh.
Nếu bạn đang nhắm mục tiêu GPU NVIDIA hoặc AMD, hãy tham khảo hướng dẫn bắt đầu plugin GPU tương ứng để biết hướng dẫn biên dịch chi tiết:

  • oneAPI cho GPU NVIDIA Hướng dẫn Bắt đầu
  • oneAPI cho GPU AMD Hướng dẫn Bắt đầu

Tùy chọn 2: Sử dụng Eclipse* CDT
Làm theo các bước sau để gọi trình biên dịch từ bên trong Eclipse* CDT.

Cài đặt phần bổ trợ CDT Intel® Compiler Eclipse.

  1. Khởi động Eclipse
  2. Chọn Trợ giúp > Cài đặt phần mềm mới
  3. Chọn Thêm để mở hộp thoại Thêm Trang web
  4. Chọn Lưu trữ, duyệt đến thư mục /trình biên dịch/ /linux/ide_support, chọn .zip file bắt đầu bằng com.intel.dpcpp.compiler, sau đó chọn OK
  5. Chọn các tùy chọn bắt đầu bằng Intel, chọn Next, sau đó làm theo hướng dẫn cài đặt
  6. Khi được hỏi bạn có muốn khởi động lại Eclipse* không, hãy chọn Có

Xây dựng một dự án mới hoặc mở một dự án hiện có.

  1. Mở dự án hiện có hoặc tạo dự án mới trên Eclipse
  2. Nhấp chuột phải vào Dự án> Thuộc tính> Bản dựng C/C++> Trình chỉnh sửa chuỗi công cụ
  3. Chọn Trình biên dịch Intel DPC++/C++ từ bảng bên phải

Đặt cấu hình xây dựng.

  1. Mở dự án hiện có trên Eclipse
  2. Nhấp chuột phải vào Dự án> Thuộc tính> Bản dựng C/C++> Cài đặt
  3. Tạo hoặc quản lý cấu hình bản dựng trong bảng bên phải

Xây dựng chương trình từ dòng lệnh
Sử dụng các bước sau để kiểm tra cài đặt trình biên dịch của bạn và xây dựng chương trình.intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-3

  1. Sử dụng trình soạn thảo văn bản để tạo file có tên là hello-world.cpp với nội dung như sau:
  2. Biên dịch hello-world.cpp:
    icpx hello-world.cpp -o xin chào thế giới
    Tùy chọn -o chỉ định file tên cho đầu ra được tạo.
  3. Bây giờ bạn có một tệp thực thi được gọi là hello-world có thể chạy và sẽ đưa ra phản hồi ngay lập tức:intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-4

Đầu ra nào
Bạn có thể chỉ đạo và kiểm soát quá trình biên dịch với các tùy chọn trình biên dịch. Đối với người yêu cũample, bạn có thể tạo đối tượng file và xuất nhị phân cuối cùng theo hai bước:

  1. Biên dịch hello-world.cpp:intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-5Tùy chọn -c ngăn liên kết ở bước này.
  2. Sử dụng trình biên dịch icpx để liên kết mã đối tượng ứng dụng kết quả và xuất tệp thực thi:intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-6
    Tùy chọn -o chỉ định tệp thực thi được tạo file tên. Tham khảo Tùy chọn trình biên dịch để biết chi tiết về các tùy chọn khả dụng.

Bắt đầu trên Windows

Trước khi bạn bắt đầu

Đặt biến môi trường
Trình biên dịch tích hợp vào các phiên bản sau của Microsoft Visual Studio*:

  • Phiên bản Visual Studio 2022
  • Phiên bản Visual Studio 2019
  • Phiên bản Visual Studio 2017

GHI CHÚ Hỗ trợ cho Microsoft Visual Studio 2017 không còn được dùng kể từ bản phát hành Intel® oneAPI 2022.1 và sẽ bị xóa trong bản phát hành trong tương lai.

Để có đầy đủ chức năng trong Visual Studio, bao gồm gỡ lỗi và phát triển, cần có Visual Studio Community Edition hoặc cao hơn. Visual Studio Express Edition chỉ cho phép các bản dựng dòng lệnh. Đối với tất cả các phiên bản, phải chọn hỗ trợ Microsoft C++ như một phần của cài đặt Visual Studio. Đối với Visual Studio 2017 trở lên, bạn phải sử dụng cài đặt tùy chỉnh để chọn tùy chọn này.
Thông thường, bạn không cần đặt các biến môi trường trên Windows, vì cửa sổ dòng lệnh của trình biên dịch sẽ tự động đặt các biến này cho bạn. Nếu bạn cần đặt các biến môi trường, hãy chạy tập lệnh môi trường như được mô tả trong tài liệu Bắt đầu dành riêng cho bộ phần mềm.
Thư mục cài đặt mặc định ( ) là C:\Chương trình Files (x86)\Intel\oneAPI.

Cài đặt trình điều khiển GPU (Tùy chọn)
Để phát triển và chạy các ứng dụng cho GPU Intel, trước tiên bạn phải cài đặt trình điều khiển GPU Intel mới nhất.

Tùy chọn 1: Sử dụng Dòng lệnh trong Microsoft Visual Studio

Trình biên dịch Intel® oneAPI DPC++/C++ cung cấp nhiều trình điều khiển:intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-7 intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-8

Gọi trình biên dịch bằng cú pháp sau:intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-9

Để gọi trình biên dịch bằng dòng lệnh từ bên trong Microsoft Visual Studio, hãy mở dấu nhắc lệnh và nhập lệnh biên dịch của bạn. Đối với người yêu cũamplê:intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-10

Để biên dịch SYCL, hãy sử dụng tùy chọn -fsycl với trình điều khiển C++:intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-11

GHI CHÚ: Khi sử dụng -fsycl, -fsycl-targets=spir64 được giả định trừ khi -fsycl-targets được đặt rõ ràng trong lệnh.

Tùy chọn 2: Sử dụng Microsoft Visual Studio
Hỗ trợ Dự án cho Trình biên dịch Intel® DPC++/C++ trong Microsoft Visual Studio
Các dự án Microsoft Visual Studio mới cho DPC++ được tự động định cấu hình để sử dụng Trình biên dịch Intel® oneAPI DPC++/C++.
Các dự án Microsoft Visual C++* (MSVC) mới phải được cấu hình thủ công để sử dụng Trình biên dịch Intel® oneAPI DPC++/C++.

GHI CHÚ: Các loại dự án CLR C++ dựa trên NET không được Trình biên dịch Intel® oneAPI DPC++/C++ hỗ trợ. Các loại dự án cụ thể sẽ khác nhau tùy thuộc vào phiên bản Visual Studio của bạn, ví dụ:ample: Thư viện lớp CLR, Ứng dụng bảng điều khiển CLR hoặc Dự án trống CLR.

Sử dụng Trình biên dịch Intel® DPC++/C++ trong Microsoft Visual Studio
Các bước chính xác có thể khác nhau tùy thuộc vào phiên bản Microsoft Visual Studio đang sử dụng.

  1. Tạo một dự án Microsoft Visual C++ (MSVC) hoặc mở một dự án hiện có.
  2. Trong Solution Explorer, chọn (các) dự án để xây dựng với Trình biên dịch Intel® oneAPI DPC++/C++.
  3. Mở Dự án > Thuộc tính.
  4. Trong ngăn bên trái, hãy mở rộng danh mục Thuộc tính cấu hình và chọn trang Thuộc tính chung.
  5. Trong khung bên phải, thay đổi Bộ công cụ nền tảng thành trình biên dịch bạn muốn sử dụng:
    • Đối với C++ có SYCL, hãy chọn Trình biên dịch Intel® oneAPI DPC++.
    • Đối với C/C++, có hai bộ công cụ.
      Chọn Trình biên dịch Intel C++ (bán tạiample 2021) để gọi icx.
      Chọn Trình biên dịch Intel C++ (bán tạiample 19.2) để gọi icl.
      Ngoài ra, bạn có thể chỉ định phiên bản trình biên dịch làm bộ công cụ cho tất cả các nền tảng và cấu hình được hỗ trợ của (các) dự án đã chọn bằng cách chọn Dự án > Trình biên dịch Intel > Sử dụng Trình biên dịch Intel oneAPI DPC++/C++.
  6. Xây dựng lại, sử dụng Xây dựng > Chỉ dự án > Xây dựng lại cho một dự án hoặc Xây dựng > Giải pháp xây dựng lại cho một giải pháp.

Chọn Phiên bản Trình biên dịch
Nếu bạn đã cài đặt nhiều phiên bản của Trình biên dịch Intel® oneAPI DPC++/C++, bạn có thể chọn phiên bản mình muốn từ hộp thoại Lựa chọn trình biên dịch:

  1. Chọn một dự án, sau đó vào Công cụ > Tùy chọn > Trình biên dịch và Thư viện Intel > > Trình biên dịch, ở đâu giá trị là C++ hoặc DPC++.
  2. Sử dụng trình đơn thả xuống Selected Compiler để chọn phiên bản thích hợp của trình biên dịch.
  3. Chọn OK.

Chuyển về Trình biên dịch Microsoft Visual Studio C++
Nếu dự án của bạn đang sử dụng Trình biên dịch Intel® oneAPI DPC++/C++, bạn có thể chọn chuyển về trình biên dịch Microsoft Visual C++:

  1. Chọn dự án của bạn trong Microsoft Visual Studio.
  2. Nhấp chuột phải và chọn Trình biên dịch Intel > Sử dụng Visual C++ từ trình đơn ngữ cảnh.

Hành động này cập nhật giải pháp file để sử dụng trình biên dịch Microsoft Visual Studio C++. Tất cả cấu hình của các dự án bị ảnh hưởng sẽ tự động được xóa trừ khi bạn chọn Không xóa (các) dự án. Nếu bạn chọn không làm sạch các dự án, bạn sẽ cần xây dựng lại các dự án đã cập nhật để đảm bảo tất cả các nguồn files được biên dịch với trình biên dịch mới.

Xây dựng chương trình từ dòng lệnh
Sử dụng các bước sau để kiểm tra cài đặt trình biên dịch của bạn và xây dựng chương trình.

  1. Sử dụng trình soạn thảo văn bản để tạo file có tên là hello-world.cpp với nội dung như sau:
    #bao gồm int main() std::cout << “Chào thế giới!\n”; trả về 0;
  2. Biên dịch hello-world.cpp:
    icx xin chào-world.cpp
  3. Bây giờ bạn có một tệp thực thi có tên hello-world.exe có thể chạy và sẽ đưa ra phản hồi ngay lập tức:
    xin chào-world.exe

Đầu ra:
Xin chào thế giới!

Bạn có thể chỉ đạo và kiểm soát quá trình biên dịch với các tùy chọn trình biên dịch. Đối với người yêu cũample, bạn có thể tạo đối tượng file và xuất nhị phân cuối cùng theo hai bước:

  1.  Biên dịch hello-world.cpp:
    icx hello-world.cpp /c /Fohello-world.obj
    Tùy chọn /c ngăn liên kết ở bước này và /fo chỉ định tên cho đối tượng file.
  2. Sử dụng trình biên dịch icx để liên kết mã đối tượng ứng dụng thu được và xuất tệp thực thi:
    icx hello-world.obj /Fehello-world.exe
  3. Tùy chọn /Fe chỉ định tệp thực thi được tạo file tên. Tham khảo Tùy chọn trình biên dịch để biết chi tiết về các tùy chọn khả dụng.

Biên dịch và thực thi Sampmật mã

Nhiều mã sampCác tập tin được cung cấp cho Trình biên dịch Intel® oneAPI DPC++/C++ để bạn có thể khám phá các tính năng của trình biên dịch và làm quen với cách hoạt động của nó. Đối với người yêu cũamplê:

intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-17intel-Bắt đầu với mộtAPI-DPC ++-C++-Compiler-FIG-18

Các bước tiếp theo

  • Sử dụng mã oneAPI mới nhất Sampvà làm theo Tài nguyên đào tạo Intel® oneAPI.
  • Khám phá Tài liệu tham khảo và hướng dẫn dành cho nhà phát triển trình biên dịch Intel® oneAPI DPC++/C++ trên Khu vực dành cho nhà phát triển Intel®.

Tài liệu / Tài nguyên

intel Bắt đầu với trình biên dịch oneAPI DPC ++/C++ [tập tin pdf] Hướng dẫn sử dụng
Bắt đầu với oneAPI DPC C Compiler, Bắt đầu với, oneAPI DPC C Compiler

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *