The OpenCL™ platform is the open standard for general-purpose parallel programming of heterogeneous systems. It provides a uniform programming environment that's used to write portable code for client PCs, high-performance computing servers, and embedded systems that leverage a diverse mix of:
Other parallel processors and coprocessors
The OpenCL Platform Working Group (led by the Khronos Group*) defines this standard.
Built for usability and performance, the 2.1 version of the OpenCL standard is a significant evolution.
Additional subgroup functionality
Ability to copy kernel objects and states
Ingest SPIR-V* code by runtime
Deploy priority hints for queues
All 7th generation and newer Intel® processors with integrated Intel® Graphics Technology support this version.
Who Should Use the OpenCL™ Standard?
This standard greatly improves speed and responsiveness for image and video processing. It can also be applied to applications in numerous market categories, from gaming and entertainment to scientific, medical, and financial software. For visual computing applications, it provides added value by enabling a better use of platform resources for graphics tasks. It is interoperable with Microsoft DirectX*, OpenGL*, and video acceleration APIs. As well, it is extendable, such as with video motion estimation extensions from Intel.
Perform custom development across multiple hardware types. While not performance portable, it reduces development learning time to days for new hardware, compared to months for hardware-specific stacks.