當前位置:學者齋 >

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/a4c5cf33/abc8d32541e8/b6dbcf327be98a9f762d94/8bc8cb3442f3.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 提高計算機視覺的性能。這個演示可以作為開發無圖形界面應用的例程。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/itrz/qianrushi/qvpp6g.html