OpenCL 3.0最終版規範發布:老牌圖形API開倒車式自救
日前,行業組織Khronos發布了OpenCL 3.0最終版規範,從而將4月份的臨時規範轉正。作為老牌的GPU並行計算標準,它希望藉此煥發第二春,但能行嗎?OpenCL最早由蘋果開發,後經NVIDIA、AMD等完善並提交給Khronos轉為跨平台的開放標準。最新的3.0在某種程度上開了倒車,其核心API其實是2011年OpenCL 1.2的一個分支。
OpenCL 2.x的諸多開發功能在3.0上變成了可選,再次呼應其失敗。實際上,2017年的OpenCL 2.2迄今為止都沒有人使用,包括但不限於Intel、NVIDIA和AMD,尷尬不?
簡單來說,OpenCL 3.0增加了對異步DMA傳輸執行的支持,也支持了SPIR-V 1.3。為了鼓勵開發者升級,無論是從1.2還是從2.x版本升級,都幾乎不需要做代碼變動。
Khronos對於OpenCL仍舊寄予厚望,並提出了整合Vulkan、支持SPIR-V 1.4、1.5以及發布OpenCL Next的想法,儘管這看起來仍舊很零碎。
就目前而言,蘋果macOS 10.14棄用了OpenCL,力推自家Metal API。NVIDIA有更加成熟和對開發者友好的CUDA API,AMD僅支持OpenCL 1.2,且驅動一團糟,現在OpenCL唯一的大靠山似乎就是Intel了。