Quantcast
Channel: compute | MandETech
Viewing all articles
Browse latest Browse all 18

OpenCL 2.1 Provisional Specification

$
0
0

March 3, 2015, San Francisco—The Khronos Group released the provisional specification for OpenCL, the open-source language for heterogeneous parallel computing. The intent is to enable a single code tree to execute on CPU, GPU DSP, and other hardware with dynamic system load and work balance across available processors.

OpenCL offers two APIs and a kernel language to allow a C platform to query, select, and initialize compute devices and a runtime to build and execute kernels across multiple devices. The new kernel language is based on a subset of C++ 14, while still supporting C to preserve legacy code investments. The language has built-in support for SPIR-V, a new intermediate language so code built in Open CL can be ported to the new Vulkan graphics API.

The new release is positioned as a parallel language back-end that can ingest code from many vendor-optimized cross-platform compute resources. The compiler ecosystem can take in C, C++, and other diverse, domain-specific languages, frameworks, and tools and feed them to SPIR-V which is a more rigorous compiler target than the current Open CL. Alternatively, the Open CL C (and possibly C++ in the future) can be compiled directly into an Open CL runtime to run on multiple platforms.

The new kernel offers many new classes, libraries, and containers and the ability for compile-time polymorphism via template meta-programming for adaptive software. Other features and capabilities enhance the programmer productivity for parallel programming. The API enhancements move more functionality, especially in sub-groups, into the core and allows copying of kernel objects and states. The OpenCL 2.1 specification at www.khronos.org/opencl/ is released in provisional form to enable developers and implementers to provide feedback before finalization at the OpenCL forums: https://www.khronos.org/opencl/opencl_feedback_forum.

Khronos is rolling out the new specifications and offering more information in many public forums in the near future. This latest generation of APIs and kernels are developing to reflect the changing structure of compute hardware and architectures.
 

 


Viewing all articles
Browse latest Browse all 18

Trending Articles