英特爾 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++ 編譯器論壇。
英特爾® 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 入門
開始之前
設置環境變量
在使用編譯器之前,您必須先使用初始化實用程序獲取環境腳本來設置環境變量。 這將一步初始化所有工具。
- 確定你的安裝目錄, :
- a. 如果您的編譯器是由 root 用戶或 sudo 用戶安裝在默認位置,則編譯器將安裝在 /opt/intel/oneapi 下。 在這種情況下, 是 /opt/intel/oneapi。
- b. 對於非 root 用戶,使用 intel/oneapi 下的主目錄。 在這種情況下,
將是 $HOME/intel/oneapi。 - c. 對於集群或企業用戶,您的管理團隊可能已經在共享網絡上安裝了編譯器 file 系統。 請諮詢您當地的管理人員以了解安裝位置
( ).
- 為您的 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++ 編譯器提供多個驅動程序:
使用以下語法調用編譯器:
{編譯器驅動} [選項] 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 插件。
- 啟動Eclipse
- 選擇幫助 > 安裝新軟件
- 選擇“添加”以打開“添加站點”對話框
- 選擇存檔,瀏覽到目錄/編譯器/ /linux/ide_support,選擇.zip file 以 com.intel.dpcpp.compiler 開頭,然後選擇 OK
- 選擇以 Intel 開頭的選項,選擇 Next,然後按照安裝說明進行操作
- 當系統詢問您是否要重新啟動 Eclipse* 時,選擇是
構建新項目或打開現有項目。
- 在 Eclipse 上打開現有項目或創建新項目
- 右鍵單擊項目 > 屬性 > C/C++ 構建 > 工具鏈編輯器
- 從右側面板中選擇 Intel DPC++/C++ Compiler
設置構建配置。
- 在 Eclipse 上打開現有項目
- 右鍵單擊項目 > 屬性 > C/C++ 構建 > 設置
- 在右側面板中創建或管理構建配置
從命令行構建程序
使用以下步驟測試您的編譯器安裝並構建程序。
- 使用文本編輯器創建一個 file 名為 hello-world.cpp,內容如下:
- 編譯 hello-world.cpp:
icpx hello-world.cpp -o 你好世界
-o 選項指定 file 生成的輸出的名稱。 - 現在你有一個名為 hello-world 的可執行文件,它可以運行並會立即提供反饋:
哪個輸出
您可以使用編譯器選項來指導和控制編譯。 對於前ample,你可以創建對象 file 並分兩步輸出最終的二進製文件:
- 編譯 hello-world.cpp:
-c 選項阻止在此步驟進行鏈接。
- 使用 icpx 編譯器鏈接生成的應用程序目標代碼並輸出可執行文件:
-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++ 編譯器提供多個驅動程序:
使用以下語法調用編譯器:
要從 Microsoft Visual Studio 中使用命令行調用編譯器,請打開命令提示符並輸入編譯命令。 對於前amp樂:
對於 SYCL 編譯,將 -fsycl 選項與 C++ 驅動程序一起使用:
筆記: 使用 -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 版本而異。
- 創建 Microsoft Visual C++ (MSVC) 項目或打開現有項目。
- 在解決方案資源管理器中,選擇要使用英特爾® oneAPI DPC++/C++ 編譯器構建的項目。
- 打開項目 > 屬性。
- 在左窗格中,展開 Configuration Properties 類別並選擇 General 屬性頁。
- 在右側窗格中,將 Platform Toolset 更改為您要使用的編譯器:
- 對於帶有 SYCL 的 C++,選擇英特爾® oneAPI DPC++ 編譯器。
- 對於 C/C++,有兩個工具集。
選擇英特爾 C++ 編譯器(前任ample 2021) 來調用 icx。
選擇英特爾 C++ 編譯器(前任ample 19.2) 來調用 icl。
或者,您可以通過選擇項目 > 英特爾編譯器 > 使用英特爾 oneAPI DPC++/C++ 編譯器,將編譯器版本指定為所選項目的所有支持平台和配置的工具集。
- 重建,使用 Build > Project only > Rebuild 為單個項目或 Build > Rebuild Solution 為解決方案。
選擇編譯器版本
如果您安裝了多個版本的英特爾® oneAPI DPC++/C++ 編譯器,您可以從“編譯器選擇”對話框中選擇所需的版本:
- 選擇一個項目,然後轉到工具 > 選項 > 英特爾編譯器和庫 > > 編譯器,其中值為 C++ 或 DPC++。
- 使用 Selected Compiler 下拉菜單選擇合適的編譯器版本。
- 選擇確定。
切換回 Microsoft Visual Studio C++ 編譯器
如果您的項目使用英特爾® oneAPI DPC++/C++ 編譯器,您可以選擇切換回 Microsoft Visual C++ 編譯器:
- 在 Microsoft Visual Studio 中選擇您的項目。
- 右鍵單擊並從上下文菜單中選擇英特爾編譯器 > 使用 Visual C++。
此操作更新解決方案 file 使用 Microsoft Visual Studio C++ 編譯器。 除非您選擇不清除項目,否則受影響項目的所有配置都會自動清除。 如果您選擇不清理項目,您將需要重建更新的項目以確保所有源 files 是用新的編譯器編譯的。
從命令行構建程序
使用以下步驟測試您的編譯器安裝並構建程序。
- 使用文本編輯器創建一個 file 名為 hello-world.cpp,內容如下:
#包括int main() std::cout << “你好,世界!\n”; 返回 0; - 編譯 hello-world.cpp:
icx 你好世界.cpp - 現在你有了一個名為 hello-world.exe 的可執行文件,它可以運行並立即給出反饋:
你好-world.exe
哪個輸出:
你好世界!
您可以使用編譯器選項來指導和控制編譯。 對於前ample,你可以創建對象 file 並分兩步輸出最終的二進製文件:
- 編譯 hello-world.cpp:
icx hello-world.cpp /c /Fohello-world.obj
/c 選項阻止在此步驟進行鏈接,而 /Fo 指定對象的名稱 file. - 使用 icx 編譯器鏈接生成的應用程序目標代碼並輸出可執行文件:
icx hello-world.obj /Fehello-world.exe - /Fe 選項指定生成的可執行文件 file 姓名。 有關可用選項的詳細信息,請參閱編譯器選項。
編譯並執行amp密碼
多碼amp為英特爾® oneAPI DPC++/C++ 編譯器提供了文件,以便您可以探索編譯器功能並熟悉它的工作原理。 對於前amp樂:
下一步
- 使用最新的oneAPI Code Samp文件並遵循英特爾® oneAPI 培訓資源。
- 探索英特爾® 開發人員專區上的英特爾® oneAPI DPC++/C++ 編譯器開發人員指南和參考。
文件/資源
![]() |
英特爾 oneAPI DPC ++/C++ 編譯器入門 [pdf] 使用者指南 oneAPI DPC C 編譯器入門, oneAPI DPC C 編譯器入門 |