英特爾LOGO

英特爾 oneAPI DPC ++/C++ 編譯器入門

intel-Get-Started-with-the-oneAPI-DPC ++-C++-編譯器-產品

介紹

英特爾® oneAPI DPC++/C++ 編譯器提供優化,可幫助您的應用程序在 Windows* 和 Linux* 上的英特爾® 64 架構上更快地運行,並支持最新的 C、C++ 和 SYCL 語言標準。 該編譯器生成優化的代碼,通過採用 advan 可以顯著提高運行速度tage 英特爾® 至強® 處理器和兼容處理器中不斷增加的內核數量和向量寄存器寬度。 英特爾® 編譯器將通過卓越的優化和單指令多數據 (SIMD) 矢量化、與英特爾® 性能庫的集成以及利用 OpenMP* 5.0/5.1 並行編程模型來幫助您提高應用程序性能。

英特爾® oneAPI DPC++/C++ 編譯器編譯基於 C++ 的 SYCL* 源代碼 files 適用於範圍廣泛的計算加速器。
英特爾® oneAPI DPC++/C++ 編譯器是英特爾® oneAPI 工具包的一部分。

尋找更多

內容描述和鏈接
發行說明                                  訪問發行說明頁面了解已知問題和最新信息。

英特爾® oneAPI 編程指南    提供有關英特爾® oneAPI DPC++/C++ 編譯器的詳細信息

編程模型,包括有關 SYCL* 和 OpenMP* 卸載的詳細信息、針對各種目標加速器的編程以及對英特爾® oneAPI 庫的介紹。

英特爾® oneAPI DPC++/C++                探索英特爾® oneAPI DPC++/C++ 編譯器功能和設置以及 編譯器開髮指南和          獲取有關編譯器選項、屬性和 參考                                        更多的。

oneAPI代碼Samp萊斯                      探索最新的oneAPI代碼amp萊斯。

•               英特爾® oneAPI 數據並行 C+      在英特爾® oneAPI 數據並行 C+ 中提問並尋找答案

+ 論壇                                      + 和英特爾® C++ 編譯器論壇。

•               英特爾® C++ 編譯器論壇

 

英特爾® oneAPI DPC++/C++                瀏覽教程、培訓材料和其他英特爾® oneAPI 編譯器文檔                  DPC++/C++ 編譯器文檔。

SYCL 規範版本 1.2.1       SYCL 規範,解釋了 SYCL 如何集成 OpenCL 設備 PDF                                                  使用現代 C++。

https://www.khronos.org/sycl/         一個結束view 的SYCL。

GNU* C++ 庫——使用         關於使用雙 ABI 的 GNU* C++ 庫文檔。 雙 ABI

Yocto* 項目的層                  使用 meta-intel 將 oneAPI 組件添加到 Yocto 項目構建中

層。

聲明和免責聲明
英特爾技術可能需要啟用硬件,軟件或服務才能激活。

  • 沒有任何產品或組件是絕對安全的。
  • 您的費用和結果可能會有所不同。

© 英特爾公司。 英特爾、英特爾標識和其他英特爾標誌是英特爾公司或其子公司的商標。 其他名稱和品牌可能是其他人的財產。

本文檔未授予任何智慧財產權許可(明示或暗示、透過禁止反言或其他方式)。
所描述的產品可能包含設計缺陷或錯誤(稱為勘誤表),這可能導致產品偏離已發布的規格。目前特徵勘誤表可依要求提供。

英特爾否認所有明示和默示保證,包括但不限於適銷性、特定用途適用性和不侵權的默示保證,以及因履行過程、交易過程或貿易使用產生的任何保證。

Linux 入門

開始之前

設置環境變量
在使用編譯器之前,您必須先使用初始化實用程序獲取環境腳本來設置環境變量。 這將一步初始化所有工具。

  1. 確定你的安裝目錄, :
    • a. 如果您的編譯器是由 root 用戶或 sudo 用戶安裝在默認位置,則編譯器將安裝在 /opt/intel/oneapi 下。 在這種情況下, 是 /opt/intel/oneapi。
    • b. 對於非 root 用戶,使用 intel/oneapi 下的主目錄。 在這種情況下,
      將是 $HOME/intel/oneapi。
    • c. 對於集群或企業用戶,您的管理團隊可能已經在共享網絡上安裝了編譯器 file 系統。 請諮詢您當地的管理人員以了解安裝位置
      ( ).
  2. 為您的 shell 獲取環境設置腳本:
    • a. 慶典:來源/setvars.sh intel64
    • b. csh/tcsh: 來源/setvars.csh intel64

安裝 GPU 驅動程序或插件(可選)
您可以使用 C++ 和 SYCL* 開發將在英特爾、AMD* 或 NVIDIA* GPU 上運行的 oneAPI 應用程序。 要為特定 GPU 開發和運行應用程序,您必須首先安裝相應的驅動程序或插件:

  • 要使用 Intel GPU,請安裝最新的 Intel GPU 驅動程序。
  • 要使用 AMD GPU,請安裝 oneAPI for AMD GPUs 插件。
  • 要使用 NVIDIA GPU,請安裝 oneAPI for NVIDIA GPUs 插件。

選項 1:使用命令行
英特爾® oneAPI DPC++/C++ 編譯器提供多個驅動程序:

英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-1英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-2

使用以下語法調用編譯器:
{編譯器驅動} [選項] file1 [file2…]

對於前amp樂:
icpx 你好-world.cpp

對於 SYCL 編譯,將 -fsycl 選項與 C++ 驅動程序一起使用:
icpx -fsycl 你好-world.cpp

筆記: 使用 -fsycl 時,假定 -fsycl-targets=spir64,除非在命令中明確設置了 -fsycl-targets。
如果您的目標是 NVIDIA 或 AMD GPU,請參閱相應的 GPU 插件入門指南以獲取詳細的編譯說明:

  • 適用於 NVIDIA GPU 的 oneAPI 入門指南
  • oneAPI for AMD GPU 入門指南

選項 2:使用 Eclipse* CDT
按照以下步驟從 Eclipse* CDT 中調用編譯器。

安裝英特爾® 編譯器 Eclipse CDT 插件。

  1. 啟動Eclipse
  2. 選擇幫助 > 安裝新軟件
  3. 選擇“添加”以打開“添加站點”對話框
  4. 選擇存檔,瀏覽到目錄/編譯器/ /linux/ide_support,選擇.zip file 以 com.intel.dpcpp.compiler 開頭,然後選擇 OK
  5. 選擇以 Intel 開頭的選項,選擇 Next,然後按照安裝說明進行操作
  6. 當系統詢問您是否要重新啟動 Eclipse* 時,選擇是

構建新項目或打開現有項目。

  1. 在 Eclipse 上打開現有項目或創建新項目
  2. 右鍵單擊項目 > 屬性 > C/C++ 構建 > 工具鏈編輯器
  3. 從右側面板中選擇 Intel DPC++/C++ Compiler

設置構建配置。

  1. 在 Eclipse 上打開現有項目
  2. 右鍵單擊項目 > 屬性 > C/C++ 構建 > 設置
  3. 在右側面板中創建或管理構建配置

從命令行構建程序
使用以下步驟測試您的編譯器安裝並構建程序。英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-3

  1. 使用文本編輯器創建一個 file 名為 hello-world.cpp,內容如下:
  2. 編譯 hello-world.cpp:
    icpx hello-world.cpp -o 你好世界
    -o 選項指定 file 生成的輸出的名稱。
  3. 現在你有一個名為 hello-world 的可執行文件,它可以運行並會立即提供反饋:英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-4

哪個輸出
您可以使用編譯器選項來指導和控制編譯。 對於前ample,你可以創建對象 file 並分兩步輸出最終的二進製文件:

  1. 編譯 hello-world.cpp:英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-5-c 選項阻止在此步驟進行鏈接。
  2. 使用 icpx 編譯器鏈接生成的應用程序目標代碼並輸出可執行文件:英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-6
    -o 選項指定生成的可執行文件 file 姓名。 有關可用選項的詳細信息,請參閱編譯器選項。

Windows 入門

開始之前

設置環境變量
編譯器集成到以下版本的 Microsoft Visual Studio* 中:

  • 視覺工作室 2022
  • 視覺工作室 2019
  • 視覺工作室 2017

筆記 自英特爾® oneAPI 2017 版本起,對 Microsoft Visual Studio 2022.1 的支持已棄用,並將在未來版本中刪除。

要獲得 Visual Studio 中的全部功能,包括調試和開發,需要 Visual Studio Community Edition 或更高版本。 Visual Studio Express Edition 僅允許命令行構建。 對於所有版本,必須選擇 Microsoft C++ 支持作為 Visual Studio 安裝的一部分。 對於 Visual Studio 2017 及更高版本,您必須使用自定義安裝來選擇此選項。
您通常不需要在 Windows 上設置環境變量,因為編譯器命令行窗口會自動為您設置這些變量。 如果您需要設置環境變量,請按照套件特定的入門文檔中的描述運行環境腳本。
默認安裝目錄( ) 是 C:\Program Files (x86)\Intel\oneAPI。

安裝 GPU 驅動程序(可選)
要為英特爾 GPU 開發和運行應用程序,您必須首先安裝最新的英特爾 GPU 驅動程序。

選項 1:使用 Microsoft Visual Studio 中的命令行

英特爾® oneAPI DPC++/C++ 編譯器提供多個驅動程序:英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-7 英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-8

使用以下語法調用編譯器:英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-9

要從 Microsoft Visual Studio 中使用命令行調用編譯器,請打開命令提示符並輸入編譯命令。 對於前amp樂:英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-10

對於 SYCL 編譯,將 -fsycl 選項與 C++ 驅動程序一起使用:英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-11

筆記: 使用 -fsycl 時,假定 -fsycl-targets=spir64,除非在命令中明確設置了 -fsycl-targets。

選項 2:使用 Microsoft Visual Studio
Microsoft Visual Studio 中英特爾® DPC++/C++ 編譯器的項目支持
適用於 DPC++ 的新 Microsoft Visual Studio 項目自動配置為使用英特爾® oneAPI DPC++/C++ 編譯器。
必須手動配置新的 Microsoft Visual C++* (MSVC) 項目以使用英特爾® oneAPI DPC++/C++ 編譯器。

筆記: 基於 NET 的 CLR C++ 項目類型不受英特爾® oneAPI DPC++/C++ 編譯器支持。 具體的項目類型會根據你的 Visual Studio 版本而有所不同,例如amp文件:CLR 類庫、CLR 控制台應用程序或 CLR 空項目。

在 Microsoft Visual Studio 中使用英特爾® DPC++/C++ 編譯器
具體步驟可能因使用的 Microsoft Visual Studio 版本而異。

  1. 創建 Microsoft Visual C++ (MSVC) 項目或打開現有項目。
  2. 在解決方案資源管理器中,選擇要使用英特爾® oneAPI DPC++/C++ 編譯器構建的項目。
  3. 打開項目 > 屬性。
  4. 在左窗格中,展開 Configuration Properties 類別並選擇 General 屬性頁。
  5. 在右側窗格中,將 Platform Toolset 更改為您要使用的編譯器:
    • 對於帶有 SYCL 的 C++,選擇英特爾® oneAPI DPC++ 編譯器。
    • 對於 C/C++,有兩個工具集。
      選擇英特爾 C++ 編譯器(前任ample 2021) 來調用 icx。
      選擇英特爾 C++ 編譯器(前任ample 19.2) 來調用 icl。
      或者,您可以通過選擇項目 > 英特爾編譯器 > 使用英特爾 oneAPI DPC++/C++ 編譯器,將編譯器版本指定為所選項目的所有支持平台和配置的工具集。
  6. 重建,使用 Build > Project only > Rebuild 為單個項目或 Build > Rebuild Solution 為解決方案。

選擇編譯器版本
如果您安裝了多個版本的英特爾® oneAPI DPC++/C++ 編譯器,您可以從“編譯器選擇”對話框中選擇所需的版本:

  1. 選擇一個項目,然後轉到工具 > 選項 > 英特爾編譯器和庫 > > 編譯器,其中值為 C++ 或 DPC++。
  2. 使用 Selected Compiler 下拉菜單選擇合適的編譯器版本。
  3. 選擇確定。

切換回 Microsoft Visual Studio C++ 編譯器
如果您的項目使用英特爾® oneAPI DPC++/C++ 編譯器,您可以選擇切換回 Microsoft Visual C++ 編譯器:

  1. 在 Microsoft Visual Studio 中選擇您的項目。
  2. 右鍵單擊並從上下文菜單中選擇英特爾編譯器 > 使用 Visual C++。

此操作更新解決方案 file 使用 Microsoft Visual Studio C++ 編譯器。 除非您選擇不清除項目,否則受影響項目的所有配置都會自動清除。 如果您選擇不清理項目,您將需要重建更新的項目以確保所有源 files 是用新的編譯器編譯的。

從命令行構建程序
使用以下步驟測試您的編譯器安裝並構建程序。

  1. 使用文本編輯器創建一個 file 名為 hello-world.cpp,內容如下:
    #包括int main() std::cout << “你好,世界!\n”; 返回 0;
  2. 編譯 hello-world.cpp:
    icx 你好世界.cpp
  3. 現在你有了一個名為 hello-world.exe 的可執行文件,它可以運行並立即給出反饋:
    你好-world.exe

哪個輸出:
你好世界!

您可以使用編譯器選項來指導和控制編譯。 對於前ample,你可以創建對象 file 並分兩步輸出最終的二進製文件:

  1.  編譯 hello-world.cpp:
    icx hello-world.cpp /c /Fohello-world.obj
    /c 選項阻止在此步驟進行鏈接,而 /Fo 指定對象的名稱 file.
  2. 使用 icx 編譯器鏈接生成的應用程序目標代碼並輸出可執行文件:
    icx hello-world.obj /Fehello-world.exe
  3. /Fe 選項指定生成的可執行文件 file 姓名。 有關可用選項的詳細信息,請參閱編譯器選項。

編譯並執行amp密碼

多碼amp為英特爾® oneAPI DPC++/C++ 編譯器提供了文件,以便您可以探索編譯器功能並熟悉它的工作原理。 對於前amp樂:

英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-17英特爾-Get-Started-with-the-oneAPI-DPC ++-C++-Compiler-FIG-18

下一步

  • 使用最新的oneAPI Code Samp文件並遵循英特爾® oneAPI 培訓資源。
  • 探索英特爾® 開發人員專區上的英特爾® oneAPI DPC++/C++ 編譯器開發人員指南和參考。

文件/資源

英特爾 oneAPI DPC ++/C++ 編譯器入門 [pdf] 使用者指南
oneAPI DPC C 編譯器入門, oneAPI DPC C 編譯器入門

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *