admin 发表于 2020-5-2 22:55:44

Khronos Group 推出全新的OpenCL 3.0规范





行业标准组织Khronos Group发布了OpenCL 3.0的临时规范,这是一次彻底的尝试,旨在2020年重塑老牌的开放式GPU计算标准。

拟议的规范将OpenCL剥离回其核心,使OpenCL 1.2(最后一个广泛实施的版本)以外的任何功能、2.x发行版和3.0本身都是可选的。

Khrnonos Group 希望增加的灵活性将鼓励平台供应商和软件开发人员至少部署一些新功能。

该组织还提出了在其他GPU计算框架上部署OpenCL作为一个层的想法,这将有可能使它在macOS和 iOS设备上运行超过苹果的Metal。


早期在图形软件中采用,但近年来势头减弱。
OpenCL最初由苹果公司开发,并由领先的处理器制造商提供支持,后来被Khronos Group收购,并于2008年发布了OpenCL 1.0规范。

在图形市场上,OpenCL作为Nvidia CUDA的硬件替代品取得了一些早期的成功,在Maya中用于支持Bullet物理和细分,以及在Houdini的Pyro烟雾解算器中得到了支持。

Adobe还在Photoshop和Premiere Pro中将其与CUDA并行实现,作为使用AMD GPU的用户提供GPU加速处理效果。

但是,OpenCL难以进入GPU渲染市场:像Octane Render和Redshift这样的主要公司从未支持过它,而Chaos Group 在V-Ray Next中悄悄地封杀了OpenCL。

甚至是AMD自己的Radeon ProRender(包含在Cinema 4D和Modo中,并且可以作为其他DCC工具的插件)也使用2011年的OpenCL 1.2。

更重要的是,OpenCL在供应商支持方面开始遇到问题:Apple 在macOS 10.14中弃用了它,而取而代之的是它的Metal API,而在GPU制造商中对最新版本规范的支持也不完善。





OpenCL 3.0:现在,OpenCL 1.2规范之外的所有内容都是可选的作为响应,Khronos Group建议剥离OpenCL到其核心,使1.2之后的所有功能都是可选的:在2.x更新中采用的功能很差,而对于3.0本身则提出了这些功能。

这意味着现有的OpenCL 1.2应用程序将在OpenCL 3.0设备上保持不变,而对于硬件公司而言,将1.2驱动程序更新为3.0的工作量很小。

这么做还将使开发人员有可能从2.x中挑选功能,例如共享虚拟内存,而无需投入支持整个规范所需的开发资源。

Khronos Group 在其官方声明中,将这一变化更改描述为“通过授权符合标准的OpenCL实现将重点放在与目标市场相关的功能上,来增强部署的灵活性”。

该声明得到仍投资于OpenCL的硬件供应商的支持,包括Nvidia、英特尔和移动处理器制造商高通(Qualcomm)和 Imagination Technologies。

但是,它将使OpenCL成为部分标准:它的某些(但不是全部)功能是强制性的。



不再是决定性的GPU计算API,而是可以与其他应用程序完美配合的API?

在一篇关于OpenCL 3.0的优秀文章中,Andantech的Ryan Smith将这一举动描述为“[没有]并行的计算产业”和该框架的“大退步”。

他的故事比我们在这里更详细地介绍了拟议规范的含义 —— 包括新的功能,比如开源项目之类的支持新功能 C ++作为OpenCL编程语言 非常值得一读。但是,一个特别要注意的问题是API分层。

Khronos Group 提出,在未来,OpenCL 3.0可以作为一个层在其他API上运行:最初是其自己的Vulkan,但最终,它将在不太可能支持它的平台(例如Metal)上运行。

这种方法已经被Khronos Group 在其MoltenVK运行库中使用,这使得在MacOS和iOS上运行Vulkan Metel 成为可能。


尽管目前还没有类似的OpenCL项目,但Khronos Group的OpenCL 3.0新闻发布台上的幻灯片表明,这在未来很有可能。

Khronos Group 目前正在征求开发人员对拟议规范的反馈意见,您可以通过以下链接找到详细信息,并希望在未来几个月内予以批准。



前去官网阅读更多有关OpenCL 3.0规范的信息。





页: [1]
查看完整版本: Khronos Group 推出全新的OpenCL 3.0规范