日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Intel altera opencl 入门

發布時間:2023/12/9 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Intel altera opencl 入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天給大俠帶來Intel?altera opencl 入門,話不多說,上貨。

?

概述

?

Intel?altera 的 OpenCL 主要面向信號處理類應用的客戶,是用C語言開發FPGA的利器,開放計算語言(OpenCL)聯盟著名的公司有 FPGA巨頭Intel?altera、兩大顯卡GPU巨頭AMD和英偉達、CPU巨頭Intel、軟件和服務器巨頭IBM以及全世界最大的公司Apple(蘋果)等等。不過AMD和英偉達是用GPU實現的OpenCL并行運算,Intel?altera是用FPGA實現并行運算。

?

?

?

1. 系統要求

? Microsoft 64-bit Windows 7專業版或者更高。

? 對于Windows操作系統, 要安裝微軟公司的Visual Studio 2010或者2012專業版(推薦)。

或者:

? Red Hat Enterprise 64-bit Linux (RHEL) 5或者6。

? 對于Linux操作系統, 安裝操作系統過程中要把C編譯器包括GCC勾選上。

?

?

?

2.安裝Altera的軟件和搭建OpenCL環境(以Windows為例,Linux也類似):

?安裝Quartus II 13.1 ?Update4(或者14.0)

?安裝Altera OpenCL 13.1 Update4(AOCLSetup-13.1.4.182.exe)(或者14.0)

?

?

?

設置環境變量(基于默認的安裝路徑):

變量和值如下:

ALTERAOCLSDKROOT和C:\altera\13.1\hld(或者C:\altera\14.0\hld)

PATH和C:\altera\13.1\hld\windows64\bin(或者C:\altera\14.0\hld\bin;C:\altera\14.0\hld\host\windows64\bin)

LM_LICENSE_FILE和c:\altera\license.dat
?

參考下圖:

?

?

然后在命令行里面運行where aoc,測試一下軟件是否安裝正確以及環境變量是否設置正確,如果正確,如下圖;如果不正確,修改錯誤再來。

?

或者(14.0)

?

?

?

3.開發板環境的安裝和測試(以臺灣友晶的DE5-Net開發板為例,不過沒有開發板也可以,開發板不是必需的):

1). 準備工作:下載DE5-Net開發板的全套軟件安裝包,http://www.terasic.com/downloads ... 5NET_openCL_BSP.zip??136MB,把里面的terasic文件夾解壓縮到C:\altera\13.1\hld\board\下。

設置DE5-Net開發板的環境變量:

變量和值如下:

AOCL_BOARD_PACKAGE_ROOT和C:\altera\13.1\hld\board\terasic\de5net

參考下圖:

?

然后在命令行里面運行aocl install來安裝開發板驅動。

關閉你的PC,安裝和連接開發板硬件后,重新開機,在命令行里面運行aoc --list-boards,如果硬件安裝連接成功,會顯示開發板名字de5net_a7,如果開發板不存在,顯示none found。
?

2). 測試開發板:

在命令行里面運行 cd C:\altera\13.1\hld\board\terasic\tests\blank,運行aocl program blank.aocx,如果開發板已經安裝連接好,aocx里面的sof文件會通過PCI-E接口下載,并且會返回成功的信息,如果開發板不存在或者沒有安裝連接好,會自動解壓縮出reprogram_temp.sof,用戶可以通過USB下載電纜去下載。

備注:沒有開發板的客戶可以在設置環境變量后跳過后面的步驟,繼續。
?

?

?

4.編譯和測試OpenCL工程:

1). 編譯OpenCL工程:

在命令行里面運行cd C:\altera\13.1\hld\board\terasic\tests\boardtest進入工程文件夾,運行aoc boardtest.cl --sw-dimm-partition開始編譯,編譯時間大約1個小時,最終產生的boardtest.aocx里面包含了sof文件,可以給開發板編程進去。
?

2). 測試OpenCL工程(通過開發板):

在命令行里面運行 cd C:\altera\13.1\hld\board\terasic\tests\blank,運行aocl program boardtest.aocx,如果開發板已經安裝連接好,aocx里面的sof文件會通過PCI-E接口下載,并且會返回成功的信息,如果開發板不存在或者沒有安裝連接好,會自動解壓縮出reprogram_temp.sof,用戶可以通過USB下載電纜去下載。

提示:沒有開發板的客戶可以跳過上面的步驟,直接編譯下面不需要開發板的例子,有開發板的客戶可以直接到第五步:

下面完全脫離真實的開發板來運行Cytech_C5SOC.zip:

?

?

設置“虛擬”板的環境變量(替換原來的環境變量):

變量和值如下:

AOCL_BOARD_PACKAGE_ROOT和 C:\altera\13.1\hld\board\Cytech_C5SOC

參考下圖:

?

解壓縮Cytech_C5SOC.zip里面的內容到C:\altera\13.1\hld\board\(也可以是其它文件夾),把例子exm_opencl_hello_world_windows64.zip里面的hello_world.cl也復制到這個文件夾下,在命令行里面運行cd C:\altera\13.1\hld\board\,運行aoc hello_world.cl開始編譯。----因為Cyclone V SOC的5CSXFC6容量比Stratix V的5SGSMD5小幾倍,所以編譯時間只有20分鐘左右,最終產生的hello_world.aocx里面包含了sof文件,同時也產生了轉換后的.V源碼和整個編譯后的Quartus II完整工程,包括大量的底層配套的各種IP源碼。
?

再演示3個不同的例子,分別是vector_add、matrix_mult和FFT,也是完全脫離真實的開發板來運行:

?

?

?

不改變上面“虛擬”板的環境變量,目的是繼續使用Cyclone V SOC的5CSXFC6,可以產生為這個系列優化的源碼。

分別解壓縮3個zip例子到C:\altera\13.1\hld\board\(也可以是其它目錄),然后分別在在命令行里面:

1.運行cd C:\altera\13.1\hld\board\vector_add\device,然后運行aoc vectorAdd.cl開始編譯。

2.運行cd C:\altera\13.1\hld\board\matrix_mult\device,然后運行aoc matrix_mult.cl開始編譯。

3.運行cd C:\altera\13.1\hld\board\fft1d\device,然后運行aoc fft1d.cl開始編譯。
?

3個例子之間沒有任何聯系,可以單獨運行,如果你的PC內存足夠大,可以一起運行。

在產生的不同Quartus II工程中,可以找到matrix_mult.v、vectorAdd.v和fft1d.v這些轉換出的源碼。特別注意的是,這些最終的源碼是acl_kernel_interface接口,這種接口比較簡單,和FIFO差不多,只不過多了幾個啟動結束控制線,如start,valid等等。

備注:大家可以把這些源碼復制到自己的工程中和自己寫的其它邏輯模塊連接起來即可。如果想產生基于Stratix V器件優化的源碼,可以在環境變量的路徑中把臺灣友晶的DE5-Net開發板作為虛擬板(也就是恢復第三步的環境變量),然后編譯cl文件即可。

?

?

?

5.編譯Host程序:

啟動Visual Studio 2012,點擊“文件打開項目”,選擇C:\altera\13.1\hld\board\terasic\tests\boardtest\host\boardtest.sln(或者直接在硬盤上雙擊這個sln文件,VS 2012會自動完成上述步驟),然后點擊“生成生成解決方案”,最后在……\host\x64\Release\下產生了boardtest.exe,不過這個exe不能運行,因為缺少幾個dll文件,把C:\altera\13.1\hld\windows64\bin\下的所有的6個dll文件復制過來,和這個exe放在同一個文件夾下就可以運行了。

備注:沒有開發板的客戶可以跳過上面這個步驟。

?

?

?

6.查看結果:

把第四步產生的aocx文件下載到開發板,成功后會返回信息,然后運行第五步產生的exe即可在PC屏幕上看到開發板返回的最終結果。

備注:沒有開發板的客戶可以跳過上面這個步驟。

沒有開發板的客戶只需要走1、2、4步即可。

參考資料、例子和其它:?
?

?

?

1.參考資料:http://www.altera.com.cn/product ... l/opencl-index.html?

網頁最下面3個入門文檔:

面向OpenCL的Altera SDK開始設計:aocl_getting_started.pdf

面向OpenCL的Altera SDK編程指南:aocl_programming_guide.pdf

面向OpenCL的Altera SDK優化指南:aocl_optimization_guide.pdf

其中13.1版本對應的aocl_getting_started.pdf第8頁是錯的,PATH應該是C:\altera\13.1\hld\windows64\bin,14.0里面改正了。

2.Altera目前有13個OpenCL的例子在http://www.altera.com.cn/support/examples/opencl/opencl.html??里面,上面第4步用到的exm_opencl_hello_world_windows64.zip例子就來自于這個網頁。

3.Cl文件是OpenCL的源碼文件,aocx是cl文件編譯后的編程文件,里面包括sof文件。PC機那邊的Host軟件不是必需的,做host軟件僅僅是為了和開發板通信來獲取開發板運行openCL的信息。沒有開發板的用戶只要寫一個cl文件然后自己建立一個Quartus II工程就可以編譯了,最后產生了轉換后的.V源碼和整個編譯后的Quartus II完整工程,包括大量的底層配套的各種IP源碼。

4.因為事先設置了環境變量的緣故,所以cl文件放到任何路徑下都可以編譯,編譯后會在cl文件所在的文件夾里面產生完整的Quartus II整個工程,里面就有轉換后的.v文件。

總結

以上是生活随笔為你收集整理的Intel altera opencl 入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。