嵌入式

當前位置 /首頁/IT認證/嵌入式/列表

嵌入式系統安裝配置

嵌入式系統產品日臻完善,並在全世界各行業得到廣泛應用。嵌入式系統產品的研製和應用已經成為我國資訊化帶動工業化、工業化促進資訊化發展的新的國民經濟增長點。下面是小編整理的關於嵌入式系統安裝配置,歡迎大家參考!

嵌入式系統安裝配置

  ARM嵌入式系統上OpenCL測試

1). 簡介

相比曾經,如今科技裝置對處理效能和速度要求越來越高。為了應對這種技術需求,許多公司發明了不少方法來獲得更好的處理效能。例如蘋果公司,發明了 Open Computing Language (OpenCL)。2008年6月,蘋果公司向Khronos Group 提交了 OpenCL 工作建議。歷經五個月的研發,OpenCL 1.0 於 2008 年 11 月釋出。

OpenCL 是為個人電腦、伺服器、移動裝置以及嵌入式裝置的多核系統提供並行程式設計開發的底層 API。OpenCL 的程式語言類似於 C 語言。其可以用於包含 CPU、GPU 以及來自主流製造商如 NXP®、NVIDIA®、Intel®、AMD、IBM 等的處理器的異構平臺。OpenCL 旨在提高應用軟體如遊戲、娛樂以及科研和醫療軟體的執行速度和響應。

在本博文中,我們使用Toradex公司基於NXP iMX6QSoC的計算機模組產品ApalisiMX6Q 來測試 OpenCL,對比兩個應用 - 一個執行在 GPU 上,另一個則在 CPU。最後我們將分享本次測試的結果。

2). 測試硬體平臺

Toradex 的 Apalis iMX6Q 計算機模組採用 NXP 的 iMX6 四核處理器,其提供的處理效能特別適合於多媒體應用。該處理器具有 4 個 ARM® Cortex®-A9 核,最高主頻為 800MHz。除了處理器,Apalis 系統模組還具有高達 2GB DDR3 RAM(64bit)和 4GB eMMC Flash。

除了具備出色的圖形和多媒體處理能力,該處理器還具有 Vivante GC2000 3D GPU,其能夠支援 OpenCL EP (Embedded Profile)。因此,我們能充分夠利用 6QGPU 處理能力。

3). Toradex Embedded Linux 映象中新增 OpenCL

我們假設你已經具有能夠編譯 Apalis iMX6 映象的 OpenEmbedded 編譯環境。你可以參考Toradex開發者中心OpenEmbedded(core) 文章。

4). GPU 和CPU 程式碼

我們使用數列求和應用作為基本的演示例程。第一部分程式碼執行在 GPU 上,第二部分則在 CPU 上。應用執行完畢後列印其所消耗的'時間。使用 OpenCL 所需的標頭檔案是 cl.h,位於檔案系統的 /usr/include/CL 目錄。連結程式所需的庫檔案是 和 ,位於 /usr/lib 目錄。

為了計算消耗的時間,我們建立帶分析功能的佇列,在結束的時候獲取分析的結果。

OpenCL 程式碼見如下GitHub連結:

https://github.com/giobauermeister/OpenCL-test-apps/tree/master/cl_sample_timer

CPU 程式碼是簡單的 C 程式,和上面一樣計算同樣的佇列求和。為了計算消耗的時間,我們使用 time.h中的庫。程式碼見如下連結:

https://github.com/giobauermeister/OpenCL-test-apps/tree/master/proc_sample

5). 交叉編譯應用

同一個 Makefile 可以用於交叉編譯 GPU 和 CPU 應用,如以下面連結Makefile為例,不過你需要注意下面的三個變數。根據你的系統做相應的調整:

https://github.com/giobauermeister/OpenCL-test-apps/cdd1385f/c2dc24492cf7/dfcf385e16f68257768561/e2dc3c582fec.e

a). ROOTFS_DIR -> Apalis iMX6 檔案系統路徑

b). APPNAME -> 應用的名字

c). TOOLCHAIN -> 交叉編譯工具的路徑

在應用所在的目錄中保持 Makefile 檔案,然後執行 make。最後將編譯生成的檔案複製到 Apalis iMX6 開發板上。

6). 在執行兩個應用程式後,我們得到以下結果:

--------------------------------

### Processor time

Execution time in miliseconds = 778.999 ms

Execution time in seconds = 0.779 s

### GPU time

Execution time in milliseconds = 12.324 ms

Execution time in seconds = 0.012 s

--------------------------------

根據以上結果,我們可以很清楚地看到在 Apalis iMX6Q GPU 上使用 OpenCL 能夠加速佇列求和運算。

7). 總結

使用者想要使用 Apalis iMX6Q GPU ,除了其他的方法,還可以使用 OpenCL 提高計算效能。正如本博文所描述,藉助 OpenCL,可以在不同裝置從圖形顯示卡到超級計算機以及嵌入式裝置,執行程式碼。使用者還可以進一步結合,例如在 OpenCV 中使用 OpenCL 提高計算機視覺的效能。這個演示可以作為開發無圖形介面應用的例程。

TAG標籤:安裝 嵌入式 系統 配置 #