南京匯川視覺用oneAPI引領(lǐng)工業(yè)視覺革新
隨著工業(yè)技術(shù)的迅猛發(fā)展,人們對于視覺技術(shù)的需求也日益增長。面對這樣的挑戰(zhàn),oneAPI 應(yīng)運(yùn)而生,成為了一種改變游戲規(guī)則的工具。
oneAPI 是由Intel推出的統(tǒng)一的、面向異構(gòu)計算的編程模型和工具套件,它的目標(biāo)是簡化開發(fā)人員在不同硬件加速器上的編程過程,提升應(yīng)用程序的性能。在近期的 oneAPI DevSummit 2023 夏季中國站上,南京匯川視覺的CV算法工程師葛錦洲帶來了oneAPI開發(fā)套件在CV視覺領(lǐng)域應(yīng)用案例的分享。
一、項目概述

1.?Jinovision: 這是一款高效、開放且智能的工業(yè)視覺平臺軟件產(chǎn)品。Jinovision 的獨(dú)特之處在于其流程圖式開發(fā)模式、組態(tài)式界面開發(fā)和一鍵換型功能,使得它成為項目交付的高效工具。

2.?光度立體OCR字符識別應(yīng)用方案: 基于先進(jìn)的光度立體技術(shù),該方案具備消除復(fù)雜紋理背景的能力,凸顯鋼印字符信息,實(shí)現(xiàn)精準(zhǔn)識別。此外,它還可以擴(kuò)展應(yīng)用于汽車鑄造件檢測和醫(yī)藥鋼印噴碼檢測等領(lǐng)域。

3.?自動對位&精度復(fù)測設(shè)備+PAC控制器視覺運(yùn)控一體控制器產(chǎn)品形態(tài): 這一解決方案集視覺和控制一體化,有效提升了交付效率,可擴(kuò)展應(yīng)用于各種對位類任務(wù),彰顯了極高的實(shí)用價值。
二、核心競爭力分析
在上述項目及應(yīng)用中,核心競爭力的打造成為極具挑戰(zhàn)及價值的關(guān)鍵一環(huán)。

在這些項目的成功實(shí)施中,算子的精度性能和效率性能起到了關(guān)鍵作用。借助 Intel oneAPI 開發(fā)套件,特別是使用了 vTune 分析工具、IPP 高性能計算庫等,可以實(shí)現(xiàn)算子的深度優(yōu)化和異構(gòu)部署。這一點(diǎn)展示了 oneAPI 在面對實(shí)際問題時的高適應(yīng)性和強(qiáng)大功能。
三、oneAPI 優(yōu)化

sobel 算子的優(yōu)化: 通過 oneAPI 的 SYCL 編程,sobel 算子成功部署于 IGPU 上,大幅提高了效率。

dft 算子的優(yōu)化: 利用 oneAPI 開發(fā)套件中的 IPP 高性能計算庫,顯著提升了 dft 算子的運(yùn)行效率。

光度立體算子異構(gòu)部署: 通過 oneAPI 的 DPCT 工具,將光度立體 CUDA 代碼迅速轉(zhuǎn)為 DPC++,實(shí)現(xiàn)了異構(gòu)部署。實(shí)現(xiàn)步驟如下:
1.?首先準(zhǔn)備所需遷移的光度立體算子CUDA代碼;
2.?接著開始完成項目的遷移,使用Microsoft Visual Studio項目文件來構(gòu)建編譯數(shù)據(jù)庫,用于遷移完整的項目;
3.?然后通過輸出文件的注釋來檢查無法直接完成轉(zhuǎn)換的代碼部分,手動進(jìn)行相關(guān)修改進(jìn)行替換;
4.?最后通過Intel one API DPC++/C++編譯器構(gòu)建光度立體算子項目,并成功運(yùn)行。
在這個案例中有以下經(jīng)驗(yàn)及注意事項,CUDA與SYCL有著下表的對應(yīng)關(guān)系:

以此為基礎(chǔ),可以實(shí)現(xiàn)擴(kuò)大CUDA至DPC++的基本遷移,部分?jǐn)U大CUDA API目前仍不支持,可通過以下的鏈接查閱:
https://www.intel.com/content/www/us/en/docs/dpcpp-compatibility-tool/developer-guide- reference/2023-1/cuda-api-migration-support-status.html
對于這些API需手動做轉(zhuǎn)換,對于基于擴(kuò)大CUDA封裝的庫,如OpenCV中的gpuMat數(shù)據(jù)結(jié)構(gòu)需手動做數(shù)據(jù)類型轉(zhuǎn)換。

以上圖的warning為例,應(yīng)核對work-group size是否超過限制。如果是NVIDIA獨(dú)顯至Intel核顯的轉(zhuǎn)換,直接轉(zhuǎn)換的work-group size大概率會超出限制對應(yīng)的警告和錯誤ID通過以下鏈接:
https://www.intel.com/content/www/us/en/docs/dpcpp-compatibility-tool/developer-guide-reference/2023-1/diagnostics-reference.html
可以查詢具體的相關(guān)細(xì)節(jié)。

形狀匹配算子優(yōu)化: 通過 Intel oneAPI 開發(fā)套件的特定配置和指令,有效優(yōu)化了形狀匹配算子的運(yùn)行效率。
四、性能提升

Sobel和dft在i5-9400 CPU及相應(yīng)的630核顯驅(qū)動環(huán)境上,基于8K乘4 k的測試圖像分別提升了4.98倍及1.09倍,快速部署了光度立體CUDA轉(zhuǎn)DPC++并獲取了與硬件算力相匹配的效率性能。

在i5-9400 CPU上,基于1280*1024的測試圖像形狀匹配算子性能提升了1.1倍。
oneAPI 的使用帶來了顯著的性能提升。sobel 和 dft 算子在特定硬件上的效率得到了重大改善,光度立體算子的快速部署也與硬件算力相匹配,形狀匹配算子的性能也得到了提升。這一切共同證明了 oneAPI 在實(shí)際應(yīng)用中的有效性。
葛錦洲在 oneAPI DevSummit 2023 夏季中國站的展示,不僅揭示了 oneAPI 在 CV 領(lǐng)域的強(qiáng)大潛力,還從項目概述到深入的技術(shù)分析,以及最終的性能提升等方面,全方位展示了 oneAPI 的優(yōu)勢。這次展示強(qiáng)調(diào)了 oneAPI 作為一種統(tǒng)一、異構(gòu)的編程模型和工具套件,如何幫助開發(fā)人員更好地利用硬件資源,滿足現(xiàn)代工作負(fù)載在復(fù)雜場景、多任務(wù)并行、多架構(gòu)組合的有效協(xié)同,使其在視覺領(lǐng)域成為一種不可或缺的工具,為未來的技術(shù)革新和產(chǎn)業(yè)發(fā)展奠定了堅實(shí)的基礎(chǔ)。
為了讓更多開發(fā)者了解和體驗(yàn)人工智能技術(shù)在特定領(lǐng)域的運(yùn)用(包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和分析等),并獲得進(jìn)一步體驗(yàn)與實(shí)踐,2023年英特爾oneAPI 黑客松大賽近日開啟。
歡迎開發(fā)者來展示自己的技術(shù)才能,迎接挑戰(zhàn),贏取獎勵,還可在英特爾官方媒體上展示項目等各種機(jī)會。
請掃描二維碼
查看參賽詳情
▼
