Coding

OpenCL – Open Computing Language

OpenCL (Open Computing Language) is a multi-vendor open standard for general-purpose parallel programming of heterogeneous systems that include CPUs, GPUs and other processors.

Using the OpenCL API, developers can launch compute kernels written using a limited subset of the C programming language on a GPU. This language offers a a cross-vendor, non-proprietary solution.

OpenCL supports a wide range of applications, ranging from embedded and consumer software to HPC solutions. OpenCL is developed by multiple companies through the Khronos OpenCL committee.

Features include:

  • Flexible execution model.
  • Shared Virtual Memory – a single address space which is shared between the host and device.
  • Dynamic Parallelism using task-based and data-based parallelism.
  • Utilizes a subset of ISO C99 with extensions for parallelism.
  • Defines consistent numerical requirements based on IEEE 754.
  • Defines a configuration profile for handheld and embedded devices.
  • Interoperates with OpenGL, OpenGL ES, and other graphics APIs.
  • Generic address space removes the need to overload functions based on address space.
  • Pipes – Built-in functions for kernels to read from or write to a pipe, providing straightforward programming of pipe data structures that can be highly optimized by OpenCL implementers.
  • Blocks and device kernel creation.
  • Optimised Image support: including support for 1D images and 1D/2D image arrays, 3D image reads and writes, read_write as a modifier for images, mip-mapped images as well as images with more than one sample per pixel.

Website: www.khronos.org/opencl
Support: Forums
Developer: Khronos Group
License: Not specified

OpenCL is written in C++ and C. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.

Return to New Programming Languages


Explore Linux

Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category.
In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality.

The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions.
Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others.
Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems.
Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks.
Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems.
Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux.
Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools.
Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux.
Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted