Khronos Group Finalizes OpenCL 2.2 Specs, Releases Source On GitHub

The Khronos Group finalized the specifications for the OpenCL 2.2 standard that allows developers to handle compute-heavy tasks by leveraging a system's CPU and GPU together. Further, in an effort to encourage more contributions to the standard, the Khronos Group released the full specs and conformance tests on GitHub for the first time. That access to the standard's inner workings should allow devs to see how it might be improved.

OpenCL is supported by everyone from Nvidia and AMD to Apple and Intel. Each company explains the standard in its own way--Nvidia described it as a "low-level API for heterogeneous computing that runs on CUDA-powered GPUs"--but the most basic overview comes from Apple, which said devs can "use OpenCL to incorporate advanced numerical and data analytics features, perform cutting-edge image and media processing, and deliver accurate physics and AI simulation in games." That flexibility, combined with the rise of dedicated GPUs, makes OpenCL quite popular in many apps.

Here's what the Khronos Group said about version 2.2 of the standard:

By finalizing OpenCL 2.2, Khronos has delivered on its promise to make C++ a first-class kernel language in the OpenCL standard,” said Neil Trevett, OpenCL chair and Khronos president. “The OpenCL working group is now free to continue its work with SYCL, to converge the power of single source parallel C++ programming with standard ISO C++, and to explore new markets and opportunities for OpenCL — such as embedded vision and inferencing. We are also working to converge with, and leverage, the Khronos Vulkan API — merging advance graphics and compute into a single API.

The last section of that statement might be the most interesting. Embedded vision and inferencing--which is when AI applies things it's learned from one data set to another--have become increasingly important to AI-focused companies. (Which is at this point seemingly every major tech company.) Nvidia and Google have engaged in a public battle to say they've developed the best inferencing hardware, and Nvidia's Volta GPU architecture debuted with the Tesla V100, the standout feature of which is a "Tensor Core" meant to help it outperform its predecessors with deep learning applications.

Now it seems the Khronos Group wants OpenCL to help these companies reach their machine learning goals. The group's note about OpenCL converging with the Vulkan API is also interesting. Vulkan is a low-level graphics API that debuted in 2015 and has since been added to game engines like Unity, popular titles like Doom, and everything from the Nintendo Switch console to the latest graphics drivers and utilities from Nvidia and AMD. The Khronos Group said at GDC 2017 that Vulkan's only expected to become more popular as other companies rush to support the API.

Merging OpenCL and Vulkan could make it easier for devs to create even better-performing apps or games. We'll have to keep an eye out as they come closer to convergence. In the meantime, you can check out pretty much everything you need to know about OpenCL 2.2 on GitHub.

Nathaniel Mott
Freelance News & Features Writer

Nathaniel Mott is a freelance news and features writer for Tom's Hardware US, covering breaking news, security, and the silliest aspects of the tech industry.

  • bit_user
    OpenCL is supported by everyone from Nvidia and AMD to Apple and Intel.
    Lol, that's funny!

    Nvidia has been stuck at 1.2, with no apparent interest in upgrading. Only days ago, I learned they actually have beta-level support for parts of 2.0! Support for OpenCL is still non-existent, on their Tegra mobile/embedded platform, and this in spite of OpenCL's embedded profile and the fact that they support CUDA (a functional superset) on it.

    Apple, who gets credit for instigating OpenCL, back in ~2007, has favored their proprietary standard - Metal.

    AMD has really been OpenCL's biggest proponent. They jumped on the bandwagon pretty early, and pretty much dropped their proprietary alternatives (except for C++ AMP, which I think is more of a Microsoft thing). More recently, they've been pushing the HSA standard, although I think they don't intend it to succeed OpenCL in all contexts.

    In any case AMD has just open-sourced their entire OpenCL stack! This will mean better support for AMD's OpenCL stack on more platforms.

    Intel has also been pretty good with OpenCL support - at least on their latest architectures.

    Mobile support is rather spotty, with Google following Apple's lead and creating their own RenderScript. Such a shame, because they had the muscle to make OpenCL a truly standard part of the Android platform.

    Khronos has delivered on its promise to make C++ a first-class kernel language in the OpenCL standard
    This really is a big deal. Without this, it was difficult to write generic & reusable kernel code to implement parallel algorithms and data structures. This will be a great benefit to the OpenCL ecosystem.
    Reply
  • bit_user
    Nvidia and Google have engaged in a public battle to say they've developed the best inferencing hardware
    ...
    it seems the Khronos Group wants OpenCL to help these companies reach their machine learning goals
    Ha ha! Did you know that a VP at Nvidia chairs Khonos' OpenCL working group? If he really wanted OpenCL to factor into their deep learning strategy, you'd think they would have better support for it.

    https://www.khronos.org/about/working-group-chairs/

    No, what you'll find is that Nvidia has gotten in the deep learning game early, with many frameworks featuring CUDA support (even before OpenCL). Nvidia also has their own proprietary frameworks they'd be happy for you to use.

    Google's Deep Learning ASICs are probably too specialized for OpenCL support. They probably added custom support for them in TensorFlow and maybe a couple other deep learning frameworks. I don't know if Google has more recently been a supporter of OpenCL, but they'd at least be in a position to benefit from it by having good support for it on Android.
    Reply
  • b598087
    > In any case AMD has just open-sourced their entire OpenCL stack!

    Citation needed. Google turns up nothing.
    Reply
  • b598087
    > AMD has just open-sourced their entire OpenCL stack

    Citation needed. Google turns up nothing.
    Reply
  • bit_user
    19700864 said:
    > AMD has just open-sourced their entire OpenCL stack

    Citation needed. Google turns up nothing.
    http://phoronix.com/scan.php?page=news_item&px=Radeon-ROCm-OpenCL-Opened


    Also, Khronos opened access to the official Conformance Test Suite:

    http://phoronix.com/scan.php?page=news_item&px=OpenCL-2.2-Released
    Reply