OpenCL Heterogeneous Computing

OpenCL Heterogeneous Computing

www.khronos.org

1

About this website

OpenCL (Open Computing Language) is an open standard for writing programs that execute across heterogeneous platforms including CPUs, GPUs, DSPs, FPGAs, and other processors. Maintained by the Khronos Group since 2009, it provides a unified programming model for cross-vendor heterogeneous computing. Key features: platform model defining a host connected to compute devices with compute units and processing elements. Execution model with kernels (functions on compute devices), programs, and command queues for submitting work. NDRange execution where kernel instances (work-items) are organized into work-groups for efficient execution. Memory model with global memory (all work-items), constant memory (read-only), local memory (shared within work-group), and private memory (per work-item). Image objects and samplers for texture-like data access with hardware-accelerated interpolation. OpenCL C kernel language based on C99 with vector data types (float4, int2), built-in math and geometric functions, and work-item functions (get_global_id, barrier). C++ for OpenCL combining OpenCL C features with C++ capabilities. SPIR-V intermediate representation for portable kernel binaries enabling cross-vendor distribution. Device fission for partitioning devices into sub-devices. SVM (Shared Virtual Memory) for sharing addresses between host and devices. Pipes for producer-consumer communication between kernels. Command-buffer for recording and replaying command sequences with minimal overhead. Subgroups mapping work-items to hardware vector units. Double-precision floating-point on capable devices. Real-time priority scheduling for latency-sensitive workloads. Supported by Intel, AMD, NVIDIA, ARM. Used in scientific computing, financial modeling, video processing, and AI inference across diverse hardware.

Tags & Categories

Categories

Tags

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!