日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCL异构扩展

發(fā)布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCL异构扩展 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

OpenCL異構(gòu)擴展并不是OpenCL標準的一部分,它是指device支持某種特性,且在默認狀態(tài)下,所有的擴展都是禁止的。但是OpenCL通過擴展,廠商可以給device增加一些新的功能,且不用考慮兼容性的問題。

就目前市場行情來看,各個廠商在OpenCL的實現(xiàn)中或多或少的使用了自己的擴展,體現(xiàn)了特殊性。

一般來說擴展的類型分為三種情況,如下所示:

1、以cl_khr作為擴展名屬于Khronos OpenCL工作組批準的擴展,需要經(jīng)過一致性測試。比如:#pragma OPENCL EXTENSION命令控制OpenCL編譯器在語言擴展方面的行為。該命令的定義如下,其中extension_name是擴展的名字。

#pragma OPENCL EXTENSIONextension_name: behavior??

#pragma OPENCL EXTENSION all :behavior??

behavior: enable or disable?

extension_name的格式為cl_khr_<name>,同時有一個形如cl_<vendor_name>_<name>的名字作為供應商擴展。擴展必須得到OpenCL工作組的允許。標志all表示編譯器支持的所有擴展。

enable使extension_name所代表的擴展有效。如果不支持extension_name或者使用all,則報告一個錯誤。

disable擴展extension_name排除在語言定義外。如果使用all,編譯器把代碼作為無擴展的核心版本處理,如果不支持extension_name,就會產(chǎn)生警告提示信息。

#pragma OPENCL EXTENSION cl_khr_fp64 : enable??

double x = 2.0;?

指令#pragma OPENCL EXTENSION是設(shè)置每個語言擴展行為的、簡單的、低級的機制。它沒有定義那些組合是合適的,這些是在其他地方定義的。需要注意的是,此類命令的順序會影響結(jié)果,后出現(xiàn)的命令會覆蓋前面的命令。

2、以cl_ext為擴展名的外部擴展。這種擴展是由2個或2個以上的廠商發(fā)起,并不需要進行一致性測試。比如cl_ext_device_fission擴展,通過該擴展把一個設(shè)備分成多個子設(shè)備,每一個設(shè)備都有自己的隊列,主要是多核cpu以及Cell Broadband Engine使用,該擴展由AMD,Apple,Intel以及IBM四家聯(lián)合提出。

對于每個子設(shè)備,都有自己的queue,把不同任務(wù)發(fā)送到兩個子設(shè)備中,這里需要注意的是,把設(shè)備拆分為子設(shè)備,首先要了解該設(shè)備的架構(gòu),然后根據(jù)任務(wù)及device架構(gòu)進行拆分。

3、廠商自己的擴展,比如GPU printf擴展,主要用來debug kernel代碼。

enum cudaLimit {?

?cudaLimitStackSize ?= 0x00, ?// GPU thread stack size

?cudaLimitPrintfFifoSize = 0x01, ?// GPU printf FIFOsize?

?cudaLimitMallocHeapSize = 0x02??// GPU malloc heapsize?

};?

?

OpenCL擴展了GPU用于圖形生成之外的能力,支持新數(shù)據(jù)類型,比如三維矢量和新增圖像格式,支持處理多Host指令以及跨設(shè)備Buffer處理,如想對OpenCL有更深入的了解,還需自己動手實踐。

轉(zhuǎn)載于:https://www.cnblogs.com/lifan3a/articles/4818549.html

總結(jié)

以上是生活随笔為你收集整理的OpenCL异构扩展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。