01 前言
在算力需求爆炸式增長(zhǎng)的時(shí)代,異構(gòu)計(jì)算已成為突破性能瓶頸的首選路徑。然而,多架構(gòu)編程困境、傳統(tǒng)硬件開(kāi)發(fā)高門檻(如FPGA)、硬件優(yōu)化與算法快速迭代,這些無(wú)不制約著創(chuàng)新的效率。
而此時(shí)作為開(kāi)放的、跨架構(gòu)的統(tǒng)一編程模型英特爾 oneAPI,正是破局之鑰。對(duì)于FPGA的開(kāi)發(fā)來(lái)說(shuō),oneAPI讓開(kāi)發(fā)者能用高級(jí)語(yǔ)言(如C++))轉(zhuǎn)換為用于硬件加速的RTL IP代碼。通過(guò)oneAPI實(shí)現(xiàn)了FPGA開(kāi)發(fā)周期大幅度縮短,編譯器自動(dòng)優(yōu)化數(shù)據(jù)流與流水線,以及同一代碼庫(kù)跨CPU/GPU/FPGA無(wú)縫部署。
02 基于DE1-SOC的oneAPI實(shí)驗(yàn)
本教程介紹如何使用Intel oneAPI工具包將高級(jí)語(yǔ)言代碼(特別是C++風(fēng)格的代碼)轉(zhuǎn)換為用于硬件加速的RTL(Register-Transfer Level,寄存器傳輸級(jí)) IP代碼。關(guān)于Intel oneAPI的詳細(xì)介紹可以瀏覽Intel oneAPI官網(wǎng)。
教程中的示例基于Nios II處理器嵌入式系統(tǒng)構(gòu)建并在DE1-SoC開(kāi)發(fā)板上運(yùn)行,演示如何使用oneAPI工具包將用C++編寫的高級(jí)直接內(nèi)存訪問(wèn)(Direct Memory Access,DMA)代碼轉(zhuǎn)換為 RTL IP 代碼,然后將生成的 IP 集成到Nios II嵌入式系統(tǒng)中。開(kāi)發(fā)者按照這種方法可以為任何計(jì)算密集型任務(wù)生成 RTL IP 代碼,從而顯著提升硬件加速性能。
以下是運(yùn)行示例所需的軟硬件要求:
DE1-SoC開(kāi)發(fā)板
Win 10/11 PC
Visual Studio Community 2022
Intel oneAPI Base Toolkit
FPGA Support Package for oneAPI
Altera Quartus Prime Standard v23.1
一、 安裝Visual Studio Community 2022
本節(jié)介紹下載并安裝Visual Studio Community 2022。
1. 下載Visual Studio Community。
2. 下載完成后運(yùn)行VisualStudioSetup.exe,點(diǎn)擊Continue。
3. 在Installing界面選擇Desktop&Mobile里的Desktop development with C++,保持其它默認(rèn)設(shè)置不變,然后點(diǎn)擊Install開(kāi)始安裝。
4. 安裝界面里取消勾選Start after installation,等待安裝完成。
5. 安裝完成后關(guān)閉Visual Studio Installer。
二、安裝Intel oneAPI Base Toolkit
本節(jié)介紹下載安裝Intel oneAPI Base Toolkit。Intel oneAPI Base Toolkit是一套核心工具和庫(kù),用于跨多種架構(gòu)創(chuàng)建和部署高性能、以數(shù)據(jù)為中心的應(yīng)用程序,它提供了用于高效創(chuàng)建高性能跨架構(gòu)應(yīng)用程序的基礎(chǔ)工具。
1. 按下圖所示選擇下載Intel oneAPI Base Toolkit。
2. 運(yùn)行intel-oneapi-base-toolkit-2025.0.1.47_offline.exe,點(diǎn)擊下圖中的Extract。
3. 點(diǎn)擊Continue繼續(xù)。
4. 勾選I accept the terms of the license agreement,然后點(diǎn)擊Continue。
5. 接下來(lái)一直保持默認(rèn)設(shè)置安裝。
6. 等待安裝完成后,點(diǎn)擊Finish。
三、安裝FPGA Support Package for oneAPI
通過(guò)擴(kuò)展Intel oneAPI DPC++/C++ 編譯器,F(xiàn)PGA Support Package使開(kāi)發(fā)者能夠遵循簡(jiǎn)化的FPGA工作流程,它支持創(chuàng)建和優(yōu)化 FPGA 工作負(fù)載,并通過(guò)仿真進(jìn)行功能驗(yàn)證。此外還提供詳細(xì)的報(bào)告和圖形分析功能,幫助檢查生成的SystemVerilog 輸出。
1. 下載FPGA Support Package。
2. 運(yùn)行intel-fpga-support-for-compiler-2025.0.0.585_offline.exe,點(diǎn)擊Extract。
3. 點(diǎn)擊Continue繼續(xù)。
4.勾選I accept the terms of the license agreement,點(diǎn)擊Continue。
5. 勾選I Consent to the collection of my information,點(diǎn)擊Install。
6. 等待安裝完成后,點(diǎn)擊Finish。
四、安裝Quartus Prime Standard v23.1.1
1. 下載Quartus Prime Standard v23.1.1以及Cyclone V FPGA器件包。
2. 運(yùn)行QuartusSetup-23.1std.1.993-windows.exe開(kāi)始安裝,持續(xù)點(diǎn)擊Next保持Quartus默認(rèn)方式安裝。在選擇安裝路徑界面也可以更改安裝路徑,并確保Cyclone V FPGA器件包也一起安裝。
3. 安裝完成后,修改PC的環(huán)境變量,新增變量名QUARTUS_ROOTDIR_OVERRIDE,變量值指向Quartus安裝路徑,比如E:intelFPGA23.1stdquartus。
五、驗(yàn)證軟件環(huán)境
本節(jié)介紹如何驗(yàn)證軟件是否成功安裝,以及檢查PC環(huán)境變量設(shè)置是否正確。
1. 在PC的開(kāi)始菜單欄選擇Intel oneAPI 2025-->Intel oneAPI command prompt for Intel 64 for Visual Studio 2022,打開(kāi)Intel oneAPI命令行窗口。
2. 執(zhí)行cl和cmake -version命令,驗(yàn)證Visual Studio是否完全安裝。
3. 執(zhí)行icx-cl --version命令驗(yàn)證Intel oneAPI Base Toolkit已安裝。
4. 執(zhí)行aoc -version命令驗(yàn)證FPGA Support Package for oneAPI已安裝。
5. 執(zhí)行%QUARTUS_ROOTDIR_OVERRIDE%/bin64/quartus_sh --version命令驗(yàn)證Quartus已安裝。
六、編譯執(zhí)行oneAPI示例--Simple DMA
oneAPI CLI Samples Browser可用于瀏覽在線oneAPI系列示例。在瀏覽oneAPI 示例時(shí),可以將它們復(fù)制保存到PC本地文件夾。在PC主機(jī)的CPU上運(yùn)行的FPGA Emulator可以生成設(shè)備端(FPGA)內(nèi)核所用的線程。FPGA Emulator并非FPGA的完美復(fù)制品,運(yùn)行速度也慢得多。Emulator允許我們?cè)诓粏?dòng)完整器件編譯的情況下檢查代碼的正確性。
1. 打開(kāi)Intel oneAPI命令窗口,執(zhí)行chcp 65001命令將語(yǔ)言編碼更改為UTF-8。
2. 執(zhí)行oneapi-cli.exe命令打開(kāi)oneAPI CLI Samples Browser。
3. 按鍵盤上的<和>鍵移動(dòng)光標(biāo),選擇(1) Create a project再按Enter鍵進(jìn)入Select sample language界面。
4. 選擇(1) cpp再按Enter鍵。
5. 移動(dòng)光標(biāo)依次選擇Toolkit > oneAPI Direct Programming > C++ SYCL FPGA > Reference Designs> Nios V,再按Enter鍵。
6. 在此界面可更改保存工程的路徑,舉例D:InteloneAPI iosv,再按Enter鍵可將工程保存在該路徑下。
7. 按Quit鍵退出回到Intel oneAPI命令行窗口,使用cd命令切換到niosv/ReferenceDesigns/niosv/kernels/simple_dma工程路徑。
8. 執(zhí)行以下命令創(chuàng)建并切換到build文件夾,配置build系統(tǒng)并指定FPGA為Cyclone V。
mkdir build && cd build
cmake .. -G "NMake Makefiles" -DFPGA_DEVICE=CycloneV
9. 執(zhí)行nmake fpga_emu命令編譯Simple DMA,使用FPGA emulator驗(yàn)證Simple DMA內(nèi)核。
10. 執(zhí)行simple_dma.fpga_emu.exe驗(yàn)證Simple DMA內(nèi)核,結(jié)果顯示為PASSED。
-
FPGA
+關(guān)注
關(guān)注
1644文章
22007瀏覽量
616375 -
英特爾
+關(guān)注
關(guān)注
61文章
10188瀏覽量
174272 -
cpu
+關(guān)注
關(guān)注
68文章
11062瀏覽量
216453 -
soc
+關(guān)注
關(guān)注
38文章
4362瀏覽量
222159
原文標(biāo)題:基于DE1-SoC的My_First_oneAPI(一)
文章出處:【微信號(hào):友晶FPGA,微信公眾號(hào):友晶FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于DE1-SOC開(kāi)發(fā)板的oneAPI實(shí)驗(yàn)教程(2)

求購(gòu)de1-soc開(kāi)發(fā)版。有的請(qǐng)聯(lián)系我。急求呢。QQ:528369266
DE1-SOC新貨轉(zhuǎn)讓
DE1-SoC官方自帶ControlPanel代碼解讀與AV圖像采集處理?
大神幫忙看看,為什么我的開(kāi)發(fā)板無(wú)法用電腦進(jìn)行配置
小弟求購(gòu)Altera DE1-SOC開(kāi)發(fā)板,哪位大神玩剩下了傳承一下,多謝!
de1-soc FPGA(Quartus工程含Qsys系統(tǒng)) + HPS 操作步驟
Altera DE2 開(kāi)發(fā)板測(cè)試說(shuō)明
如何在DE1-SOC開(kāi)發(fā)板上搭建NIOS II處理器運(yùn)行UCOS
DE1-SoC開(kāi)發(fā)工具包的詳細(xì)用戶和使用手冊(cè)資料免費(fèi)下載

ALTERA公司的DE1 SoC FPGA開(kāi)發(fā)板的培訓(xùn)教程免費(fèi)下載

用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬器設(shè)計(jì)

街機(jī)彈球機(jī)的模擬設(shè)計(jì)實(shí)現(xiàn)

評(píng)論