Khronos Group unveils radical new OpenCL 3.0 spec
200429 Opencl3 S.jpg

The Khronos Group released the preliminary specification for OpenCL 3.0, a radical attempt to reinvent the experienced Open GPU computing standard for the 2020s.

The proposed specification reduces OpenCL to its core and makes all functions that go beyond OpenCL 1.2, the last widespread version, optional – both those of the 2.x versions and those of version 3.0 itself.

The Khrnonos Group hopes that the increased flexibility will encourage platform providers and software developers to provide at least some of the newer features.

The group also got the idea of ​​deploying OpenCL as a layer over other GPU computer frameworks, which may make it possible to run Apple & # 39; s Metal on MacOS and iOS devices.

Introduced early in graphics software, but momentum has slowed in recent years
OpenCL was originally developed by Apple and supported by the leading processor manufacturers. It was then taken over by the Khronos Group. The OpenCL 1.0 specification was released in 2008.

OpenCL saw some early success in the graphics market as a hardware-independent alternative to Nvidia's CUDA, which was supported in Maya for bullet physics and subdivision and in Houdini's pyro smoke detectors.

Adobe also implemented it in parallel to CUDA in Photoshop and Premiere Pro to achieve GPU-accelerating processor-intensive effects for users with AMD GPUs.

However, OpenCL struggled to penetrate the GPU rendering market: key players like OctaneRender and Redshift never supported it, and the Chaos Group tacitly mocked OpenCL into V-Ray Next.

Even AMD's own Radeon ProRender, which is included in Cinema 4D and Modo and is available as a plugin for other DCC tools, uses OpenCL 1.2 from 2011.

Even more critical was that OpenCL encountered vendor support issues: Apple rejected it in macOS 10.14 in favor of its Metal API, and support for newer versions of the specification among GPU manufacturers is patchy.

OpenCL 3.0: Everything that goes beyond the OpenCL 1.2 specification is now optional
In response, the Khronos Group suggests reducing OpenCL to the core and making all functions beyond 1.2 optional: both functions were added in the poorly adopted 2.x updates and those proposed for 3.0 themselves.

This means that existing OpenCL 1.2 applications run unchanged on OpenCL 3.0 devices, while for hardware companies, updating the 1.2 drivers to 3.0 is minimal.

The move would also allow developers to choose features from 2.x, such as shared virtual memory, without having to provide the development resources required to support the entire specification.

In its official announcement, the Khronos Group describes the change as "increasing deployment flexibility by enabling compliant OpenCL implementations to focus on features relevant to their target markets."

The statement is supported by supportive quotes from hardware vendors who still invested in OpenCL, including Nvidia and Intel and mobile processor manufacturers Qualcomm and Imagination Technologies.

However, it would make OpenCL a partial standard: some, but not all, of its functions are mandatory.

No longer the final GPU computing API, but one that works well with others?
In an excellent article on OpenCL 3.0, Ryan Smith of Andantech describes the step as "[without] parallel in the computer industry" and as a "big step backwards" for the framework.

Its history goes into much more detail on the implications of the proposed specification than we can here – including new features like the open source project to support C ++ as an OpenCL programming language – so it's worth reading it in full. One problem worth picking out is that of API layering.

The Khronos Group proposes to run OpenCL 3.0 as a layer over other APIs in the future: initially with its own volcano, but finally also on platforms that are unlikely to support it, e.g. B. Metal.

The approach has already been used by the Khronos Group in their MoltenVK runtime library, which enables Vulkan to run on metal under MacOS and iOS.

Although there is currently no equivalent OpenCL project, the slide above from the Khronos Group's OpenCL 3.0 press deck suggests that this will definitely be possible in the future.

The Khronos Group is currently asking developers for feedback on the proposed specification – see the link below for details – and hopes to ratify it in the coming months.

More information on the preliminary OpenCL 3.0 specification can be found on the Khronos Group website

Tags: Adobe, AMD, API, Apple, Autodesk, Blender, C #, CG software, Cinema 4D, CPU, CUDA, cycles, DCC software, framework, GPU, GPU computing, GPU rendering, graphics software, heterogeneous computing , Houdini, Imagination Technologies, Intel, iOS, Khronos Group, Linux, MacOS, Maya, Metal, Modo, MoltenVK, NVIDIA, Open Source, OpenCL, OpenCL 1.2, OpenCL 3.0, OptiX, Photoshop, platform support, Premiere Pro, processor, proposed Specification, Qualcomm, Radeon ProRender, SideFX, Specification, Manufacturer Support, Vulkan, Windows

LEAVE A REPLY

Please enter your comment!
Please enter your name here