多執行緒向量作業設計範例

建議:

  • 裝置:未知

  • Quartus®:v16.1

author-image

作者

此範例設計在兩個獨立的執行緒中執行兩個類別的實例。每個實例都使用不同的核心:第一次實例會執行向量新增核心來執行:C = A + B,其中 A、B 和 C 是 N 元素向量。第二個實例會執行成員向量乘法核心以執行:C = A * B (會員)。核心是故意保持簡單且未優化。

由於無法將裝置程式化以同時使用兩個獨立的程式,因此兩個問題實例都共用相同的 OpenCL™程式(因此在相同的情況下執行)。然而,就這個範例而言,這兩個執行緒可以有獨立的命令佇列。為了簡化,兩個執行緒在兩個相同程式碼的實例上執行,並具有不同的參數,但通常可以執行兩個獨立的類別。

除了展示基本的 OpenCL 應用程式程式設計介面 (API) 外,此範例還支援在多種 OpenCL 裝置(如果有的話)分割問題。如果有 M 可用的裝置,則會將問題分割,讓每個裝置在 N/M 點上運作。主機程式假設所有裝置的類型相同(也就是可以使用相同的二進位檔案,但可以將程式碼一般化,以輕鬆支援不同的裝置類型)。

下載

設計範例提供 OpenCL 裝置 (.cl) 和主機應用程式的原始碼。若要編譯主機應用程式,Linux* 套件包含一個 Makefile,而 Windows* 套件包含 Microsoft* Visual Studio 2010 專案。

此範例提供下列下載專案:

此設計的使用受 硬體參考設計授權合約的條款與細則管轄,並受其約束。

軟硬體需求

此設計範例需要下列工具:

  • Intel® FPGA軟體 v17.1 或更高版本
  • Intel FPGA適用于 OpenCL™ v17.1 或更新版本的 SDK
  • 在 Linux:GNU 製造與 gcc 上
  • Windows:Microsoft Visual Studio 2010

若要下載 Intel®設計工具,請造訪 OpenCL 下載 頁面。基礎作業系統的需求與 OpenCL Intel FPGA SDK 的要求相同。

OpenCL 和 OpenCL 圖志是 Apple Inc. 的商標,經 Khronos 許可使用。

* 產品以已發佈的 Khronos 規格為基礎,並且已通過 Khronos 符合性測試程式。目前的符合狀態可在 www.khronos.org/conformance找到。

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。