Knowledge

OpenCL

Source đź“ť

4226:(Radeon Open Compute) is an open source Linux project built on OpenCL 1.2 with language support for 2.0. The system is compatible with all modern AMD CPUs and APUs (actual partly GFX 7, GFX 8 and 9), as well as Intel Gen7.5+ CPUs (only with PCI 3.0). With version 1.9 support is in some points extended experimental to Hardware with PCIe 2.0 and without atomics. An overview of actual work is done on XDC2018. ROCm Version 2.0 supports Full OpenCL 2.0, but some errors and limitations are on the todo list. Version 3.3 is improving in details. Version 3.5 does support OpenCL 2.2. Version 3.10 was with improvements and new APIs. Announced at SC20 is ROCm 4.0 with support of AMD Compute Card Instinct MI 100. Actual documentation of 5.5.1 and before is available at GitHub. OpenCL 3.0 is available. RocM 5.5.x+ supports only GFX 9 Vega and later, so alternative are older RocM Releases or in future RustiCL for older Hardware. 230: 2999:
the sources of other specifications and reference cards. The first official release of this document describing C++ for OpenCL version 1.0 has been published in December 2020. C++ for OpenCL 1.0 contains features from C++17 and it is backward compatible with OpenCL C 2.0. In December 2021, a new provisional C++ for OpenCL version 2021 has been released which is fully compatible with the OpenCL 3.0 standard. A work in progress draft of the latest C++ for OpenCL documentation can be found on the Khronos website.
3904:"-cl-fp32-correctly-rounded-divide-sqrt" command line argument to the compiler, these three operations will be computed to IEEE 754 requirements if the OpenCL implementation supports this, and will fail to compile if the OpenCL implementation does not support computing these operations to their correctly rounded values as defined by the IEEE 754 specification. This ability is supplemented by the ability to query the OpenCL implementation to determine if it can perform these operations to IEEE 754 accuracy. 1006: 4212:+ Gen. 9 hardware released in 2018. This driver replaces Beignet implementation for supported platforms (not older 6.gen to Haswell). NEO provides OpenCL 2.1 support on Core platforms and OpenCL 1.2 on Atom platforms. Actual in 2020 also Graphic Gen 11 Ice Lake and Gen 12 Tiger Lake are supported. New OpenCL 3.0 is available for Alder Lake, Tiger Lake to Broadwell with Version 20.41+. It includes now optional OpenCL 2.0, 2.1 Features complete and some of 2.2. 10981: 894:-based languages to specify the kernel computations performed on the device with some restrictions and additions to facilitate efficient mapping to the heterogeneous hardware resources of accelerators. Traditionally OpenCL C was used to program the accelerators in OpenCL standard, later C++ for OpenCL kernel language was developed that inherited all functionality from OpenCL C but allowed to use C++ features in the kernel sources. 168: 50: 4091:
roadmap independent of Vulkan, with 'OpenCL Next' under development and targeting release in 2020. OpenCL Next may integrate extensions such as Vulkan / OpenCL Interop, Scratch-Pad Memory Management, Extended Subgroups, SPIR-V 1.4 ingestion and SPIR-V Extended debug info. OpenCL is also considering Vulkan-like loader and layers and a "flexible profile" for deployment flexibility on multiple accelerator types.
4100: 91: 4075: 3794:. On June 16, 2008, the Khronos Compute Working Group was formed with representatives from CPU, GPU, embedded-processor, and software companies. This group worked for five months to finish the technical details of the specification for OpenCL 1.0 by November 18, 2008. This technical specification was reviewed by the Khronos members and approved for public release on December 8, 2008. 4115:
OpenCL runtime (the ICD loader) would be able to locate the ICD for the vendor and redirect the calls appropriately. The standard OpenCL header is used by the consumer application; calls to each function are then proxied by the OpenCL runtime to the appropriate driver using the ICD. Each vendor must implement each OpenCL call in their driver.
4272:
from POCL as well. To unlock the hardware potential, the device runtime uses a push-based task dispatching strategy and the performance of the kernel atomics is improved significantly. This framework has been deployed on the TH-2A system and is readily available to the public. Some of the software will next ported to improve POCL.
4248:. With version 1.0 OpenCL 1.2 was nearly fully implemented along with some 2.x features. Version 1.2 is with LLVM/CLANG 6.0, 7.0 and Full OpenCL 1.2 support with all closed tickets in Milestone 1.2. OpenCL 2.0 is nearly full implemented. Version 1.3 Supports Mac OS X. Version 1.4 includes support for 4065:
intermediate code. Version 3.0.7 of C++ for OpenCL with some Khronos openCL extensions were presented at IWOCL 21. Actual is 3.0.11 with some new extensions and corrections. NVIDIA, working closely with the Khronos OpenCL Working Group, improved Vulkan Interop with semaphores and memory sharing. Last
3753:
C++ for OpenCL is an open language developed by the community of contributors listed in its documentation. New contributions to the language semantic definition or open source tooling support are accepted from anyone interested as soon as they are aligned with the main design philosophy and
4165:
instead of C. In Mesa 22.2 experimental implementation is available with openCL 3.0-support and image extension implementation for programs like Darktable. Intel Xe (Arc) and AMD GCN+ are supported in Mesa 22.3+. AMD R600 and Nvidia Kepler+ are also target of hardware support. RustiCL outperform AMD
4114:
that is loaded at runtime. An installable client driver (ICD) must be installed on the platform for every class of vendor for which the runtime would need to support. That is, for example, in order to support Nvidia devices on a Linux platform, the Nvidia ICD would need to be installed such that the
3007:
C++ for OpenCL supports most of the features (syntactically and semantically) from OpenCL C except for nested parallelism and blocks. However, there are minor differences in some supported features mainly related to differences in semantics between C++ and C. For example, C++ is more strict with the
4271:
An OpenCL implementation based on POCL by the NUDT researchers for Matrix-2000 was released in 2018. The Matrix-2000 architecture is designed to replace the Intel Xeon Phi accelerators of the TianHe-2 supercomputer. This programming framework is built on top of LLVM v5.0 and reuses some code pieces
3827:
announced their adoption of OpenCL underneath their development platform to support GPUs from multiple vendors with one interface. On December 9, 2008, Nvidia announced its intention to add full support for the OpenCL 1.0 specification to its GPU Computing Toolkit. On October 30, 2009, IBM released
3810:
Snow Leopard further extends support for modern hardware with Open Computing Language (OpenCL), which lets any application tap into the vast gigaflops of GPU computing power previously available only to graphics applications. OpenCL is based on the C programming language and has been proposed as an
3737:
has announced support for this extension in December 2020. However, due to increasing complexity of the algorithms accelerated on OpenCL devices, it is expected that more applications will compile C++ for OpenCL kernels offline using stand alone compilers such as Clang into executable binary format
3721:
C++ for OpenCL language can be used for the same applications or libraries and in the same way as OpenCL C language is used. Due to the rich variety of C++ language features, applications written in C++ for OpenCL can express complex functionality more conveniently than applications written in
2998:
C++ for OpenCL has been originally developed as a Clang compiler extension and appeared in the release 9. As it was tightly coupled with OpenCL C and did not contain any Clang specific functionality its documentation has been re-hosted to the OpenCL-Docs repository from the Khronos Group along with
5257:
programs and their straightforward translation into OpenCL C found CUDA to outperform OpenCL by at most 30% on the Nvidia implementation. The researchers noted that their comparison could be made fairer by applying manual optimizations to the OpenCL programs, in which case there was "no reason for
4252:
8.0 and 9.0. Version 1.5 implements LLVM/Clang 10 support. Version 1.6 implements LLVM/Clang 11 support and CUDA Acceleration. Actual targets are complete OpenCL 2.x, OpenCL 3.0 and improvement of performance. POCL 1.6 is with manual optimization at the same level of Intel compute runtime. Version
4035:
OpenCL 2.2 also includes features for enhanced optimization of generated code: applications can provide the value of specialization constant at SPIR-V compilation time, a new query can detect non-trivial constructors and destructors of program scope global objects, and user callbacks can be set at
5245:
has been suggested as a solution to the performance portability problem, yielding "acceptable levels of performance" in experimental linear algebra kernels. Portability of an entire application containing multiple kernels with differing behaviors was also studied, and shows that portability only
5265:
The fact that OpenCL allows workloads to be shared by CPU and GPU, executing the same programs, means that programmers can exploit both by dividing work among the devices. This leads to the problem of deciding how to partition the work, because the relative speeds of operations differ among the
4090:
to enable OpenCL software deployment flexibility over both APIs. This has been now demonstrated by Adobe's Premiere Rush using the clspv open source compiler to compile significant amounts of OpenCL C kernel code to run on a Vulkan runtime for deployment on Android. OpenCL has a forward looking
4048:
The OpenCL 3.0 specification was released on September 30, 2020, after being in preview since April 2020. OpenCL 1.2 functionality has become a mandatory baseline, while all OpenCL 2.x and OpenCL 3.0 features were made optional. The specification retains the OpenCL C language and deprecates the
4305:
was made available to the participants, it included the first beta implementation of OpenCL, about 6 months before the final version 1.0 specification was ratified late 2008. They also showed two demos. One was a grid of 8Ă—8 screens rendered, each displaying the screen of an emulated Apple II
4153:
to support multiple platforms. Formerly this was known as CLOVER., actual development: mostly support for running incomplete framework with actual LLVM and CLANG, some new features like fp16 in 17.3, Target complete OpenCL 1.0, 1.1 and 1.2 for AMD and Nvidia. New Basic Development is done by
2986:
in combination with the traditional OpenCL C features. This language allows to leverage a rich variety of language features from standard C++ while preserving backward compatibility to OpenCL C. This opens up a smooth transition path to C++ functionality for the OpenCL kernel code developers
2990:
The language semantics is described in the documentation published in the releases of OpenCL-Docs repository hosted by the Khronos Group but it is currently not ratified by the Khronos Group. The C++ for OpenCL language is not documented in a stand-alone document and it is based on the
3888:
Built-in kernels: custom devices that contain specific unique functionality are now integrated more closely into the OpenCL framework. Kernels can be called to use specialised or non-programmable aspects of underlying hardware. Examples include video encoding/decoding and digital signal
721:", but the notion of core is hard to define across all the types of devices supported by OpenCL (or even within the category of "CPUs"), and the number of compute units may not correspond to the number of cores claimed in vendors' marketing literature (which may actually be counting 4202:. Actual Version 1.3.2 support OpenCL 1.2 complete (Ivy Bridge and higher) and OpenCL 2.0 optional for Skylake and newer. support for Android has been added to Beignet., actual development targets: only support for 1.2 and 2.0, road to OpenCL 2.1, 2.2, 3.0 is gone to NEO. 3903:
compliance for single-precision floating-point math: OpenCL by default allows the single-precision versions of the division, reciprocal, and square root operation to be less accurate than the correctly rounded values that IEEE 754 requires. If the programmer passes the
3956:
The ratification and release of the OpenCL 2.1 provisional specification was announced on March 3, 2015, at the Game Developer Conference in San Francisco. It was released on November 16, 2015. It introduced the OpenCL C++ kernel language, based on a subset of
3028:) from OpenCL C to C++ features – functional casts, templates, class members, references, lambda functions, and operators. Most of C++ features are not available for the kernel functions e.g. overloading or templating, arbitrary class layout in parameter type. 4615:
To be officially conformant, an implementation must pass the Khronos Conformance Test Suite (CTS), with results being submitted to the Khronos Adopters Program. The Khronos CTS code for all OpenCL versions has been available in open source since 2017.
4253:
1.7 implements LLVM/Clang 12 support and some new OpenCL 3.0 features. Version 1.8 implements LLVM/Clang 13 support. Version 3.0 implements OpenCL 3.0 at minimum level and LLVM/Clang 14. Version 3.1 works with LLVM/Clang 15 and improved Spir-V support.
3741:
Binaries compiled from sources in C++ for OpenCL 1.0 can be executed on OpenCL 2.0 conformant devices. Depending on the language features used in such kernel sources it can also be executed on devices supporting earlier OpenCL versions or OpenCL 3.0.
5258:
OpenCL to obtain worse performance than CUDA". The performance differences could mostly be attributed to differences in the programming model (especially the memory model) and to NVIDIA's compiler optimizations for CUDA compared to those for OpenCL.
8904: 9541: 3872:
On November 15, 2011, the Khronos Group announced the OpenCL 1.2 specification, which added significant functionality over the previous versions in terms of performance and features for parallel programming. Most notable features include:
1420:(FFT) implementation and execute it. The implementation is shown below. The code asks the OpenCL library for the first available graphics card, creates memory buffers for reading and writing (from the perspective of the graphics card), 4027:
OpenCL library functions can now use the C++ language to provide increased safety and reduced undefined behavior while accessing features such as atomics, iterators, images, samplers, pipes, and device queue built-in types and address
3877:
Device partitioning: the ability to partition a device into sub-devices so that work assignments can be allocated to individual compute units. This is useful for reserving areas of the device to reduce latency for time-critical
4008:
OpenCL 2.2 brings the OpenCL C++ kernel language into the core specification for significantly enhanced parallel programming productivity. It was released on May 16, 2017. Maintenance Update released in May 2018 with bugfixes.
732:(API) that allows programs running on the host to launch kernels on the compute devices and manage device memory, which is (at least conceptually) separate from host memory. Programs in the OpenCL language are intended to be 3835:
Acceleration of calculations with factor to 1000 are possible with OpenCL in graphic cards against normal CPU. Some important features of next Version of OpenCL are optional in 1.0 like double- or half-precision operations.
4306:
machine â€“ 64 independent instances in total, each running a famous karate game. This showed task parallelism, on the CPU. The other demo was a N-body simulation running on the GPU of a Mac Pro, a data parallel task.
3884:
Enhanced image support (optional): 1.2 adds support for 1D images and 1D/2D image arrays. Furthermore, the OpenGL sharing extensions now allow for OpenGL 1D textures and 1D/2D texture arrays to be used to create OpenCL
9567: 5277:
In a comparison of actual graphic cards of AMD RDNA 2 and Nvidia RTX Series there is an undecided result by OpenCL-Tests. Possible performance increases from the use of Nvidia CUDA or OptiX were not tested.
4031:
Pipe storage is a new device-side type in OpenCL 2.2 that is useful for FPGA implementations by making connectivity size and type known at compile time, enabling efficient device-scope communication between
5261:
Another study at D-Wave Systems Inc. found that "The OpenCL kernel’s performance is between about 13% and 63% slower, and the end-to-end time is between about 16% and 67% slower" than CUDA's performance.
4423:
released details of their first OpenCL implementation for the Sandy Bridge chip architecture. Sandy Bridge will integrate Intel's newest graphics chip technology directly onto the central processing unit.
8908: 1392: 717:(PEs). A single kernel execution can run on all or many of the PEs in parallel. How a compute device is subdivided into compute units and PEs is up to the vendor; a compute unit can be thought of as a " 4838:, Chips: Tesla : OpenCL 1.1(Driver 340), Fermi : OpenCL 1.1(Driver 390), Kepler : OpenCL 1.2 (Driver 470), OpenCL 2.0 beta (378.66), OpenCL 3.0: Maxwell to Ada Lovelace (Driver 525+) 8215: 3745:
Aside from OpenCL drivers kernels written in C++ for OpenCL can be compiled for execution on Vulkan devices using clspv compiler and clvk runtime layer just the same way as OpenCL C kernels.
5241:
However, performance of the kernel is not necessarily portable across platforms. Existing implementations have been shown to be competitive when kernel code is properly tuned, though, and
4158:
with SPIR-V also for Clover. New Target is modular OpenCL 3.0 with full support of OpenCL 1.2. Actual state is available in Mesamatrix. Image supports are here in the focus of development.
5986: 4522:
April 13, 2015: Nvidia releases WHQL driver v350.12, which includes OpenCL 1.2 support for GPUs based on Kepler or later architectures. Driver 340+ support OpenCL 1.1 for Tesla and Fermi.
3844:
OpenCL 1.1 was ratified by the Khronos Group on June 14, 2010, and adds significant functionality for enhanced parallel programming flexibility, functionality, and performance including:
9182: 6776: 5786:
Klöckner, Andreas; Pinto, Nicolas; Lee, Yunsup; Catanzaro, Bryan; Ivanov, Paul; Fasih, Ahmed (2012). "PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation".
6671: 7214: 5615: 6597: 3913:
On November 18, 2013, the Khronos Group announced the ratification and public release of the finalized OpenCL 2.0 specification. Updates and additions to OpenCL 2.0 include:
7946:
Jääskeläinen, Pekka; Sánchez de La Lama, Carlos; Schnetter, Erik; Raiskila, Kalle; Takala, Jarmo; Berg, Heikki (2016). "pocl: A Performance-Portable OpenCL Implementation".
6527: 5274:
trained on compile-time features of program that can decide the device partitioning problem statically, without actually running the programs to measure their performance.
8738: 5238:(PTX) for Nvidia GPUs unless they are willing to give up direct portability on other platforms. It is possible to run any OpenCL kernel on any conformant implementation. 806:. People interested by C++ kernels but not by SYCL single-source programming style can use C++ features with compute kernel sources written in "C++ for OpenCL" language. 5156:(2012+) Nvidia Kepler, Maxwell, Pascal, Volta and Turing GPU's (GeForce 600, 700, 800, 900, 10, 16, 20 series, Quadro K-, M- & P-series, Tesla K-, M- & P-series) 8694: 6377: 7398: 6645: 3024:
operators, exceptions, pointer to member functions, references to functions, C++ standard libraries. C++ for OpenCL extends the concept of separate memory regions (
9595: 9393: 9099: 8874: 8561: 4166:
ROCM with Radeon RX 6700 XT hardware at Luxmark Benchmark. Mesa 23.1 supports official RustiCL. In Mesa 23.2 support of important fp64 is at experimental level.
10307: 7148: 1404:
function does this; it takes as arguments the kernel to execute, its arguments, and a number of work-items, corresponding to the number of rows in the matrix
8930: 8756: 4862:
All standard-conformant implementations can be queried using one of the clinfo tools (there are multiple tools with the same name and similar feature set).
8096: 4313:
Asia 2008. AMD showed a CPU-accelerated OpenCL demo explaining the scalability of OpenCL on one or more cores while Nvidia showed a GPU-accelerated demo.
8853: 5538: 4691:(supports Intel Core processors and Intel HD Graphics 4000/2500) 2017 R2 with OpenCL 2.1 (Gen7+), SDK 2019 removed OpenCL 2.1, Actual SDK 2020 update 3 5432: 2987:
as they can continue using familiar programming flow and even tools as well as leverage existing extensions and libraries available for OpenCL C.
969:
with vector types and operations, synchronization, and functions to work with work-items and work-groups. In particular, besides scalar types such as
10084: 8509: 9074: 8228: 109: 7120: 9150: 9022: 6876: 5328: 4477:
July 1, 2011: Samsung Electronics releases an open source prototype implementation of WebCL for WebKit, providing a JavaScript binding to OpenCL.
1303: 5993: 635:, open standards organisation. Conformant implementations (passed the Conformance Test Suite) are available from a range of companies including 9190: 3829: 3738:
or portable binary format e.g. SPIR-V. Such an executable can be loaded during the OpenCL applications execution using a dedicated OpenCL API.
7196: 981:(4-vector of single-precision floats); such vector types are available in lengths two, three, four, eight and sixteen for various base types. 10397: 10143: 6920: 6780: 6186: 780: 736:, so that OpenCL-using applications are portable between implementations for various host devices. The OpenCL standard defines host APIs for 676: 9488: 8956: 6854: 4480:
August 8, 2011: AMD released the OpenCL-driven AMD Accelerated Parallel Processing (APP) Software Development Kit (SDK) v2.5, replacing the
4017:
standard and includes classes, templates, lambda expressions, function overloads and many other constructs for generic and meta-programming.
10249: 6959: 3881:
Separate compilation and linking of objects: the functionality to compile OpenCL into external libraries for inclusion into other programs.
8587: 4265:
A CPU focused implementation of OpenCL 1.2 that implements an external compiler to create a more reliable platform, no actual development.
11011: 5122:
GPU's (GeForce 600, 700, 800, 900 & 10-series, Quadro K-, M- & P-series, Tesla K-, M- & P-series) with Driver Version 378.66+
7542: 7567: 6675: 5690: 8535: 8382: 7363: 6531: 5053:(2011+) AMD GCN GPU's (HD 7700+/HD 8000/Rx 200/Rx 300/Rx 400/Rx 500/Rx 5000-Series), some GCN 1st Gen only 1.2 with some Extensions 4366:
October 13, 2009: AMD released the fourth beta of the ATI Stream SDK 2.0, which provides a complete OpenCL implementation on both
2982:
In 2020, Khronos announced the transition to the community driven C++ for OpenCL programming language that provides features from
8635: 8434: 6453: 10378: 8783: 6649: 6050: 4561:
April 6, 2021: Nvidia supports OpenCL 3.0 for Ampere. Maxwell and later GPUs also supports OpenCL 3.0 with Nvidia driver 465+.
10077: 9987: 9968:
Grewe, Dominik; O'Boyle, Michael F. P. (2011). "A Static Task Partitioning Approach for Heterogeneous Systems Using OpenCL".
9914: 9840: 8698: 6136: 4519:
January 14, 2015: Xilinx Inc. announces SDAccel development environment for OpenCL, C, and C++, achieves Khronos Conformance.
4413:
released details of their first OpenCL implementation for the ZMS processor for handheld, embedded and digital home products.
411: 10418: 9449: 8905:"Altera Opens the World of FPGAs to Software Programmers with Broad Availability of SDK and Off-the-Shelf Boards for OpenCL" 7793: 7516: 6075: 10645: 6212: 6018: 1424:
the FFT-kernel and then finally asynchronously runs the kernel. The result from the transform is not read in this example.
8036: 7406: 7103: 4564:
August 20, 2022: Intel Arc Alchemist GPUs (Arc A380, A350M, A370M, A550M, A730M and A770M) are conformant with OpenCL 3.0.
10668: 6575: 4190:
hardware was released in 2013. This software from Intel's China Team, has attracted criticism from developers at AMD and
516: 9603: 9401: 8408: 7846: 4398:
December 21, 2009: AMD released the production version of the ATI Stream SDK 2.0, which provides OpenCL 1.0 support for
10557: 9768: 9514: 8882: 4882:(2020) Intel NEO Compute: 20.41+ for Gen 12 Tiger Lake to Broadwell (include full 2.0 and 2.1 support and parts of 2.2) 4680:/Mobility HD 6800, HD 5x00 series GPU, iGPU HD 6310/HD 6250, HD 7xxx, HD 8xxx, R2xx, R3xx, RX 4xx, RX 5xx, Vega Series 860: 10413: 9823:
Fang, Jianbin; Varbanescu, Ana Lucia; Sips, Henk (2011). "A Comprehensive Performance Comparison of CUDA and OpenCL".
9124: 8565: 7775: 7446: 7178: 6264: 5570: 779:
In order to open the OpenCL programming model to other languages or to protect the kernel source from inspection, the
10663: 10640: 9467: 9242: 5383: 4588: 4555:
September 30, 2020: Khronos announced that the specifications for OpenCL 3.0 had been finalized (CTS also available).
4237: 3863:
Improved OpenGL interoperability through efficient sharing of images and buffers by linking OpenCL and OpenGL events.
986: 783:(SPIR) can be used as a target-independent way to ship kernels between a front-end compiler and the OpenCL back-end. 729: 605: 145: 127: 77: 9897:
Dolbeau, Romain; Bodin, François; de Verdière, Guillaume Colin (September 7, 2013). "One OpenCL to rule them all?".
9788: 8123: 7886: 7872: 7156: 6623: 6351: 5928: 5197:(2008+) Nvidia Tesla, Fermi GPU's (GeForce 8, 9, 100, 200, 300, 400, 500-series, Quadro-series or Tesla-series with 4729:; 2nd Generation Intel Core i7/5/3, 3rd Generation Intel Core Processors with Intel HD Graphics 4000/2500 and newer 11016: 10242: 10070: 9972:. Proc. Int'l Conf. on Compiler Construction. Lecture Notes in Computer Science. Vol. 6601. pp. 286–305. 7858: 7829: 6898: 4964: 4856:
Nvidia Quadro FX/NVX/Plex, Quadro, Quadro K, Quadro M, Quadro P, Quadro with Volta, Quadro RTX with Turing, Ampere
1038: 906:-based language dialect adapted to fit the device model in OpenCL. Memory buffers reside in specific levels of the 328: 8383:"Imagination Technologies launches advanced, highly-efficient POWERVR SGX543MP multi-processor graphics IP family" 7811: 7739: 4149:) for a number of platforms is maintained as part of the Gallium Compute Project, which builds on the work of the 2391:
The actual calculation inside file "fft1D_1024_kernel_src.cl" (based on "Fitting FFT onto the G80 Architecture"):
10635: 10450: 8934: 8760: 7014: 5061: 4558:
October 16, 2020: Intel announced with Neo 20.41 support for OpenCL 3.0 (includes mostly of optional OpenCL 2.x).
4395:
released their first product supporting OpenCL 1.0 – ChromotionHD 2.0 video processor included in VN1000 chipset.
3973:
allowing high-level language front-ends to share a common compilation target. Updates to the OpenCL API include:
672: 9213: 9075:"Xilinx SDAccel development environment for OpenCL, C, and C++, achieves Khronos Conformance – khronos.org news" 8100: 7687: 6960:"Khronos Releases OpenCL 2.2 Provisional Specification with OpenCL C++ Kernel Language for Parallel Programming" 6428: 6325: 6239:"Release of Documentation of C++ for OpenCL kernel language, version 1.0, revision 1 · KhronosGroup/OpenCL-Docs" 6238: 4878:
All hardware with OpenCL 1.2+ is possible, OpenCL 2.x only optional, Khronos Test Suite available since 2020-10
10742: 10656: 10605: 10118: 8037:"HSA support implementation status as of 2016-05-17 — Portable Computing Language (pocl) 1.3-pre documentation" 7085: 6802: 6098: 5160: 5150: 4732: 4332: 4187: 911: 9228: 8978: 8513: 10966: 10800: 10651: 10338: 8660: 6326:"Release of C++ for OpenCL Kernel Language Documentation, version 1.0, revision 2 · KhronosGroup/OpenCL-Docs" 6265:"Release of Documentation of C++ for OpenCL kernel language, version 1.0 and 2021 · KhronosGroup/OpenCL-Docs" 5545: 5418: 5133: 5080: 5069: 5014: 4592: 4209: 4177: 745: 581: 9026: 8831: 6978: 5132:(2011+) for some AMD GCN 1st Gen some OpenCL 2.0 Features not possible today, but many more Extensions than 977:, which behave similarly to the corresponding types in C, OpenCL provides fixed-length vector types such as 9860:(2012). "From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming". 5893: 5592: 5333: 4525:
August 26, 2015: AMD released AMD APP SDK v3.0 which contains full support of OpenCL 2.0 and sample coding.
4176:
on Arm added support for OpenCL 1.2 via CLon12, an open source OpenCL implementation on top DirectX 12 via
955: 9748: 9723: 5489: 4309:
December 10, 2008: AMD and Nvidia held the first public OpenCL demonstration, a 75-minute presentation at
11041: 11036: 11031: 10985: 10931: 10391: 10235: 9283: 5512: 5343: 5288: 5164: 5107: 5084: 5018: 4941: 4886: 4540:
May 16, 2017: Khronos announced that the specification for OpenCL 2.2 had been finalized with SPIR-V 1.2.
4531:
April 18, 2016: Khronos announced that the specification for OpenCL 2.2 had been provisionally finalized.
4388:
released their first product supporting native OpenCL 1.0 – the Chrome 5400E embedded graphics processor.
4162: 3970: 749: 422: 397: 221: 38: 6741: 6553: 6115:
Stulova, Anastasia; Hickey, Neil; van Haastregt, Sven; Antognini, Marco; Petit, Kevin (April 27, 2020).
3892:
DirectX functionality: DX9 media surface sharing allows for efficient sharing between OpenCL and DX9 or
10910: 10705: 10590: 10552: 10402: 10292: 9542:"IBM releases OpenCL Development Kit for Linux on Power v0.3 – OpenCL 1.1 conformant release available" 7071: 5146: 5119: 5111: 5103: 5057: 4957: 4953: 4945: 4702: 4324: 3938: 3893: 3860:
Additional OpenCL built-in C functions such as integer clamp, shuffle, and asynchronous strided copies;
273: 17: 9938:
Karimi, Kamran; Dickson, Neil G.; Hamze, Firas (2011). "A Performance Comparison of CUDA and OpenCL".
7035: 6759: 4086:
When releasing OpenCL 2.2, the Khronos Group announced that OpenCL would converge where possible with
3854:
Operations on regions of a buffer including read, write and copy of 1D, 2D, or 3D rectangular regions;
10926: 10905: 10850: 10737: 10727: 10700: 10562: 9048: 8809: 8124:"Performance Evaluation and Improvements of the PoCL Open-Source OpenCL Implementation on Intel CPUs" 5235: 5202: 5198: 5115: 5037: 4949: 4902: 4698: 4504:
May 6, 2013: Altera released the Altera SDK for OpenCL, version 13.0. It is conformant to OpenCL 1.0.
3929: 990: 317: 10048: 9874: 9625: 7812:"Radeon ROCm 2.0 Officially Out With OpenCL 2.0 Support, TensorFlow 1.12, Vega 48-bit VA – Phoronix" 7235: 11026: 10880: 10506: 10445: 10358: 7380: 5959: 5065: 4604: 4580: 4450: 4343: 4150: 3012:
type qualifier. The following C++ features are not supported by C++ for OpenCL: virtual functions,
1471:// located inside file: "fft1D_1024_kernel_src.cl". For the details see the next listing. 1421: 887: 803: 757: 737: 733: 652: 577: 573: 256: 9168: 9151:"Khronos Releases OpenCL 2.1 and SPIR-V 1.0 Specifications for Heterogeneous Parallel Programming" 7637: 7618: 7596: 6877:"Khronos Releases OpenCL 2.1 and SPIR-V 1.0 Specifications for Heterogeneous Parallel Programming" 4543:
May 14, 2018: Khronos announced Maintenance Update for OpenCL 2.2 with Bugfix and unified headers.
229: 10941: 10936: 10795: 10386: 9492: 7719: 6777:"Khronos Drives Momentum of Parallel Computing Standard with Release of OpenCL 1.1 Specification" 5142: 5073: 4584: 3997: 997:, when running OpenCL programs on CPUs. Other specialized types include 2-d and 3-d image types. 874:
on device memory buffers and functions to transfer data back and forth between host and devices.
692: 632: 569: 565: 333: 63: 4349:
August 5, 2009: AMD unveiled the first development tools for its OpenCL platform as part of its
3896:
media surfaces. Equally, for DX11, seamless sharing between OpenCL and DX11 surfaces is enabled.
11006: 10680: 10612: 10516: 10408: 10363: 9869: 9328: 8591: 7460: 5271: 5234:, and the programmer is not able to directly use hardware-specific technologies such as inline 1417: 1397: 609: 472: 393: 389: 385: 9302: 8483: 6601: 6483:
Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders: google/clspv
6403: 4996:: Khronos Test Suite ready, with Driver Update all Hardware with 2.0 and 2.1 support possible 4528:
November 16, 2015: Khronos announced that the specification for OpenCL 2.1 had been finalized.
4507:
November 18, 2013: Khronos announced that the specification for OpenCL 2.0 had been finalized.
829:
read-only memory: smaller, low latency, writable by the host CPU but not the compute devices (
10772: 10732: 10685: 10675: 10470: 10333: 10272: 5616:"Xilinx SDAccel Development Environment for OpenCL, C, and C++, Achieves Khronos Conformance" 4399: 4371: 4357: 4302: 4259:
A Port of Mesa Clover for ARM with full support of OpenCL 1.2, no actual development for 2.0.
3803: 3040:
arithmetic can be implemented in C++ for OpenCL language with convenient use of C++ features.
951: 309: 7399:"Gallium Clover With SPIR-V & NIR Opening Up New Compute Options Inside Mesa – Phoronix" 6293: 5697: 4688: 3851:
Handling commands from multiple host threads and processing buffers across multiple devices;
10712: 10600: 10595: 10585: 10572: 10368: 9260: 8539: 7965: 6829: 5742: 5642: 4454: 589: 585: 380: 8386: 8279: 7762:"RadeonOpenCompute/ROCm: ROCm – Open Source Platform for HPC and Ultrascale GPU Computing" 7502: 1033:; the number of rows is implicit in the number of work-items produced by the host program. 8: 10875: 10830: 10630: 10496: 8223: 4516:
September 25, 2014: AMD releases Catalyst 14.41 RC1, which includes an OpenCL 2.0 driver.
4431: 3723: 769: 401: 7969: 5876:"SPIR – The first open standard intermediate language for parallel compute and graphics" 5746: 4567:
October 14, 2022: Arm Mali-G615 and Mali-G715-Immortalis are conformant with OpenCL 3.0.
4487:
December 12, 2011: AMD released AMD APP SDK v2.6 which contains a preview of OpenCL 1.2.
4336: 10900: 10749: 10722: 10547: 10511: 10501: 10460: 10302: 10282: 10277: 10258: 9939: 9920: 9423: 7981: 7955: 7900: 6142: 5813: 5795: 5763: 5730: 5138:(2009+) AMD TeraScale 2 & 3 GPU's (RV8xx, RV9xx in HD 5000, 6000 & 7000 Series) 4491: 4146: 966: 959: 871: 844: 713: 613: 561: 487: 296: 9000: 8854:"The Portland Group Announces OpenCL Compiler for ST-Ericsson ARM-Based NovaThor SoCs" 8278:
Zhang, Peng; Fang, Jianbin; Yang, Canqun; Tang, Tao; Huang, Chun; Wang, Zheng (2018).
7488: 4653:
devices), (GPU: Terascale 1: OpenCL 1.1, Terascale 2: 1.2, GCN 1: 1.2+, GCN 2+: 2.0+)
4467:
April 25, 2011: IBM released OpenCL Common Runtime v0.1 for Linux on x86 Architecture.
3770:
rights, and refined into an initial proposal in collaboration with technical teams at
2405:// calls to a radix 16 function, another radix 16 function and then a radix 4 function 859:
between the various levels in the hierarchy is relaxed, and only enforced by explicit
10946: 10622: 10580: 10475: 9983: 9910: 9836: 8931:"Altera SDK for OpenCL is First in Industry to Achieve Khronos Conformance for FPGAs" 8639: 8438: 7847:
https://github.com/RadeonOpenCompute/ROCm/blob/master/AMD_ROCm_Release_Notes_v3.3.pdf
7121:"Using Semaphore and Memory Sharing Extensions for Vulkan Interop with NVIDIA OpenCL" 6697: 6146: 6132: 5768: 4770: 4706: 4600: 4596: 4537:
February 17, 2017: Nvidia begins evaluation support of OpenCL 2.0 with driver 378.66.
4049:
OpenCL C++ Kernel Language, replacing it with the C++ for OpenCL language based on a
2974:
A full, open source implementation of an OpenCL FFT can be found on Apple's website.
982: 856: 523:
AMD, Gallium Compute, IBM, Intel NEO, Intel SDK, Texas Instruments, Nvidia, POCL, Arm
10003: 9958:
A Survey of CPU-GPU Heterogeneous Computing Techniques, ACM Computing Surveys, 2015.
9899:
2013 IEEE 6th International Workshop on Multi-/Many-core Computing Systems (MuCoCoS)
8810:"AMD Opens the Throttle on APU Performance with Updated OpenCL Software Development" 8787: 5817: 5411: 10956: 10755: 10690: 10537: 10353: 10348: 10343: 10312: 9973: 9902: 9879: 9828: 8288: 8196: 7985: 7973: 7873:"Radeon ROCm 3.10 Released with Data Center Tool Improvements, New APIs – Phoronix" 7474: 6124: 5805: 5758: 5750: 5267: 5250: 4495: 4427: 4392: 962:
is replaced by a custom set of standard functions, geared toward math programming.
943: 815: 621: 617: 343: 268: 9924: 7319: 4363:
September 28, 2009: Nvidia released its own OpenCL drivers and SDK implementation.
4316:
March 16, 2009: at the 4th Multicore Expo, Imagination Technologies announced the
2402:// This kernel computes FFT of length 1024. The 1024 length FFT is decomposed into 27:
Open standard for programming heterogenous computing systems, such as CPUs or GPUs
10820: 10760: 10695: 10542: 10532: 10465: 10455: 10297: 10287: 10052: 9978: 9906: 7859:"Radeon ROCm 3.5 Released with New Features but Still No Navi Support – Phoronix" 7614: 7592: 7503:"Mesa's Rusticl OpenCL Implementation Can Outperform Radeon's ROCm Compute Stack" 7475:"Mesa 22.3 Released with RDNA3 Vulkan, Rusticl OpenCL, Better Intel Arc Graphics" 7053: 6123:. IWOCL '20. Munich, Germany: Association for Computing Machinery. pp. 1–2. 5270:
has been suggested to solve this problem: Grewe and O'Boyle describe a system of
5231: 4513:
August 29, 2014: Intel releases HD Graphics 5300 driver that supports OpenCL 2.0.
4328: 4195: 695:(CPUs) or "accelerators" such as graphics processing units (GPUs), attached to a 468: 9883: 6025: 5809: 4664: 105: 11021: 10951: 10767: 10424: 10317: 8672: 7945: 7179:"SIGGRAPH 2018: OpenCL-Next Taking Shape, Vulkan Continues Evolving – Phoronix" 5671: 5308: 5293: 4923:(2021) Arm Mali-G78, Mali-G310, Mali-G510, Mali-G610, Mali-G710 and Mali-G78AE. 3820: 3816: 3636:// This kernel is used for complex-number multiplication in half precision when 3048:// various precision when different types for T are used - double, float, half. 3037: 883: 864: 822:
global memory: shared by all processing elements, but has high access latency (
761: 744:; third-party APIs exist for other programming languages and platforms such as 718: 704: 8354: 8326: 7977: 7134: 6163: 4066:
minor update was 3.0.14 with bugfix and a new extension for multiple devices.
4024:
1.1 intermediate language which fully supports the OpenCL C++ kernel language.
855:
Not every device needs to implement each level of this hierarchy in hardware.
11000: 10840: 10717: 10093: 9857: 9856:
Du, Peng; Weber, Rick; Luszczek, Piotr; Tomov, Stanimire; Peterson, Gregory;
9379: 9186: 9154: 8878: 8412: 7932: 7341: 7018: 6993: 6963: 5897: 5879: 5731:"OpenCL: a parallel programming standard for heterogeneous computing systems" 5318: 4726: 4722: 4718: 4625: 4438: 4111: 3791: 3564:// This kernel is used for complex-number multiplication in single precision. 3333:// A helper function to compute multiplication over complex numbers read from 1005: 870:
Devices may or may not share memory with the host CPU. The host API provides
787: 640: 628: 192: 10004:"Radeon RX 6800 Series Has Excellent ROCm-Based OpenCL Performance On Linux" 8292: 7761: 7655: 6719: 6128: 6056:. Vasily Volkov and Brian Kazian, UC Berkeley CS258 project report. May 2008 4753: 4642: 4634: 4570:
November 11, 2022: The RustiCL OpenCL Library is conformant with OpenCL 3.0.
4470:
May 4, 2011: Nokia Research releases an open source WebCL extension for the
3336:// the input buffer and to store the computed result into the output buffer. 3045:// Define a class Complex, that can perform complex-number computations with 1396:
To extend this into a full matrix–vector multiplication, the OpenCL runtime
10440: 9701: 7135:"OpenCL 3.0.14 Released with New Extension for Command Buffer Multi-Device" 5772: 5458: 5373: 4844: 4821: 4741: 4735: 4283: 4145:
An implementation of OpenCL (actual 1.1 incomplete, mostly done AMD Radeon
4087: 4039:
Runs on any OpenCL 2.0-capable hardware (only a driver update is required).
10062: 8661:
http://reference.wolfram.com/mathematica/OpenCLLink/tutorial/Overview.html
7429: 6116: 3961:, while maintaining support for the preexisting OpenCL C kernel language. 3848:
New data types including 3-component vectors and additional image formats;
10961: 9832: 8281:
MOCL: An Efficient OpenCL Implementation for the Matrix-2000 Architecture
7887:"AMD Launches Arcturus as the Instinct MI100, Radeon ROCm 4.0 – Phoronix" 6921:"Khronos Releases OpenCL 2.1 Provisional Specification for Public Review" 6624:"AMD Drives Adoption of Industry Standards in GPGPU Software Development" 5853: 5754: 5368: 5242: 5029: 4981: 4974: 4927: 4913: 4894: 4789: 4458: 4403: 4385: 4367: 1287: 939: 703:
for writing programs. Functions executed on an OpenCL device are called "
464: 460: 455: 69: 8957:"Khronos Finalizes OpenCL 2.0 Specification for Heterogeneous Computing" 7901:"Welcome to AMD ROCm™ Platform — ROCm Documentation 1.0.0 documentation" 7830:"Taking Radeon ROCm 2.0 OpenCL For A Benchmarking Test Drive – Phoronix" 7669: 7447:"Mesa's 'Rusticl' Implementation Now Manages to Handle Darktable OpenCL" 6855:"Khronos Finalizes OpenCL 2.0 Specification for Heterogeneous Computing" 9183:"NVIDIA 378.66 drivers for Windows offer OpenCL 2.0 evaluation support" 8720: 7747: 7489:"Mesa's Rusticl OpenCL Driver Nearly Ready with AMD Radeon GPU Support" 5033: 4917: 4906: 4898: 4810: 4806: 4715: 4670: 4534:
November 3, 2016: Intel support for Gen7+ of OpenCL 2.1 in SDK 2016 r3.
4481: 4446: 4350: 4173: 3763: 2278:// create N-D range object with work-item dimensions and execute kernel 722: 187: 180: 175: 8182: 8168: 8154: 8140: 8082: 8068: 8054: 7670:"beignet – Beignet OpenCL Library for Intel Ivy Bridge and newer GPUs" 5230:
A key feature of OpenCL is portability, via its abstracted memory and
4464:
March 31, 2011: IBM released a fully conformant version of OpenCL 1.1.
4342:
April 20, 2009: Nvidia announced the release of its OpenCL driver and
4331:
demonstrated the first working implementation for OpenCL accelerating
3729:
C++ for OpenCL sources can be compiled by OpenCL drivers that support
10835: 10810: 10227: 10206: 10184: 10179: 10108: 5378: 5303: 5025: 4934: 4890: 4835: 4762: 4757: 4416:
June 30, 2010: IBM released a fully conformant version of OpenCL 1.0.
4279: 4169: 4127: 4123: 3824: 3767: 947: 9944: 9674: 7149:"Breaking: OpenCL Merging Roadmap into Vulkan | PC Perspective" 5571:"The C++ for OpenCL 1.0 and 2021 Programming Language Documentation" 4546:
April 27, 2020: Khronos announced provisional Version of OpenCL 3.0.
4099: 10885: 10865: 10790: 10196: 9647: 9353: 8536:"S3 Graphics launched the Chrome 5400E embedded graphics processor" 8253: 7960: 7256: 6114: 5539:"The OpenCL C Specification Version: 3.0 Document Revision: V3.0.7" 5358: 5298: 5181: 5174: 4549:
June 1, 2020: Intel Neo Runtime with OpenCL 3.0 for new Tiger Lake.
4381:
November 26, 2009: Nvidia released drivers for OpenCL 1.0 (rev 48).
4310: 4199: 3900: 3779: 3734: 3522:// Every work-item writes 2 consecutive items to the output buffer. 773: 664: 10025: 9568:"IBM releases OpenCL Common Runtime for Linux on x86 Architecture" 8306: 7320:"Zack Rusin's blog post about the Gallium3D OpenCL implementation" 6942: 6698:"Nvidia Adds OpenCL To Its Industry Leading GPU Computing Toolkit" 6481: 5831: 5800: 5043:
Khronos: with Driver Update all Hardware with 2.0 support possible
4320:
SGX543MP, the first GPU of this company to feature OpenCL support.
728:
In addition to its C-like programming language, OpenCL defines an
357: 10890: 10870: 10845: 10480: 10201: 10169: 10034: 9802: 8359: 8331: 7705: 5348: 4817: 4650: 4471: 4410: 4317: 4219: 4191: 4155: 4058: 4014: 4000:, Intel, HPC, and YetiWare have declared support for OpenCL 2.1. 3958: 3417:// Every work-item uses 4 consecutive items from the input buffer 2983: 994: 799: 794:, a higher-level programming model for OpenCL as a single-source 668: 644: 601: 597: 545: 541: 501: 289: 277: 8613: 6672:"HPCWire: RapidMind Embraces Open Source and Standards Projects" 5901: 5875: 5013:(2018+) Support backported to Intel 5th and 6th gen processors ( 3754:
they are reviewed and approved by the experienced contributors.
3726:
paradigm from C++ is very attractive to the library developers.
10855: 10211: 10174: 10153: 10138: 10133: 10128: 9773: 9753: 9749:"OpenCL-CTS/Test_conformance at main · KhronosGroup/OpenCL-CTS" 9679: 9652: 9265: 8311: 8097:"POCL 1.6-RC1 Released with Better CUDA Performance – Phoronix" 8022: 7724: 7688:"Intel Brings Beignet To Android For OpenCL Compute – Phoronix" 7054:"OpenCL 3.0 Bringing Greater Flexibility, Async DMA Extensions" 6989: 6690: 6505: 5894:"SYCL – C++ Single-source Heterogeneous Programming for OpenCL" 5676:
Heterogeneous Computing with OpenCL: Revised OpenCL 1.2 Edition
5393: 5363: 5353: 5338: 5096:(2017+) ARM Mali (Bifrost) G51 and G71 in Android 7.1 and Linux 4937:
discrete graphics with latest Intel Arc Windows graphics driver
4841: 4827: 4677: 4346:
to developers participating in its OpenCL Early Access Program.
4062: 4021: 3966: 3962: 3787: 660: 648: 321: 31: 9827:. Proc. Int'l Conf. on Parallel Processing. pp. 216–225. 6378:"Mali SDK Supporting Compilation of Kernels in C++ for OpenCL" 5537:
Munshi, Aaftab; Howes, Lee; Sochaki, Barosz (April 27, 2020).
4803:(or higher) compatible CPUs 64-bit & 32-bit; Linux 2.6 PC 4378:
capable CPUs. The SDK is available for both Linux and Windows.
3857:
Enhanced use of events to drive and control command execution;
1400:
the kernel over the rows of the matrix. On the host side, the
1049:// A is a row-major matrix, meaning the (i,j) element is at A. 167: 10216: 10189: 10056: 10040: 9789:"Intel Compute-Runtime 20.43.18277 Brings Alder Lake Support" 8510:"ATI Stream Software Development Kit (SDK) v2.0 Beta Program" 7298: 7277: 6760:"The OpenCL Specification Version: 1.0 Document Revision: 48" 6530:(Press release). Khronos Group. June 16, 2008. Archived from 5643:"The OpenCL Specification Version: 2.1 Document Revision: 23" 5398: 5323: 5221:
mostly updated to 1.1 and 1.2 after first Driver for 1.0 only
4766: 4710: 4694: 4552:
June 3, 2020: AMD announced RocM 3.5 with OpenCL 2.2 support.
4510:
March 19, 2014: Khronos releases the WebCL 1.0 specification.
4442: 4420: 4241: 4232:
A portable implementation supporting CPUs and some GPUs (via
4135: 4079: 4050: 3783: 2992: 891: 741: 687:
OpenCL views a computing system as consisting of a number of
656: 313: 305: 301: 285: 281: 260: 37:
For the cryptographic library initially known as OpenCL, see
7776:"A Nice Overview Of The ROCm Linux Compute Stack – Phoronix" 6429:"OpenCL-Guide, Offline Compilation of OpenCL Kernel Sources" 5225: 4885:(2020) Intel 6th, 7th, 8th, 9th, 10th, 11th gen processors ( 4813:
and Intel Core i7, i5, i3; 2nd Generation Intel Core i7/5/3
4301:
June, 2008: During Apple's WWDC conference an early beta of
4074: 3815:
AMD decided to support OpenCL instead of the now deprecated
10895: 10825: 10815: 10148: 10113: 9515:"Announcing OpenCL Development Kit for Linux on Power v0.3" 6742:"Opencl Standard – an overview | ScienceDirect Topics" 6294:"The C++ for OpenCL 1.0 Programming Language Documentation" 5388: 5313: 5254: 5194:(2008+) some AMD TeraScale 1 GPU's (RV7xx in HD4000-series) 4800: 4660: 4375: 4249: 4245: 4233: 4223: 4131: 4119: 4054: 3944:
half precision extended with optional cl_khr_fp16 extension
1468:// The source code of the kernel is represented as a string 1387:{\displaystyle y_{i}=a_{i,:}\cdot x=\sum _{j}a_{i,j}x_{j}.} 795: 791: 753: 608:(APIs) to control the platform and execute programs on the 537: 9169:"What's new? Intel® SDK for OpenCL™ Applications 2016, R3" 9100:"Release 349 Graphics Drivers for Windows, Version 350.12" 8385:. Imagination Technologies. March 19, 2009. Archived from 8122:
Baumann, Tobias; Noack, Matthias; Steinke, Thomas (2021).
4628:
maintains an extended list of OpenCL-conformant products.
10805: 10782: 10045: 9572: 9519: 9329:"Mesa's Rusticl Achieves Official OpenCL 3.0 Conformance" 8004: 7461:"Mesa's Rusticl Achieves Official OpenCL 3.0 Conformance" 5785: 4796: 4786: 4749: 4656: 4646: 4449:
binding to OpenCL. This creates the potential to harness
4161:
RustiCL is a new implementation for Gallium compute with
4013:
The OpenCL C++ kernel language is a static subset of the
3806:
on August 28, 2009. According to an Apple press release:
3775: 3771: 903: 707:". A single compute device typically consists of several 636: 593: 533: 336: 9278: 9276: 7914: 6954: 6952: 6600:(Press release). Apple Inc. June 9, 2008. Archived from 5696:. New York University Media Research Lab. Archived from 3036:
The following code snippet illustrates how kernels with
1021:) and places the result in an entry of the blue vector ( 1000: 930:, reflecting this. Instead of a device program having a 836:
local memory: shared by a group of processing elements (
9896: 9380:"KhronosGroup/OpenCL-CTL: The OpenCL Conformance Tests" 9229:"NVIDIA beta-support for OpenCL 2.0 works on Linux too" 8023:"GitHub – pocl/pocl: pocl: Portable Computing Language" 6404:"Clang Compiler User's Manual — C++ for OpenCL Support" 5000:
Intel NEO Compute: Work in Progress for actual products
4501:
April 17, 2012: Khronos released a WebCL working draft.
2995:
compiler has supported C++ for OpenCL since release 9.
1017:
in the code), multiplies this row with the red vector (
772:
that implements the API for C and C++, and an OpenCL C
8461:"AMD does reverse GPGPU, announces OpenCL SDK for x86" 5669: 5211:(2012+) ARM Mali Midgard 1st and 2nd gen (T-6xx, T720) 4870:
Products and their version of OpenCL support include:
4474:
web browser, providing a JavaScript binding to OpenCL.
3008:
implicit type conversions and it does not support the
9450:"Intel® SDK for OpenCL™ Applications – Release Notes" 9273: 8460: 7619:"More Criticism Comes Towards Intel's Beignet OpenCL" 7597:"Beignet: OpenCL/GPGPU Comes For Ivy Bridge On Linux" 7517:"State of Windows on Arm64: a high-level perspective" 6949: 6576:"The Khronos Group Releases OpenCL 1.0 Specification" 6528:"Khronos Launches Heterogeneous Computing Initiative" 5484: 5482: 5480: 5478: 5476: 4295: 3159:// Define operator for complex-number multiplication. 3031: 1306: 942:
into the program to be called from the host program.
9855: 9825:
2011 International Conference on Parallel Processing
8636:"Intel discloses new Sandy Bridge technical details" 6598:"Apple Previews Mac OS X Snow Leopard to Developers" 5729:
Stone, John E.; Gohara, David; Shi, Guochin (2010).
3716: 8121: 7430:"OpenCL support inside mesa through SPIR-V and NIR" 6899:"Khronos Announces OpenCL 2.1: C++ Comes to OpenCL" 6121:
Proceedings of the International Workshop on OpenCL
4977:) Refresh with latest Intel Windows graphics driver 4970:(2022) Samsung Xclipse 920 GPU (based on AMD RDNA2) 4683:AMD FirePro Vx800 series GPU and later, Radeon Pro 2991:specification of C++ and OpenCL C. The open source 985:operations on these types are intended to map onto 100:
may be too technical for most readers to understand
9937: 9822: 6043: 5536: 5473: 5024:(2017+) Intel 7th, 8th, 9th, 10th gen processors ( 1386: 9818: 9816: 8277: 5691:"An Introduction to the OpenCL Programming Model" 5689:Tompson, Jonathan; Schlachter, Kristofer (2012). 5688: 5573:. Khronos OpenCL Working Group. December 20, 2021 4610: 4360:, which contains a full implementation of OpenCL. 3828:its first OpenCL implementation as a part of the 1013:) of the kernel takes a row of the green matrix ( 10998: 9967: 8695:"Khronos Releases Final WebGL 1.0 Specification" 8411:. PC Perspective. March 26, 2009. Archived from 7215:"Khronos and OpenCL Overview EVS Workshop May19" 6664: 6578:(Press release). Khronos Group. December 8, 2008 5099:(2018+) ARM Mali (Bifrost) G31, G52, G72 and G76 4494:released the PGI OpenCL compiler for multi-core 8562:"VIA Brings Enhanced VN1000 Graphics Processor" 8409:"AMD and Havok demo OpenCL accelerated physics" 7638:"Intel's Beignet OpenCL Is Still Slowly Baking" 6616: 6507:Experimental implementation of OpenCL on Vulkan 6187:"Clang release 9 documentation, OpenCL support" 6024:. SIGGRAPH2008. August 14, 2008. Archived from 4130:implementations of OpenCL are all based on the 4106:, a command-line tool to see OpenCL information 3947:cl_double: double precision IEEE 754 (optional) 3790:. Apple submitted this initial proposal to the 2549:// starting index of data to/from global memory 882:The programming language that is used to write 9813: 9261:"GitHub – RadeonOpenCompute/ROCm at roc-3.5.0" 6068: 5728: 5544:. Khronos OpenCL Working Group. Archived from 5102:(2017+) incomplete Evaluation support: Nvidia 4673:E-350, E-240, C-50, C-30 with HD 6310/HD 6250 4094: 10243: 10078: 8588:"ATI Stream SDK v2.0 with OpenCL 1.0 Support" 8435:"Nvidia Releases OpenCL Driver To Developers" 7568:"Deep dive into OpenGL over DirectX layering" 7015:"Khronos Releases OpenCL 2.2 With SPIR-V 1.2" 5634: 4980:(2023) Intel Core Ultra Series 1 processors ( 1411: 781:Standard Portable Intermediate Representation 627:OpenCL is an open standard maintained by the 8759:. Khronos Group. May 4, 2011. Archived from 8287:. Proc. Int'l Conf. on Computing Frontiers. 7706:"01.org Intel Open Source – Compute Runtime" 6824: 6822: 6820: 6674:. HPCWire. November 10, 2008. Archived from 6590: 6099:"Khronos Announcements and Panel Discussion" 5159:(2012+) Intel 3rd & 4th gen processors ( 5079:(2014+) Intel 5th & 6th gen processors ( 3642:#pragma OPENCL EXTENSION cl_khr_fp16: enable 1882:// const char* fft1D_1024_kernel_src = { }; 10092: 7427: 6803:"Khronos Releases OpenCL 1.2 Specification" 6720:"OpenCL Development Kit for Linux on Power" 5987:"Introduction to OpenCL Programming 201005" 5832:"OpenCL - Open Computing Language Bindings" 5824: 4984:) with latest Intel Windows graphics driver 4930:) with latest Intel Windows graphics driver 4920:) with latest Intel Windows graphics driver 4909:) with latest Intel Windows graphics driver 4830:and Intel Xeon 7x00,5x00,3x00 (Core based) 1615:// create a compute context with GPU device 1046:// Multiplies A*x, leaving the result in y. 612:. OpenCL provides a standard interface for 78:Learn how and when to remove these messages 10250: 10236: 10085: 10071: 8481: 8271: 8213: 7543:"Introducing OpenCL and OpenGL on DirectX" 7381:"mesa/mesa – The Mesa 3D Graphics Library" 7104:"State of the Union: OpenCL Working Group" 6454:"OpenCL-Guide, Programming OpenCL Kernels" 5953: 5951: 5949: 4667:, Linux 2.6 PC, Windows Vista/7/8.x/10 PC 4110:OpenCL consists of a set of headers and a 2977: 965:OpenCL C is extended to facilitate use of 228: 9977: 9943: 9873: 9416: 9297: 9295: 9293: 8757:"Nokia Research releases WebCL prototype" 8482:Moren, Dan; Snell, Jason (June 8, 2009). 7999: 7997: 7995: 7959: 6817: 6712: 6700:(Press release). Nvidia. December 9, 2008 6117:"The C++ for OpenCL Programming Language" 5960:"The OpenCL C Specification, Version 2.0" 5799: 5762: 5665: 5663: 5226:Portability, performance and alternatives 4290: 3498:// Perform complex-number multiplication. 914:are annotated with the region qualifiers 886:is called kernel language. OpenCL adopts 877: 564:for writing programs that execute across 146:Learn how and when to remove this message 128:Learn how and when to remove this message 112:, without removing the technical details. 9214:"NVIDIA enables OpenCL 2.0 beta-support" 8437:. Nvidia. April 20, 2009. Archived from 7036:"OpenCL 2.2 Maintenance Update Released" 6646:"AMD Backs OpenCL, Microsoft DirectX 11" 6638: 6546: 6011: 5846: 5779: 5614:Gianelli, Silvia E. (January 14, 2015). 5613: 5510: 4912:(2021) Intel 11th, 12th gen processors ( 4098: 4073: 1004: 934:function, OpenCL C functions are marked 7635: 7613: 7591: 7212: 7101: 7030: 7028: 6976: 6648:. eWeek. August 6, 2008. Archived from 6096: 5946: 5724: 5722: 5720: 5718: 5674:; Mistry, Perhaad; Schaa, Dana (2012). 1948:// build the compute program executable 14: 10999: 10257: 9290: 9226: 9211: 8784:"Samsung's WebCL Prototype for WebKit" 8214:Gall, T.; Pitney, G. (March 6, 2014). 7992: 7636:Larabel, Michael (December 24, 2013). 6213:"Clang 9, Language Extensions, OpenCL" 5981: 5979: 5957: 5735:Computing in Science & Engineering 5660: 4744:7x00,5x00,3x00 (Core based) and newer 4689:Intel SDK for OpenCL Applications 2013 4619: 4208:An implementation by Intel for Gen. 8 4057:compiler which implements a subset of 700: 10231: 10066: 9284:"NVIDIA is Now OpenCL 3.0 Conformant" 6503: 6476: 6474: 6320: 6318: 6316: 6314: 6288: 6286: 6158: 6156: 5992:. AMD. pp. 89–90. Archived from 5923: 5921: 5919: 5640: 5433:"Android Devices With OpenCL support" 5215: 5188: 5126: 5047: 5007: 4988: 4873: 4278:An OpenCL 1.2 implementation for the 1741:// allocate the buffer memory objects 1001:Example: matrix–vector multiplication 907: 768:of the OpenCL standard consists of a 110:make it understandable to non-experts 8025:. March 14, 2019 – via GitHub. 7299:"Rapidmind entry on LLVM Users page" 7025: 6626:(Press release). AMD. August 6, 2008 5715: 4445:working group to explore defining a 3980:Copying of kernel objects and states 1492:"fft1D_1024_kernel_src.cl" 897: 765: 604:) for programming these devices and 84: 43: 9602:. developer.amd.com. Archived from 9400:. developer.amd.com. Archived from 9212:Szuppe, Jakub (February 22, 2017). 9189:. February 17, 2017. Archived from 8781: 7072:"Khronos Group Releases OpenCL 3.0" 6168:, The Khronos Group, April 16, 2021 6051:"Fitting FFT onto G80 Architecture" 5976: 5511:Sochacki, Bartosz (July 19, 2019). 4186:An implementation by Intel for its 3989:Execution priority hints for queues 3986:Ingestion of SPIR-V code by runtime 3941:installable client driver extension 3926:Images (optional, include 3D-Image) 2660:// local shuffle using local memory 1148:// Global id, used as the row index 809: 24: 11012:Application programming interfaces 9769:"Issues · KhronosGroup/OpenCL-CTS" 9489:"Intel OpenCL SDK – Release Notes" 8959:. Khronos Group. November 18, 2013 8881:. November 7, 2013. Archived from 7572:Collabora | Open Source Consulting 7547:Collabora | Open Source Consulting 7428:Clark, Rob; Herbst, Karol (2018). 6879:. Khronos Group. November 16, 2015 6857:. Khronos Group. November 18, 2013 6805:. Khronos Group. November 15, 2011 6471: 6311: 6283: 6153: 5916: 5900:. January 21, 2014. Archived from 5513:"The OpenCL C++ 1.0 Specification" 5208:(2011+) Qualcomm Adreno 3xx series 5170:(2013+) Qualcomm Adreno 4xx series 5093:(2018+) Qualcomm Adreno 6xx series 5090:(2015+) Qualcomm Adreno 5xx series 4973:(2023) Intel 14th gen processors ( 4926:(2022) Intel 13th gen processors ( 4865: 4296:Timeline of vendor implementations 3762:OpenCL was initially developed by 3032:Example: complex-number arithmetic 1286:computes, in each invocation, the 776:for the compute devices targeted. 711:, which in turn comprise multiple 606:application programming interfaces 25: 11053: 10017: 7278:"Nvidia entry on LLVM Users page" 4967:with Nvidia graphics driver 525+. 4960:with Nvidia graphics driver 465+. 4082:(IWOCL) held by the Khronos Group 3977:Additional subgroup functionality 3717:Tooling and execution environment 3639:// it is supported by the device. 3420:// - two for each complex number. 730:application programming interface 59:This article has multiple issues. 10980: 10979: 10059:) sponsored by The Khronos Group 10046:International Workshop on OpenCL 9996: 9961: 9952: 9931: 9890: 9849: 9795: 9781: 9761: 9741: 9716: 9694: 9667: 9640: 9618: 9588: 9560: 9534: 9507: 9481: 9460: 9442: 9386: 9372: 9346: 9321: 9253: 9235: 9220: 9205: 9175: 9161: 9143: 9117: 9092: 9067: 9041: 9015: 8993: 8971: 8949: 8923: 8897: 8867: 8846: 8834:. Forums.amd.com. March 13, 2015 8824: 8802: 8775: 8749: 8731: 8713: 8687: 8665: 8654: 8628: 8606: 8580: 8554: 8528: 8502: 8484:"Live Update: WWDC 2009 Keynote" 8475: 8453: 8427: 8401: 8375: 8347: 8319: 8299: 8246: 8207: 8189: 8175: 8161: 8147: 8133: 8115: 8089: 8075: 8061: 8047: 8029: 8015: 7939: 7925: 7907: 7893: 7879: 7865: 7851: 7840: 7822: 7804: 7786: 7768: 7754: 7732: 7257:"Apple entry on LLVM Users page" 6097:Trevett, Neil (April 28, 2020). 5641:Howes, Lee (November 11, 2015). 4356:August 28, 2009: Apple released 4282:(BCM2763) processor used in the 4134:Compiler technology and use the 4080:International Workshop on OpenCL 3983:Low-latency device timer queries 3748: 2780:// twiddle factor multiplication 1498:// Looking up the available GPUs 699:processor (a CPU). It defines a 584:(FPGAs) and other processors or 428:OpenCL C++ 1.0 revision V2.2–11 166: 89: 48: 10451:Analysis of parallel algorithms 9626:"Nvidia Releases OpenCL Driver" 9227:Szuppe, Jakub (March 6, 2017). 9003:. Khronos Group. March 14, 2014 8981:. Khronos Group. March 19, 2014 8697:. Khronos Group. Archived from 7712: 7698: 7680: 7662: 7648: 7629: 7607: 7585: 7560: 7535: 7509: 7495: 7481: 7467: 7453: 7439: 7421: 7391: 7373: 7356: 7334: 7312: 7291: 7270: 7249: 7228: 7206: 7189: 7171: 7141: 7127: 7113: 7095: 7091:. Khronos OpenCL Working Group. 7078: 7064: 7046: 7007: 6979:"OpenCL – A State of the Union" 6970: 6945:. Khronos Group. July 21, 2013. 6935: 6913: 6891: 6869: 6847: 6795: 6769: 6765:. Khronos OpenCL Working Group. 6752: 6734: 6568: 6520: 6504:Petit, KĂ©vin (April 17, 2021), 6497: 6446: 6421: 6396: 6370: 6344: 6257: 6231: 6205: 6179: 6108: 6090: 5886: 5868: 5682: 4441:announces the formation of the 3992:Zero-sized dispatches from host 1459:// (int argc, const char* argv) 375:OpenCL C/C++ and C++ for OpenCL 67:or discuss these issues on the 8463:. Ars Technica. August 5, 2009 7213:Trevett, Neil (May 23, 2019). 6923:. Khronos Group. March 3, 2015 6722:. alphaWorks. October 30, 2009 5929:"C++ for OpenCL, OpenCL-Guide" 5670:Gaster, Benedict; Howes, Lee; 5648:. Khronos OpenCL Working Group 5607: 5585: 5563: 5530: 5518:. Khronos OpenCL Working Group 5504: 5451: 5425: 4836:Nvidia OpenCL Driver and Tools 4775:IBM BladeCenter PS70x Express 4756:for Linux on Power running on 4637:of OpenCL conformant products 4611:Khronos Conformance Test Suite 4484:SDK as technology and concept. 2855:// four radix-4 function calls 1196:// Accumulator for dot product 1178:// Pointer to the i'th row 582:field-programmable gate arrays 430:OpenCL C 3.0 revision V3.0.11 13: 1: 10398:Simultaneous and heterogenous 8216:"LCA14-412: GPGPU on ARM SoC" 7948:Int'l J. Parallel Programming 7197:"Vulkan Update SIGGRAPH 2019" 6556:. MacWorld. November 20, 2008 6554:"OpenCL gets touted in Texas" 5405: 5141:(2011+) AMD TeraScale APU's ( 4043: 4003: 3951: 3908: 3867: 3839: 3797: 1879:// create the compute program 10986:Category: Parallel computing 9979:10.1007/978-3-642-19861-8_16 9907:10.1109/MuCoCoS.2013.6633603 9702:"clinfo: openCL INFOrmation" 9596:"OpenCL and the AMD APP SDK" 9424:"About Intel OpenCL SDK 1.1" 9394:"OpenCL and the AMD APP SDK" 8933:. Altera.com. Archived from 8907:. Altera.com. Archived from 8786:. Github.com. Archived from 7933:"AMD Documentation – Portal" 6977:Trevett, Neil (April 2016). 5958:Munshi, Aaftab, ed. (2014). 5246:required limited tradeoffs. 4663:(or higher) compatible CPUs 4138:compiler as their frontend. 2933:// radix-4 function number 4 2912:// radix-4 function number 3 2891:// radix-4 function number 2 2870:// radix-4 function number 1 1993:// create the compute kernel 1290:of a single row of a matrix 1039:matrix–vector multiplication 843:per-element private memory ( 814:OpenCL defines a four-level 433:C++ for OpenCL 1.0 and 2021 348:OpenCL specification license 7: 9884:10.1016/j.parco.2011.10.002 5810:10.1016/j.parco.2011.09.001 5419:"The OpenCL Specification" 5344:List of OpenCL applications 5289:Advanced Simulation Library 5281: 4850:Nvidia GeForce GTS/GT/GTX, 4790:OpenCL Common Runtime (OCR) 4778:IBM BladeCenter JS2x, JS43 4579:As of 2016, OpenCL runs on 4457:parallel processing from a 4095:Open source implementations 3971:intermediate representation 3722:OpenCL C and in particular 3002: 1029:is passed to the kernel as 682: 39:Botan (programming library) 10: 11058: 10293:High-performance computing 9125:"AMD APP SDK 3.0 Released" 7236:"OpenCL ICD Specification" 7086:"The OpenCL Specification" 6901:. AnandTech. March 3, 2015 6830:"OpenCL 1.2 Specification" 4574: 4402:GPUs and beta support for 4069: 3757: 2936:// coalesced global writes 1412:Example: computing the FFT 36: 29: 10975: 10927:Automatic parallelization 10919: 10781: 10621: 10571: 10563:Application checkpointing 10525: 10489: 10433: 10377: 10326: 10265: 10162: 10101: 10051:January 26, 2021, at the 9648:"clinfo by Simon Leblanc" 9382:. GitHub. March 21, 2019. 9023:"Intel OpenCL 2.0 Driver" 9001:"WebCL 1.0 Specification" 8979:"WebCL 1.0 Press Release" 8812:. Amd.com. August 8, 2011 8355:"OpenCL Demo, Nvidia GPU" 7978:10.1007/s10766-014-0320-y 7764:. GitHub. March 21, 2019. 5459:"FreeBSD Graphics/OpenCL" 5236:Parallel Thread Execution 5003:ROCm: Version 3.5+ mostly 4633: 4581:graphics processing units 4218:Created as part of AMD's 3802:OpenCL 1.0 released with 2747:// in-place radix-16 pass 2627:// in-place radix-16 pass 2612:// coalesced global reads 1894:clCreateProgramWithSource 1663:// create a command queue 1416:This example will load a 1025:). The number of columns 989:instructions sets, e.g., 578:digital signal processors 574:graphics processing units 532: 527: 522: 514: 496: 486: 478: 454: 450: 421: 417: 407: 379: 352: 342: 327: 295: 267: 252: 248: 220: 216: 198: 186: 174: 165: 6165:KhronosGroup/OpenCL-Docs 5253:from 2011 that compared 4822:Solo, Duo, Quad, Extreme 4434:with OpenCLLink package. 3042: 3016:operator, non-placement 2393: 1447:#define NUM_ENTRIES 1024 1426: 1043: 938:to signal that they are 818:for the compute device: 804:programming productivity 693:central processing units 570:central processing units 568:platforms consisting of 435:/ December 20, 2021 30:Not to be confused with 11017:Cross-platform software 10942:Embarrassingly parallel 10937:Deterministic algorithm 9049:"AMD OpenCL 2.0 Driver" 8673:"WebCL related stories" 8293:10.1145/3203217.3203244 6352:"cl_ext_cxx_for_opencl" 6129:10.1145/3388333.3388647 5272:support-vector machines 5056:(2013+) AMD GCN APU's ( 4736:Solo, Duo Quad, Extreme 3096:// Imaginary component. 2978:C++ for OpenCL language 1627:clCreateContextFromType 1444:"CL/opencl.h" 1041:algorithm in OpenCL C. 558:Open Computing Language 482:Implementation specific 479:Implementation language 334:Heterogeneous computing 10657:Associative processing 10613:Non-blocking algorithm 10419:Clustered multi-thread 8327:"OpenCL Demo, AMD CPU" 7364:"Clover Status Update" 7102:Trevett, Neil (2021). 6078:. Apple. June 26, 2012 5854:"D binding for OpenCL" 5593:"Conformant Companies" 5184:Midgard 4th gen (T8xx) 5177:Midgard 3rd gen (T760) 4754:OpenCL Development Kit 4353:SDK v2.0 Beta Program. 4291:Vendor implementations 4107: 4083: 3813: 2326:clEnqueueNDRangeKernel 2029:// set the args values 2017:"fft1D_1024" 1678:CL_DEVICE_TYPE_DEFAULT 1418:fast Fourier transform 1402:clEnqueueNDRangeKernel 1388: 1034: 952:variable-length arrays 878:OpenCL kernel language 622:data-based parallelism 235:; 5 months ago 204:; 15 years ago 10773:Hardware acceleration 10686:Superscalar processor 10676:Dataflow architecture 10273:Distributed computing 9970:Compiler Construction 9600:AMD Developer Central 9398:AMD Developer Central 9029:on September 17, 2014 7344:. dri.freedesktop.org 6746:www.sciencedirect.com 5551:on September 20, 2020 5490:"Conformant Products" 4781:IBM BladeCenter QS22 4358:Mac OS X Snow Leopard 4337:Radeon HD 4000 series 4303:Mac OS X Snow Leopard 4102: 4077: 4036:program release time. 4020:Uses the new Khronos 3965:and OpenCL 2.1 share 3923:Generic address space 3917:Shared virtual memory 3899:The ability to force 3808: 3804:Mac OS X Snow Leopard 3731:cl_ext_cxx_for_opencl 1389: 1008: 590:programming languages 586:hardware accelerators 437:; 2 years ago 10652:Pipelined processing 10601:Explicit parallelism 10596:Implicit parallelism 10586:Dataflow programming 9833:10.1109/ICPP.2011.45 9606:on September 6, 2011 9157:. November 16, 2015. 8790:on February 18, 2015 8568:on December 15, 2009 7674:cgit.freedesktop.org 7595:(January 10, 2013). 7385:cgit.freedesktop.org 7123:. February 24, 2022. 6678:on December 18, 2008 6031:on February 16, 2012 5755:10.1109/MCSE.2010.69 4826:ATI FirePro, Nvidia 4419:September 13, 2010: 4142:MESA Gallium Compute 2323://Nvidia: 192 or 256 1774:CL_MEM_COPY_HOST_PTR 1711:clCreateCommandQueue 1304: 1282:The kernel function 863:constructs, notably 734:compiled at run-time 276:(vendor dependent), 202:August 28, 2009 10876:Parallel Extensions 10681:Pipelined processor 9809:. February 7, 2018. 9675:"clinfo by Oblomov" 9354:"The Khronos Group" 9309:. December 12, 2022 9303:"The Khronos Group" 9243:"The Khronos Group" 8875:"WebCL Latest Spec" 8763:on December 5, 2020 8745:. October 20, 2009. 8642:on October 31, 2013 8594:on November 1, 2009 8542:on December 2, 2009 8441:on February 4, 2012 8363:. December 10, 2008 8335:. December 10, 2008 8224:Amazon Web Services 8103:on January 17, 2021 7970:2016arXiv161107083J 7794:"XDC Lightning.pdf" 7750:on October 8, 2016. 7720:"NEO GitHub README" 7708:. February 7, 2018. 7409:on October 22, 2020 7159:on November 1, 2017 6652:on December 6, 2012 5904:on January 18, 2021 5882:. January 21, 2014. 5747:2010CSE....12c..66S 4816:AMD Radeon, Nvidia 4665:64-bit & 32-bit 4620:Conformant products 4490:February 27, 2012: 4426:November 15, 2010: 4391:December 10, 2009: 4323:March 26, 2009: at 4286:before its model 4. 4118:The Apple, Nvidia, 3724:generic programming 1037:The following is a 714:processing elements 588:. OpenCL specifies 488:Filename extensions 402:generic programming 376: 162: 11042:Graphics standards 11037:Graphics libraries 11032:Parallel computing 10750:Massively parallel 10728:distributed shared 10548:Cache invalidation 10512:Instruction window 10303:Manycore processor 10283:Massively parallel 10278:Parallel computing 10259:Parallel computing 9862:Parallel Computing 9724:"Khronos Products" 9576:. October 20, 2009 9454:software.intel.com 9428:software.intel.com 8937:on January 9, 2014 8911:on January 9, 2014 8832:"AMD APP SDK v2.6" 8782:KamathK, Sharath. 8739:"Welcome to Wikis" 7658:. freedesktop.org. 7617:(April 16, 2013). 5788:Parallel Computing 5678:. Morgan Kaufmann. 5216:OpenCL 1.0 support 5189:OpenCL 1.1 support 5127:OpenCL 1.2 support 5048:OpenCL 2.0 support 5008:OpenCL 2.1 support 4989:OpenCL 2.2 support 4874:OpenCL 3.0 support 4492:The Portland Group 4384:October 27, 2009: 4108: 4084: 3920:Nested parallelism 3633:#ifdef cl_khr_fp16 3084:// Real component. 1639:CL_DEVICE_TYPE_GPU 1591:CL_DEVICE_TYPE_GPU 1531:CL_DEVICE_TYPE_GPU 1384: 1354: 1035: 960:C standard library 958:is forbidden. The 614:parallel computing 374: 176:Original author(s) 160: 10994: 10993: 10947:Parallel slowdown 10581:Stream processing 10471:Karp–Flatt metric 10225: 10224: 9989:978-3-642-19860-1 9916:978-1-4799-1010-6 9842:978-1-4577-1336-1 9803:"compute-runtime" 9728:The Khronos Group 9468:"Product Support" 9456:. March 14, 2019. 9404:on August 4, 2011 9360:. August 20, 2019 9358:The Khronos Group 9307:The Khronos Group 9286:. April 12, 2021. 9249:. March 21, 2019. 9247:The Khronos Group 9193:on August 6, 2020 9171:. Intel Software. 9131:. August 26, 2015 9129:Developer.AMD.com 9079:The Khronos Group 8885:on August 1, 2014 8725:developer.ibm.com 8516:on August 9, 2009 8315:. March 16, 2022. 7728:. March 21, 2019. 7074:. April 26, 2020. 7040:The Khronos Group 6966:. April 18, 2016. 6943:"OpenCL Overview" 6604:on March 18, 2012 6486:, August 17, 2019 6382:community.arm.com 6217:releases.llvm.org 6191:releases.llvm.org 6138:978-1-4503-7531-3 4860: 4859: 4820:and Intel Core 2 4707:Microsoft Windows 4645:(supports OpenCL 4601:Adapteva Epiphany 4597:Movidius Myriad 2 1831:CL_MEM_READ_WRITE 1345: 1009:Each invocation ( 954:are omitted, and 944:Function pointers 898:OpenCL C language 691:, which might be 551: 550: 456:Typing discipline 372: 371: 156: 155: 148: 138: 137: 130: 82: 16:(Redirected from 11049: 10983: 10982: 10957:Software lockout 10756:Computer cluster 10691:Vector processor 10646:Array processing 10631:Flynn's taxonomy 10538:Memory coherence 10313:Computer network 10252: 10245: 10238: 10229: 10228: 10087: 10080: 10073: 10064: 10063: 10038: 10037: 10035:Official website 10029: 10028: 10026:Official website 10012: 10011: 10008:www.phoronix.com 10000: 9994: 9993: 9981: 9965: 9959: 9956: 9950: 9949: 9947: 9935: 9929: 9928: 9901:. pp. 1–6. 9894: 9888: 9887: 9877: 9853: 9847: 9846: 9820: 9811: 9810: 9799: 9793: 9792: 9785: 9779: 9778: 9765: 9759: 9758: 9745: 9739: 9738: 9736: 9734: 9720: 9714: 9713: 9711: 9709: 9698: 9692: 9691: 9689: 9687: 9671: 9665: 9664: 9662: 9660: 9644: 9638: 9637: 9635: 9633: 9628:. April 22, 2009 9622: 9616: 9615: 9613: 9611: 9592: 9586: 9585: 9583: 9581: 9564: 9558: 9557: 9555: 9553: 9538: 9532: 9531: 9529: 9527: 9511: 9505: 9504: 9502: 9500: 9495:on July 17, 2011 9491:. Archived from 9485: 9479: 9478: 9476: 9474: 9464: 9458: 9457: 9446: 9440: 9439: 9437: 9435: 9420: 9414: 9413: 9411: 9409: 9390: 9384: 9383: 9376: 9370: 9369: 9367: 9365: 9350: 9344: 9343: 9341: 9339: 9333:www.phoronix.com 9325: 9319: 9318: 9316: 9314: 9299: 9288: 9287: 9280: 9271: 9270: 9257: 9251: 9250: 9239: 9233: 9232: 9224: 9218: 9217: 9209: 9203: 9202: 9200: 9198: 9179: 9173: 9172: 9165: 9159: 9158: 9147: 9141: 9140: 9138: 9136: 9121: 9115: 9114: 9112: 9110: 9105:. April 13, 2015 9104: 9096: 9090: 9089: 9087: 9085: 9071: 9065: 9064: 9062: 9060: 9045: 9039: 9038: 9036: 9034: 9025:. Archived from 9019: 9013: 9012: 9010: 9008: 8997: 8991: 8990: 8988: 8986: 8975: 8969: 8968: 8966: 8964: 8953: 8947: 8946: 8944: 8942: 8927: 8921: 8920: 8918: 8916: 8901: 8895: 8894: 8892: 8890: 8871: 8865: 8864: 8862: 8860: 8850: 8844: 8843: 8841: 8839: 8828: 8822: 8821: 8819: 8817: 8806: 8800: 8799: 8797: 8795: 8779: 8773: 8772: 8770: 8768: 8753: 8747: 8746: 8735: 8729: 8728: 8717: 8711: 8710: 8708: 8706: 8691: 8685: 8684: 8682: 8680: 8669: 8663: 8658: 8652: 8651: 8649: 8647: 8638:. Archived from 8632: 8626: 8625: 8623: 8621: 8610: 8604: 8603: 8601: 8599: 8590:. Archived from 8584: 8578: 8577: 8575: 8573: 8564:. Archived from 8558: 8552: 8551: 8549: 8547: 8538:. Archived from 8532: 8526: 8525: 8523: 8521: 8512:. Archived from 8506: 8500: 8499: 8497: 8495: 8479: 8473: 8472: 8470: 8468: 8457: 8451: 8450: 8448: 8446: 8431: 8425: 8424: 8422: 8420: 8415:on April 5, 2009 8405: 8399: 8398: 8396: 8394: 8389:on April 3, 2014 8379: 8373: 8372: 8370: 8368: 8351: 8345: 8344: 8342: 8340: 8323: 8317: 8316: 8303: 8297: 8296: 8286: 8275: 8269: 8268: 8266: 8264: 8250: 8244: 8243: 8241: 8239: 8234:on July 26, 2020 8233: 8227:. Archived from 8220: 8211: 8205: 8204: 8193: 8187: 8186: 8183:"PoCL home page" 8179: 8173: 8172: 8169:"PoCL home page" 8165: 8159: 8158: 8155:"PoCL home page" 8151: 8145: 8144: 8141:"PoCL home page" 8137: 8131: 8130: 8128: 8119: 8113: 8112: 8110: 8108: 8099:. Archived from 8093: 8087: 8086: 8083:"PoCL home page" 8079: 8073: 8072: 8069:"PoCL home page" 8065: 8059: 8058: 8055:"PoCL home page" 8051: 8045: 8044: 8033: 8027: 8026: 8019: 8013: 8012: 8005:"pocl home page" 8001: 7990: 7989: 7963: 7943: 7937: 7936: 7929: 7923: 7922: 7911: 7905: 7904: 7897: 7891: 7890: 7883: 7877: 7876: 7869: 7863: 7862: 7855: 7849: 7844: 7838: 7837: 7834:www.phoronix.com 7826: 7820: 7819: 7816:www.phoronix.com 7808: 7802: 7801: 7790: 7784: 7783: 7780:www.phoronix.com 7772: 7766: 7765: 7758: 7752: 7751: 7746:. Archived from 7736: 7730: 7729: 7716: 7710: 7709: 7702: 7696: 7695: 7692:www.phoronix.com 7684: 7678: 7677: 7666: 7660: 7659: 7652: 7646: 7645: 7633: 7627: 7626: 7615:Larabel, Michael 7611: 7605: 7604: 7593:Larabel, Michael 7589: 7583: 7582: 7580: 7578: 7564: 7558: 7557: 7555: 7553: 7539: 7533: 7532: 7530: 7528: 7523:. March 13, 2022 7521:Chips and Cheese 7513: 7507: 7506: 7499: 7493: 7492: 7485: 7479: 7478: 7471: 7465: 7464: 7457: 7451: 7450: 7443: 7437: 7436: 7434: 7425: 7419: 7418: 7416: 7414: 7405:. Archived from 7403:www.phoronix.com 7395: 7389: 7388: 7377: 7371: 7370: 7368: 7360: 7354: 7353: 7351: 7349: 7342:"GalliumCompute" 7338: 7332: 7331: 7329: 7327: 7316: 7310: 7309: 7307: 7305: 7295: 7289: 7288: 7286: 7284: 7274: 7268: 7267: 7265: 7263: 7253: 7247: 7246: 7244: 7242: 7232: 7226: 7225: 7219: 7210: 7204: 7203: 7201: 7193: 7187: 7186: 7183:www.phoronix.com 7175: 7169: 7168: 7166: 7164: 7155:. Archived from 7145: 7139: 7138: 7131: 7125: 7124: 7117: 7111: 7110: 7108: 7099: 7093: 7092: 7090: 7082: 7076: 7075: 7068: 7062: 7061: 7058:www.phoronix.com 7050: 7044: 7043: 7032: 7023: 7022: 7011: 7005: 7004: 7002: 7000: 6983: 6974: 6968: 6967: 6956: 6947: 6946: 6939: 6933: 6932: 6930: 6928: 6917: 6911: 6910: 6908: 6906: 6895: 6889: 6888: 6886: 6884: 6873: 6867: 6866: 6864: 6862: 6851: 6845: 6844: 6842: 6840: 6834: 6826: 6815: 6814: 6812: 6810: 6799: 6793: 6792: 6790: 6788: 6783:on March 2, 2016 6779:. Archived from 6773: 6767: 6766: 6764: 6756: 6750: 6749: 6738: 6732: 6731: 6729: 6727: 6716: 6710: 6709: 6707: 6705: 6694: 6688: 6687: 6685: 6683: 6668: 6662: 6661: 6659: 6657: 6642: 6636: 6635: 6633: 6631: 6620: 6614: 6613: 6611: 6609: 6594: 6588: 6587: 6585: 6583: 6572: 6566: 6565: 6563: 6561: 6550: 6544: 6543: 6541: 6539: 6534:on June 20, 2008 6524: 6518: 6517: 6516: 6514: 6501: 6495: 6494: 6493: 6491: 6478: 6469: 6468: 6466: 6464: 6450: 6444: 6443: 6441: 6439: 6425: 6419: 6418: 6416: 6414: 6400: 6394: 6393: 6391: 6389: 6374: 6368: 6367: 6365: 6363: 6358:. September 2020 6348: 6342: 6341: 6339: 6337: 6322: 6309: 6308: 6306: 6304: 6290: 6281: 6280: 6278: 6276: 6261: 6255: 6254: 6252: 6250: 6235: 6229: 6228: 6226: 6224: 6219:. September 2019 6209: 6203: 6202: 6200: 6198: 6193:. September 2019 6183: 6177: 6176: 6175: 6173: 6160: 6151: 6150: 6112: 6106: 6105: 6103: 6094: 6088: 6087: 6085: 6083: 6072: 6066: 6065: 6063: 6061: 6055: 6047: 6041: 6040: 6038: 6036: 6030: 6023: 6015: 6009: 6008: 6006: 6004: 5998: 5991: 5983: 5974: 5973: 5971: 5969: 5964: 5955: 5944: 5943: 5941: 5939: 5925: 5914: 5913: 5911: 5909: 5890: 5884: 5883: 5872: 5866: 5865: 5863: 5861: 5850: 5844: 5843: 5841: 5839: 5828: 5822: 5821: 5803: 5783: 5777: 5776: 5766: 5726: 5713: 5712: 5710: 5708: 5702: 5695: 5686: 5680: 5679: 5667: 5658: 5657: 5655: 5653: 5647: 5638: 5632: 5631: 5629: 5627: 5611: 5605: 5604: 5602: 5600: 5589: 5583: 5582: 5580: 5578: 5567: 5561: 5560: 5558: 5556: 5550: 5543: 5534: 5528: 5527: 5525: 5523: 5517: 5508: 5502: 5501: 5499: 5497: 5486: 5471: 5470: 5468: 5466: 5455: 5449: 5448: 5446: 5444: 5429: 5423: 5422: 5415: 5268:Machine learning 5251:Delft University 4701:4.1, SSE 4.2 or 4631: 4630: 4428:Wolfram Research 4105: 3821:Stream framework 3712: 3709: 3706: 3703: 3700: 3697: 3694: 3691: 3688: 3685: 3682: 3679: 3676: 3673: 3670: 3667: 3664: 3661: 3658: 3655: 3652: 3649: 3646: 3643: 3640: 3637: 3634: 3631: 3628: 3625: 3622: 3619: 3616: 3613: 3610: 3607: 3604: 3601: 3598: 3595: 3592: 3589: 3586: 3583: 3580: 3577: 3574: 3571: 3568: 3565: 3562: 3559: 3556: 3553: 3550: 3547: 3544: 3541: 3538: 3535: 3532: 3529: 3526: 3523: 3520: 3517: 3514: 3511: 3508: 3505: 3502: 3499: 3496: 3493: 3490: 3487: 3484: 3481: 3478: 3475: 3472: 3469: 3466: 3463: 3460: 3457: 3454: 3451: 3448: 3445: 3442: 3439: 3436: 3433: 3430: 3427: 3424: 3421: 3418: 3415: 3412: 3409: 3406: 3403: 3400: 3397: 3394: 3391: 3388: 3385: 3382: 3379: 3376: 3373: 3370: 3367: 3364: 3361: 3358: 3355: 3352: 3349: 3346: 3343: 3340: 3337: 3334: 3331: 3328: 3325: 3322: 3319: 3316: 3313: 3310: 3307: 3304: 3301: 3298: 3295: 3292: 3289: 3286: 3283: 3280: 3277: 3274: 3271: 3268: 3265: 3262: 3259: 3256: 3253: 3250: 3247: 3244: 3241: 3238: 3235: 3232: 3229: 3226: 3223: 3220: 3217: 3214: 3211: 3208: 3205: 3202: 3199: 3196: 3193: 3190: 3187: 3184: 3181: 3178: 3175: 3172: 3169: 3166: 3163: 3160: 3157: 3154: 3151: 3148: 3145: 3142: 3139: 3136: 3133: 3130: 3127: 3124: 3121: 3118: 3115: 3112: 3109: 3106: 3103: 3100: 3097: 3094: 3091: 3088: 3085: 3082: 3079: 3076: 3073: 3070: 3067: 3064: 3061: 3058: 3055: 3052: 3049: 3046: 3023: 3019: 3015: 3011: 2970: 2967: 2964: 2961: 2958: 2955: 2952: 2949: 2946: 2943: 2940: 2937: 2934: 2931: 2928: 2925: 2922: 2919: 2916: 2913: 2910: 2907: 2904: 2901: 2898: 2895: 2892: 2889: 2886: 2883: 2880: 2877: 2874: 2871: 2868: 2865: 2862: 2859: 2856: 2853: 2850: 2847: 2844: 2841: 2838: 2835: 2832: 2829: 2826: 2823: 2820: 2817: 2814: 2811: 2808: 2805: 2802: 2799: 2796: 2793: 2790: 2787: 2784: 2781: 2778: 2775: 2772: 2769: 2766: 2763: 2760: 2757: 2754: 2751: 2750:twiddleFactorMul 2748: 2745: 2742: 2739: 2736: 2733: 2730: 2727: 2724: 2721: 2718: 2715: 2712: 2709: 2706: 2703: 2700: 2697: 2694: 2691: 2688: 2685: 2682: 2679: 2676: 2673: 2670: 2667: 2664: 2661: 2658: 2655: 2652: 2649: 2646: 2643: 2640: 2637: 2634: 2631: 2630:twiddleFactorMul 2628: 2625: 2622: 2619: 2616: 2613: 2610: 2607: 2604: 2601: 2598: 2595: 2592: 2589: 2586: 2583: 2580: 2577: 2574: 2571: 2568: 2565: 2562: 2559: 2556: 2553: 2550: 2547: 2544: 2541: 2538: 2535: 2532: 2529: 2526: 2523: 2520: 2517: 2514: 2511: 2508: 2505: 2502: 2499: 2496: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2469: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2412: 2409: 2406: 2403: 2400: 2397: 2387: 2384: 2381: 2378: 2375: 2372: 2369: 2366: 2363: 2360: 2357: 2356:global_work_size 2354: 2351: 2348: 2345: 2342: 2339: 2336: 2333: 2330: 2327: 2324: 2321: 2318: 2315: 2312: 2309: 2306: 2303: 2300: 2299:global_work_size 2297: 2294: 2291: 2288: 2285: 2284:global_work_size 2282: 2279: 2276: 2273: 2270: 2267: 2264: 2261: 2258: 2255: 2252: 2249: 2246: 2243: 2240: 2237: 2234: 2231: 2228: 2225: 2222: 2219: 2216: 2213: 2210: 2207: 2204: 2201: 2198: 2195: 2192: 2189: 2186: 2183: 2180: 2177: 2174: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2129: 2126: 2123: 2120: 2117: 2114: 2111: 2108: 2105: 2102: 2099: 2096: 2093: 2090: 2087: 2084: 2081: 2078: 2075: 2072: 2069: 2066: 2063: 2060: 2057: 2054: 2051: 2048: 2045: 2042: 2039: 2036: 2033: 2030: 2027: 2024: 2021: 2018: 2015: 2012: 2009: 2006: 2003: 2000: 1997: 1994: 1991: 1988: 1985: 1982: 1979: 1976: 1973: 1970: 1967: 1964: 1961: 1958: 1955: 1952: 1949: 1946: 1943: 1940: 1937: 1934: 1931: 1928: 1925: 1922: 1919: 1916: 1913: 1910: 1907: 1904: 1901: 1898: 1895: 1892: 1889: 1886: 1883: 1880: 1877: 1874: 1871: 1868: 1865: 1862: 1859: 1856: 1853: 1850: 1847: 1844: 1841: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1790: 1787: 1784: 1781: 1778: 1775: 1772: 1769: 1768:CL_MEM_READ_ONLY 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1702:cl_command_queue 1700: 1697: 1694: 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1407: 1403: 1393: 1391: 1390: 1385: 1380: 1379: 1370: 1369: 1353: 1335: 1334: 1316: 1315: 1297: 1293: 1285: 1278: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1155: 1152: 1149: 1146: 1143: 1140: 1137: 1134: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1032: 1028: 1024: 1020: 1016: 980: 976: 972: 937: 933: 929: 925: 921: 917: 908:memory hierarchy 850: 839: 832: 825: 816:memory hierarchy 810:Memory hierarchy 510: 507: 505: 503: 445: 443: 438: 377: 373: 368: 365: 363: 361: 359: 269:Operating system 243: 241: 236: 232: 212: 210: 205: 170: 163: 159: 151: 144: 133: 126: 122: 119: 113: 93: 92: 85: 74: 52: 51: 44: 21: 11057: 11056: 11052: 11051: 11050: 11048: 11047: 11046: 11027:GPGPU libraries 10997: 10996: 10995: 10990: 10971: 10915: 10821:Coarray Fortran 10777: 10761:Beowulf cluster 10617: 10567: 10558:Synchronization 10543:Cache coherence 10533:Multiprocessing 10521: 10485: 10466:Cost efficiency 10461:Gustafson's law 10429: 10373: 10322: 10298:Multiprocessing 10288:Cloud computing 10261: 10256: 10226: 10221: 10158: 10097: 10091: 10053:Wayback Machine 10033: 10032: 10024: 10023: 10020: 10015: 10002: 10001: 9997: 9990: 9966: 9962: 9957: 9953: 9936: 9932: 9917: 9895: 9891: 9875:10.1.1.193.7712 9854: 9850: 9843: 9821: 9814: 9801: 9800: 9796: 9787: 9786: 9782: 9767: 9766: 9762: 9747: 9746: 9742: 9732: 9730: 9722: 9721: 9717: 9707: 9705: 9704:. April 2, 2013 9700: 9699: 9695: 9685: 9683: 9673: 9672: 9668: 9658: 9656: 9646: 9645: 9641: 9631: 9629: 9624: 9623: 9619: 9609: 9607: 9594: 9593: 9589: 9579: 9577: 9566: 9565: 9561: 9551: 9549: 9540: 9539: 9535: 9525: 9523: 9513: 9512: 9508: 9498: 9496: 9487: 9486: 9482: 9472: 9470: 9466: 9465: 9461: 9448: 9447: 9443: 9433: 9431: 9422: 9421: 9417: 9407: 9405: 9392: 9391: 9387: 9378: 9377: 9373: 9363: 9361: 9352: 9351: 9347: 9337: 9335: 9327: 9326: 9322: 9312: 9310: 9301: 9300: 9291: 9282: 9281: 9274: 9259: 9258: 9254: 9241: 9240: 9236: 9225: 9221: 9210: 9206: 9196: 9194: 9181: 9180: 9176: 9167: 9166: 9162: 9149: 9148: 9144: 9134: 9132: 9123: 9122: 9118: 9108: 9106: 9102: 9098: 9097: 9093: 9083: 9081: 9073: 9072: 9068: 9058: 9056: 9055:. June 17, 2015 9053:Support.AMD.com 9047: 9046: 9042: 9032: 9030: 9021: 9020: 9016: 9006: 9004: 8999: 8998: 8994: 8984: 8982: 8977: 8976: 8972: 8962: 8960: 8955: 8954: 8950: 8940: 8938: 8929: 8928: 8924: 8914: 8912: 8903: 8902: 8898: 8888: 8886: 8873: 8872: 8868: 8858: 8856: 8852: 8851: 8847: 8837: 8835: 8830: 8829: 8825: 8815: 8813: 8808: 8807: 8803: 8793: 8791: 8780: 8776: 8766: 8764: 8755: 8754: 8750: 8737: 8736: 8732: 8721:"IBM Developer" 8719: 8718: 8714: 8704: 8702: 8701:on July 9, 2015 8693: 8692: 8688: 8678: 8676: 8675:. Khronos Group 8671: 8670: 8666: 8659: 8655: 8645: 8643: 8634: 8633: 8629: 8619: 8617: 8612: 8611: 8607: 8597: 8595: 8586: 8585: 8581: 8571: 8569: 8560: 8559: 8555: 8545: 8543: 8534: 8533: 8529: 8519: 8517: 8508: 8507: 8503: 8493: 8491: 8480: 8476: 8466: 8464: 8459: 8458: 8454: 8444: 8442: 8433: 8432: 8428: 8418: 8416: 8407: 8406: 8402: 8392: 8390: 8381: 8380: 8376: 8366: 8364: 8353: 8352: 8348: 8338: 8336: 8325: 8324: 8320: 8305: 8304: 8300: 8284: 8276: 8272: 8262: 8260: 8254:"zuzuf/freeocl" 8252: 8251: 8247: 8237: 8235: 8231: 8218: 8212: 8208: 8195: 8194: 8190: 8181: 8180: 8176: 8167: 8166: 8162: 8153: 8152: 8148: 8139: 8138: 8134: 8126: 8120: 8116: 8106: 8104: 8095: 8094: 8090: 8081: 8080: 8076: 8067: 8066: 8062: 8053: 8052: 8048: 8035: 8034: 8030: 8021: 8020: 8016: 8003: 8002: 7993: 7944: 7940: 7931: 7930: 7926: 7913: 7912: 7908: 7899: 7898: 7894: 7885: 7884: 7880: 7871: 7870: 7866: 7857: 7856: 7852: 7845: 7841: 7828: 7827: 7823: 7810: 7809: 7805: 7792: 7791: 7787: 7774: 7773: 7769: 7760: 7759: 7755: 7738: 7737: 7733: 7718: 7717: 7713: 7704: 7703: 7699: 7686: 7685: 7681: 7668: 7667: 7663: 7654: 7653: 7649: 7634: 7630: 7612: 7608: 7590: 7586: 7576: 7574: 7566: 7565: 7561: 7551: 7549: 7541: 7540: 7536: 7526: 7524: 7515: 7514: 7510: 7501: 7500: 7496: 7487: 7486: 7482: 7473: 7472: 7468: 7459: 7458: 7454: 7445: 7444: 7440: 7432: 7426: 7422: 7412: 7410: 7397: 7396: 7392: 7379: 7378: 7374: 7366: 7362: 7361: 7357: 7347: 7345: 7340: 7339: 7335: 7325: 7323: 7322:. February 2009 7318: 7317: 7313: 7303: 7301: 7297: 7296: 7292: 7282: 7280: 7276: 7275: 7271: 7261: 7259: 7255: 7254: 7250: 7240: 7238: 7234: 7233: 7229: 7217: 7211: 7207: 7199: 7195: 7194: 7190: 7177: 7176: 7172: 7162: 7160: 7147: 7146: 7142: 7133: 7132: 7128: 7119: 7118: 7114: 7106: 7100: 7096: 7088: 7084: 7083: 7079: 7070: 7069: 7065: 7052: 7051: 7047: 7042:. May 14, 2018. 7034: 7033: 7026: 7021:. May 16, 2017. 7013: 7012: 7008: 6998: 6996: 6981: 6975: 6971: 6958: 6957: 6950: 6941: 6940: 6936: 6926: 6924: 6919: 6918: 6914: 6904: 6902: 6897: 6896: 6892: 6882: 6880: 6875: 6874: 6870: 6860: 6858: 6853: 6852: 6848: 6838: 6836: 6835:. Khronos Group 6832: 6828: 6827: 6818: 6808: 6806: 6801: 6800: 6796: 6786: 6784: 6775: 6774: 6770: 6762: 6758: 6757: 6753: 6740: 6739: 6735: 6725: 6723: 6718: 6717: 6713: 6703: 6701: 6696: 6695: 6691: 6681: 6679: 6670: 6669: 6665: 6655: 6653: 6644: 6643: 6639: 6629: 6627: 6622: 6621: 6617: 6607: 6605: 6596: 6595: 6591: 6581: 6579: 6574: 6573: 6569: 6559: 6557: 6552: 6551: 6547: 6537: 6535: 6526: 6525: 6521: 6512: 6510: 6502: 6498: 6489: 6487: 6480: 6479: 6472: 6462: 6460: 6452: 6451: 6447: 6437: 6435: 6427: 6426: 6422: 6412: 6410: 6402: 6401: 6397: 6387: 6385: 6384:. December 2020 6376: 6375: 6371: 6361: 6359: 6356:www.khronos.org 6350: 6349: 6345: 6335: 6333: 6324: 6323: 6312: 6302: 6300: 6298:www.khronos.org 6292: 6291: 6284: 6274: 6272: 6271:. December 2021 6263: 6262: 6258: 6248: 6246: 6245:. December 2020 6237: 6236: 6232: 6222: 6220: 6211: 6210: 6206: 6196: 6194: 6185: 6184: 6180: 6171: 6169: 6162: 6161: 6154: 6139: 6113: 6109: 6101: 6095: 6091: 6081: 6079: 6074: 6073: 6069: 6059: 6057: 6053: 6049: 6048: 6044: 6034: 6032: 6028: 6021: 6017: 6016: 6012: 6002: 6000: 5999:on May 16, 2011 5996: 5989: 5985: 5984: 5977: 5967: 5965: 5962: 5956: 5947: 5937: 5935: 5927: 5926: 5917: 5907: 5905: 5892: 5891: 5887: 5874: 5873: 5869: 5859: 5857: 5852: 5851: 5847: 5837: 5835: 5830: 5829: 5825: 5784: 5780: 5727: 5716: 5706: 5704: 5703:on July 6, 2015 5700: 5693: 5687: 5683: 5672:Kaeli, David R. 5668: 5661: 5651: 5649: 5645: 5639: 5635: 5625: 5623: 5612: 5608: 5598: 5596: 5595:. Khronos Group 5591: 5590: 5586: 5576: 5574: 5569: 5568: 5564: 5554: 5552: 5548: 5541: 5535: 5531: 5521: 5519: 5515: 5509: 5505: 5495: 5493: 5492:. Khronos Group 5488: 5487: 5474: 5464: 5462: 5457: 5456: 5452: 5442: 5440: 5431: 5430: 5426: 5417: 5416: 5412: 5408: 5403: 5284: 5232:execution model 5228: 5218: 5191: 5129: 5050: 5010: 4991: 4876: 4868: 4866:Version support 4622: 4613: 4577: 4437:March 3, 2011: 4298: 4293: 4240:). Building on 4196:Michael Larabel 4103: 4097: 4072: 4046: 4006: 3954: 3911: 3870: 3842: 3811:open standard. 3800: 3760: 3751: 3719: 3714: 3713: 3710: 3707: 3704: 3701: 3698: 3695: 3692: 3689: 3686: 3683: 3680: 3677: 3674: 3671: 3668: 3665: 3662: 3659: 3656: 3653: 3650: 3647: 3644: 3641: 3638: 3635: 3632: 3629: 3626: 3623: 3620: 3617: 3614: 3611: 3608: 3605: 3602: 3599: 3596: 3593: 3590: 3587: 3584: 3581: 3578: 3575: 3572: 3569: 3566: 3563: 3560: 3557: 3554: 3551: 3548: 3545: 3542: 3539: 3536: 3533: 3530: 3527: 3524: 3521: 3518: 3515: 3512: 3509: 3506: 3503: 3500: 3497: 3494: 3491: 3488: 3485: 3482: 3479: 3476: 3473: 3470: 3467: 3464: 3461: 3458: 3455: 3452: 3449: 3446: 3443: 3440: 3437: 3434: 3431: 3428: 3425: 3422: 3419: 3416: 3413: 3410: 3407: 3404: 3401: 3398: 3395: 3392: 3389: 3386: 3383: 3380: 3377: 3374: 3371: 3368: 3365: 3362: 3359: 3356: 3353: 3350: 3347: 3344: 3341: 3338: 3335: 3332: 3329: 3326: 3323: 3320: 3317: 3314: 3311: 3308: 3305: 3302: 3299: 3296: 3293: 3290: 3287: 3284: 3281: 3278: 3275: 3272: 3269: 3266: 3263: 3260: 3257: 3254: 3251: 3248: 3245: 3242: 3239: 3236: 3233: 3230: 3227: 3224: 3221: 3218: 3215: 3212: 3209: 3206: 3203: 3200: 3197: 3194: 3191: 3188: 3185: 3182: 3179: 3176: 3173: 3170: 3167: 3164: 3161: 3158: 3155: 3152: 3149: 3146: 3143: 3140: 3137: 3134: 3131: 3128: 3125: 3122: 3119: 3116: 3113: 3110: 3107: 3104: 3101: 3098: 3095: 3092: 3089: 3086: 3083: 3080: 3077: 3074: 3071: 3068: 3065: 3062: 3059: 3056: 3053: 3050: 3047: 3044: 3034: 3021: 3017: 3013: 3009: 3005: 2980: 2972: 2971: 2968: 2965: 2962: 2959: 2956: 2953: 2950: 2947: 2944: 2941: 2938: 2935: 2932: 2929: 2926: 2923: 2920: 2917: 2914: 2911: 2908: 2905: 2902: 2899: 2896: 2893: 2890: 2887: 2884: 2881: 2878: 2875: 2872: 2869: 2866: 2863: 2860: 2857: 2854: 2851: 2848: 2845: 2842: 2839: 2836: 2833: 2830: 2827: 2824: 2821: 2818: 2815: 2812: 2809: 2806: 2803: 2800: 2797: 2794: 2791: 2788: 2785: 2782: 2779: 2776: 2773: 2770: 2767: 2764: 2761: 2758: 2755: 2752: 2749: 2746: 2743: 2740: 2737: 2734: 2731: 2728: 2725: 2722: 2719: 2716: 2713: 2710: 2707: 2704: 2701: 2698: 2695: 2692: 2689: 2686: 2683: 2680: 2677: 2674: 2671: 2668: 2665: 2662: 2659: 2656: 2653: 2650: 2647: 2644: 2641: 2638: 2635: 2632: 2629: 2626: 2623: 2620: 2617: 2614: 2611: 2608: 2605: 2602: 2599: 2596: 2593: 2590: 2587: 2584: 2581: 2578: 2575: 2572: 2569: 2566: 2563: 2560: 2557: 2554: 2551: 2548: 2545: 2542: 2539: 2536: 2533: 2530: 2527: 2524: 2521: 2518: 2515: 2512: 2509: 2506: 2503: 2500: 2497: 2494: 2491: 2488: 2485: 2482: 2479: 2476: 2473: 2470: 2467: 2464: 2461: 2458: 2455: 2452: 2449: 2446: 2443: 2440: 2437: 2434: 2431: 2428: 2425: 2422: 2419: 2416: 2413: 2410: 2407: 2404: 2401: 2398: 2395: 2389: 2388: 2385: 2382: 2379: 2376: 2373: 2370: 2367: 2364: 2362:local_work_size 2361: 2358: 2355: 2352: 2349: 2346: 2343: 2340: 2337: 2334: 2331: 2328: 2325: 2322: 2319: 2316: 2313: 2311:local_work_size 2310: 2307: 2304: 2301: 2298: 2295: 2292: 2289: 2286: 2283: 2280: 2277: 2274: 2271: 2268: 2265: 2262: 2259: 2256: 2253: 2251:local_work_size 2250: 2247: 2244: 2241: 2238: 2235: 2232: 2229: 2226: 2223: 2220: 2217: 2214: 2211: 2208: 2205: 2202: 2199: 2196: 2193: 2190: 2188:local_work_size 2187: 2184: 2181: 2178: 2175: 2172: 2169: 2166: 2163: 2160: 2157: 2154: 2151: 2148: 2145: 2142: 2139: 2136: 2133: 2130: 2127: 2124: 2121: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2049: 2046: 2043: 2040: 2037: 2035:local_work_size 2034: 2031: 2028: 2025: 2022: 2019: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1986: 1983: 1980: 1977: 1974: 1971: 1968: 1965: 1962: 1959: 1956: 1953: 1950: 1947: 1944: 1941: 1938: 1935: 1932: 1929: 1926: 1923: 1920: 1917: 1914: 1911: 1908: 1905: 1902: 1899: 1896: 1893: 1890: 1887: 1884: 1881: 1878: 1875: 1872: 1869: 1866: 1863: 1860: 1857: 1854: 1851: 1848: 1845: 1842: 1839: 1836: 1833: 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1797: 1794: 1791: 1788: 1785: 1782: 1779: 1776: 1773: 1770: 1767: 1764: 1761: 1758: 1755: 1752: 1749: 1746: 1743: 1740: 1737: 1734: 1731: 1728: 1725: 1722: 1719: 1716: 1713: 1710: 1707: 1704: 1701: 1698: 1695: 1692: 1689: 1686: 1683: 1680: 1677: 1674: 1671: 1668: 1665: 1662: 1659: 1656: 1653: 1650: 1647: 1644: 1641: 1638: 1635: 1632: 1629: 1626: 1623: 1620: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1575: 1572: 1569: 1566: 1563: 1560: 1557: 1554: 1551: 1548: 1545: 1542: 1539: 1536: 1533: 1530: 1527: 1524: 1521: 1518: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1440: 1437: 1434: 1432:<stdio.h> 1431: 1428: 1414: 1405: 1401: 1375: 1371: 1359: 1355: 1349: 1324: 1320: 1311: 1307: 1305: 1302: 1301: 1295: 1291: 1283: 1280: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195: 1192: 1189: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1162: 1159: 1156: 1153: 1150: 1147: 1144: 1141: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1030: 1026: 1022: 1018: 1014: 1003: 978: 974: 970: 935: 931: 927: 923: 919: 915: 900: 884:compute kernels 880: 861:synchronization 848: 837: 830: 823: 812: 701:C-like language 689:compute devices 685: 610:compute devices 517:implementations 500: 446: 441: 439: 436: 398:object-oriented 356: 244: 239: 237: 234: 208: 206: 203: 199:Initial release 152: 141: 140: 139: 134: 123: 117: 114: 106:help improve it 103: 94: 90: 53: 49: 42: 35: 28: 23: 22: 15: 12: 11: 5: 11055: 11045: 11044: 11039: 11034: 11029: 11024: 11019: 11014: 11009: 10992: 10991: 10989: 10988: 10976: 10973: 10972: 10970: 10969: 10964: 10959: 10954: 10952:Race condition 10949: 10944: 10939: 10934: 10929: 10923: 10921: 10917: 10916: 10914: 10913: 10908: 10903: 10898: 10893: 10888: 10883: 10878: 10873: 10868: 10863: 10858: 10853: 10848: 10843: 10838: 10833: 10828: 10823: 10818: 10813: 10808: 10803: 10798: 10793: 10787: 10785: 10779: 10778: 10776: 10775: 10770: 10765: 10764: 10763: 10753: 10747: 10746: 10745: 10740: 10735: 10730: 10725: 10720: 10710: 10709: 10708: 10703: 10696:Multiprocessor 10693: 10688: 10683: 10678: 10673: 10672: 10671: 10666: 10661: 10660: 10659: 10654: 10649: 10638: 10627: 10625: 10619: 10618: 10616: 10615: 10610: 10609: 10608: 10603: 10598: 10588: 10583: 10577: 10575: 10569: 10568: 10566: 10565: 10560: 10555: 10550: 10545: 10540: 10535: 10529: 10527: 10523: 10522: 10520: 10519: 10514: 10509: 10504: 10499: 10493: 10491: 10487: 10486: 10484: 10483: 10478: 10473: 10468: 10463: 10458: 10453: 10448: 10443: 10437: 10435: 10431: 10430: 10428: 10427: 10425:Hardware scout 10422: 10416: 10411: 10406: 10400: 10395: 10389: 10383: 10381: 10379:Multithreading 10375: 10374: 10372: 10371: 10366: 10361: 10356: 10351: 10346: 10341: 10336: 10330: 10328: 10324: 10323: 10321: 10320: 10318:Systolic array 10315: 10310: 10305: 10300: 10295: 10290: 10285: 10280: 10275: 10269: 10267: 10263: 10262: 10255: 10254: 10247: 10240: 10232: 10223: 10222: 10220: 10219: 10214: 10209: 10204: 10199: 10194: 10193: 10192: 10187: 10182: 10172: 10166: 10164: 10160: 10159: 10157: 10156: 10151: 10146: 10141: 10136: 10131: 10126: 10121: 10116: 10111: 10105: 10103: 10099: 10098: 10090: 10089: 10082: 10075: 10067: 10061: 10060: 10043: 10030: 10019: 10018:External links 10016: 10014: 10013: 9995: 9988: 9960: 9951: 9930: 9915: 9889: 9868:(8): 391–407. 9858:Dongarra, Jack 9848: 9841: 9812: 9794: 9780: 9760: 9740: 9715: 9693: 9666: 9639: 9617: 9587: 9559: 9533: 9506: 9480: 9459: 9441: 9415: 9385: 9371: 9345: 9320: 9289: 9272: 9252: 9234: 9219: 9204: 9174: 9160: 9142: 9116: 9091: 9066: 9040: 9014: 8992: 8970: 8948: 8922: 8896: 8866: 8845: 8823: 8801: 8774: 8748: 8730: 8712: 8686: 8664: 8653: 8627: 8605: 8579: 8553: 8527: 8501: 8474: 8452: 8426: 8400: 8374: 8346: 8318: 8298: 8270: 8245: 8206: 8201:Git.Linaro.org 8188: 8174: 8160: 8146: 8132: 8114: 8088: 8074: 8060: 8046: 8041:portablecl.org 8028: 8014: 7991: 7954:(5): 752–785. 7938: 7924: 7906: 7892: 7878: 7864: 7850: 7839: 7821: 7803: 7785: 7767: 7753: 7731: 7711: 7697: 7679: 7661: 7647: 7628: 7606: 7584: 7559: 7534: 7508: 7494: 7480: 7466: 7452: 7438: 7420: 7390: 7372: 7355: 7333: 7311: 7290: 7269: 7248: 7227: 7205: 7188: 7170: 7140: 7126: 7112: 7094: 7077: 7063: 7045: 7024: 7006: 6969: 6948: 6934: 6912: 6890: 6868: 6846: 6816: 6794: 6768: 6751: 6733: 6711: 6689: 6663: 6637: 6615: 6589: 6567: 6545: 6519: 6496: 6470: 6445: 6420: 6408:clang.llvm.org 6395: 6369: 6343: 6310: 6282: 6256: 6230: 6204: 6178: 6152: 6137: 6107: 6089: 6067: 6042: 6010: 5975: 5945: 5915: 5885: 5867: 5845: 5834:. metacpan.org 5823: 5794:(3): 157–174. 5778: 5714: 5681: 5659: 5633: 5606: 5584: 5562: 5529: 5503: 5472: 5450: 5424: 5409: 5407: 5404: 5402: 5401: 5396: 5391: 5386: 5381: 5376: 5371: 5366: 5361: 5356: 5351: 5346: 5341: 5336: 5331: 5326: 5321: 5316: 5311: 5309:Close to Metal 5306: 5301: 5296: 5294:AMD FireStream 5291: 5285: 5283: 5280: 5227: 5224: 5223: 5222: 5217: 5214: 5213: 5212: 5209: 5206: 5195: 5190: 5187: 5186: 5185: 5178: 5171: 5168: 5157: 5154: 5139: 5136: 5128: 5125: 5124: 5123: 5100: 5097: 5094: 5091: 5088: 5077: 5054: 5049: 5046: 5045: 5044: 5041: 5022: 5009: 5006: 5005: 5004: 5001: 4990: 4987: 4986: 4985: 4978: 4971: 4968: 4963:(2022) Nvidia 4961: 4940:(2021) Nvidia 4938: 4931: 4924: 4921: 4910: 4883: 4875: 4872: 4867: 4864: 4858: 4857: 4854: 4851: 4848: 4839: 4832: 4831: 4824: 4814: 4804: 4794: 4783: 4782: 4779: 4776: 4773: 4760: 4746: 4745: 4739: 4730: 4713: 4692: 4685: 4684: 4681: 4674: 4668: 4654: 4639: 4638: 4621: 4618: 4612: 4609: 4591:instructions, 4576: 4573: 4572: 4571: 4568: 4565: 4562: 4559: 4556: 4553: 4550: 4547: 4544: 4541: 4538: 4535: 4532: 4529: 4526: 4523: 4520: 4517: 4514: 4511: 4508: 4505: 4502: 4499: 4488: 4485: 4478: 4475: 4468: 4465: 4462: 4455:multi-core CPU 4435: 4424: 4417: 4414: 4409:June 1, 2010: 4407: 4396: 4389: 4382: 4379: 4364: 4361: 4354: 4347: 4340: 4321: 4314: 4307: 4297: 4294: 4292: 4289: 4288: 4287: 4276: 4273: 4269: 4266: 4263: 4260: 4257: 4254: 4230: 4227: 4216: 4213: 4206: 4203: 4184: 4181: 4167: 4159: 4143: 4096: 4093: 4071: 4068: 4045: 4042: 4041: 4040: 4037: 4033: 4029: 4025: 4018: 4005: 4002: 3994: 3993: 3990: 3987: 3984: 3981: 3978: 3953: 3950: 3949: 3948: 3945: 3942: 3936: 3933: 3927: 3924: 3921: 3918: 3910: 3907: 3906: 3905: 3897: 3890: 3886: 3882: 3879: 3869: 3866: 3865: 3864: 3861: 3858: 3855: 3852: 3849: 3841: 3838: 3817:Close to Metal 3799: 3796: 3766:, which holds 3759: 3756: 3750: 3747: 3718: 3715: 3690:compute_helper 3612:compute_helper 3357:compute_helper 3043: 3038:complex-number 3033: 3030: 3026:address spaces 3004: 3001: 2979: 2976: 2735:fftRadix16Pass 2615:fftRadix16Pass 2394: 2215:clSetKernelArg 2152:clSetKernelArg 2101:clSetKernelArg 2050:clSetKernelArg 2005:clCreateKernel 1951:clBuildProgram 1819:clCreateBuffer 1756:clCreateBuffer 1666:clGetDeviceIDs 1579:clGetDeviceIDs 1519:clGetDeviceIDs 1438:<time.h> 1427: 1413: 1410: 1383: 1378: 1374: 1368: 1365: 1362: 1358: 1352: 1348: 1344: 1341: 1338: 1333: 1330: 1327: 1323: 1319: 1314: 1310: 1044: 1002: 999: 902:OpenCL C is a 899: 896: 879: 876: 853: 852: 841: 834: 827: 811: 808: 798:based on pure 786:More recently 766:implementation 684: 681: 549: 548: 530: 529: 525: 524: 520: 519: 512: 511: 498: 494: 493: 490: 484: 483: 480: 476: 475: 458: 452: 451: 448: 447: 427: 425: 423:Stable release 419: 418: 415: 414: 409: 405: 404: 383: 370: 369: 354: 350: 349: 346: 340: 339: 331: 325: 324: 299: 293: 292: 271: 265: 264: 254: 250: 249: 246: 245: 233:/ 5 April 2024 226: 224: 222:Stable release 218: 217: 214: 213: 200: 196: 195: 190: 184: 183: 178: 172: 171: 154: 153: 136: 135: 97: 95: 88: 83: 57: 56: 54: 47: 26: 9: 6: 4: 3: 2: 11054: 11043: 11040: 11038: 11035: 11033: 11030: 11028: 11025: 11023: 11020: 11018: 11015: 11013: 11010: 11008: 11007:2009 software 11005: 11004: 11002: 10987: 10978: 10977: 10974: 10968: 10965: 10963: 10960: 10958: 10955: 10953: 10950: 10948: 10945: 10943: 10940: 10938: 10935: 10933: 10930: 10928: 10925: 10924: 10922: 10918: 10912: 10909: 10907: 10904: 10902: 10899: 10897: 10894: 10892: 10889: 10887: 10884: 10882: 10879: 10877: 10874: 10872: 10869: 10867: 10864: 10862: 10859: 10857: 10854: 10852: 10849: 10847: 10844: 10842: 10841:Global Arrays 10839: 10837: 10834: 10832: 10829: 10827: 10824: 10822: 10819: 10817: 10814: 10812: 10809: 10807: 10804: 10802: 10799: 10797: 10794: 10792: 10789: 10788: 10786: 10784: 10780: 10774: 10771: 10769: 10768:Grid computer 10766: 10762: 10759: 10758: 10757: 10754: 10751: 10748: 10744: 10741: 10739: 10736: 10734: 10731: 10729: 10726: 10724: 10721: 10719: 10716: 10715: 10714: 10711: 10707: 10704: 10702: 10699: 10698: 10697: 10694: 10692: 10689: 10687: 10684: 10682: 10679: 10677: 10674: 10670: 10667: 10665: 10662: 10658: 10655: 10653: 10650: 10647: 10644: 10643: 10642: 10639: 10637: 10634: 10633: 10632: 10629: 10628: 10626: 10624: 10620: 10614: 10611: 10607: 10604: 10602: 10599: 10597: 10594: 10593: 10592: 10589: 10587: 10584: 10582: 10579: 10578: 10576: 10574: 10570: 10564: 10561: 10559: 10556: 10554: 10551: 10549: 10546: 10544: 10541: 10539: 10536: 10534: 10531: 10530: 10528: 10524: 10518: 10515: 10513: 10510: 10508: 10505: 10503: 10500: 10498: 10495: 10494: 10492: 10488: 10482: 10479: 10477: 10474: 10472: 10469: 10467: 10464: 10462: 10459: 10457: 10454: 10452: 10449: 10447: 10444: 10442: 10439: 10438: 10436: 10432: 10426: 10423: 10420: 10417: 10415: 10412: 10410: 10407: 10404: 10401: 10399: 10396: 10393: 10390: 10388: 10385: 10384: 10382: 10380: 10376: 10370: 10367: 10365: 10362: 10360: 10357: 10355: 10352: 10350: 10347: 10345: 10342: 10340: 10337: 10335: 10332: 10331: 10329: 10325: 10319: 10316: 10314: 10311: 10309: 10306: 10304: 10301: 10299: 10296: 10294: 10291: 10289: 10286: 10284: 10281: 10279: 10276: 10274: 10271: 10270: 10268: 10264: 10260: 10253: 10248: 10246: 10241: 10239: 10234: 10233: 10230: 10218: 10215: 10213: 10210: 10208: 10205: 10203: 10200: 10198: 10195: 10191: 10188: 10186: 10183: 10181: 10178: 10177: 10176: 10173: 10171: 10168: 10167: 10165: 10161: 10155: 10152: 10150: 10147: 10145: 10142: 10140: 10137: 10135: 10132: 10130: 10127: 10125: 10122: 10120: 10117: 10115: 10112: 10110: 10107: 10106: 10104: 10100: 10095: 10094:Khronos Group 10088: 10083: 10081: 10076: 10074: 10069: 10068: 10065: 10058: 10054: 10050: 10047: 10044: 10042: 10036: 10031: 10027: 10022: 10021: 10009: 10005: 9999: 9991: 9985: 9980: 9975: 9971: 9964: 9955: 9946: 9941: 9934: 9926: 9922: 9918: 9912: 9908: 9904: 9900: 9893: 9885: 9881: 9876: 9871: 9867: 9863: 9859: 9852: 9844: 9838: 9834: 9830: 9826: 9819: 9817: 9808: 9804: 9798: 9790: 9784: 9776: 9775: 9770: 9764: 9756: 9755: 9750: 9744: 9729: 9725: 9719: 9703: 9697: 9682: 9681: 9676: 9670: 9655: 9654: 9649: 9643: 9627: 9621: 9610:September 10, 9605: 9601: 9597: 9591: 9580:September 10, 9575: 9574: 9569: 9563: 9547: 9546:OpenCL Lounge 9543: 9537: 9522: 9521: 9516: 9510: 9494: 9490: 9484: 9469: 9463: 9455: 9451: 9445: 9429: 9425: 9419: 9403: 9399: 9395: 9389: 9381: 9375: 9359: 9355: 9349: 9334: 9330: 9324: 9308: 9304: 9298: 9296: 9294: 9285: 9279: 9277: 9268: 9267: 9262: 9256: 9248: 9244: 9238: 9230: 9223: 9215: 9208: 9192: 9188: 9187:Khronos Group 9184: 9178: 9170: 9164: 9156: 9155:Khronos Group 9152: 9146: 9135:September 11, 9130: 9126: 9120: 9101: 9095: 9080: 9076: 9070: 9054: 9050: 9044: 9028: 9024: 9018: 9002: 8996: 8980: 8974: 8958: 8952: 8936: 8932: 8926: 8910: 8906: 8900: 8884: 8880: 8879:Khronos Group 8876: 8870: 8855: 8849: 8833: 8827: 8811: 8805: 8789: 8785: 8778: 8762: 8758: 8752: 8744: 8740: 8734: 8726: 8722: 8716: 8700: 8696: 8690: 8674: 8668: 8662: 8657: 8646:September 13, 8641: 8637: 8631: 8615: 8609: 8593: 8589: 8583: 8567: 8563: 8557: 8541: 8537: 8531: 8515: 8511: 8505: 8489: 8485: 8478: 8462: 8456: 8440: 8436: 8430: 8414: 8410: 8404: 8388: 8384: 8378: 8362: 8361: 8356: 8350: 8334: 8333: 8328: 8322: 8314: 8313: 8308: 8302: 8294: 8290: 8283: 8282: 8274: 8259: 8255: 8249: 8230: 8226: 8225: 8217: 8210: 8202: 8198: 8192: 8184: 8178: 8170: 8164: 8156: 8150: 8142: 8136: 8129:. p. 51. 8125: 8118: 8102: 8098: 8092: 8084: 8078: 8070: 8064: 8056: 8050: 8042: 8038: 8032: 8024: 8018: 8010: 8006: 8000: 7998: 7996: 7987: 7983: 7979: 7975: 7971: 7967: 7962: 7957: 7953: 7949: 7942: 7934: 7928: 7920: 7916: 7910: 7902: 7896: 7888: 7882: 7874: 7868: 7860: 7854: 7848: 7843: 7835: 7831: 7825: 7817: 7813: 7807: 7799: 7795: 7789: 7781: 7777: 7771: 7763: 7757: 7749: 7745: 7741: 7735: 7727: 7726: 7721: 7715: 7707: 7701: 7693: 7689: 7683: 7675: 7671: 7665: 7657: 7651: 7643: 7639: 7632: 7624: 7620: 7616: 7610: 7602: 7598: 7594: 7588: 7573: 7569: 7563: 7548: 7544: 7538: 7522: 7518: 7512: 7504: 7498: 7490: 7484: 7476: 7470: 7462: 7456: 7448: 7442: 7431: 7424: 7408: 7404: 7400: 7394: 7386: 7382: 7376: 7365: 7359: 7343: 7337: 7321: 7315: 7300: 7294: 7279: 7273: 7258: 7252: 7237: 7231: 7223: 7222:Khronos Group 7216: 7209: 7198: 7192: 7184: 7180: 7174: 7158: 7154: 7153:www.pcper.com 7150: 7144: 7136: 7130: 7122: 7116: 7105: 7098: 7087: 7081: 7073: 7067: 7059: 7055: 7049: 7041: 7037: 7031: 7029: 7020: 7019:Khronos Group 7016: 7010: 6995: 6994:Khronos Group 6991: 6987: 6980: 6973: 6965: 6964:Khronos Group 6961: 6955: 6953: 6944: 6938: 6922: 6916: 6900: 6894: 6878: 6872: 6856: 6850: 6831: 6825: 6823: 6821: 6804: 6798: 6782: 6778: 6772: 6761: 6755: 6747: 6743: 6737: 6721: 6715: 6699: 6693: 6677: 6673: 6667: 6651: 6647: 6641: 6625: 6619: 6603: 6599: 6593: 6577: 6571: 6555: 6549: 6533: 6529: 6523: 6509: 6508: 6500: 6485: 6484: 6477: 6475: 6459: 6455: 6449: 6434: 6430: 6424: 6409: 6405: 6399: 6383: 6379: 6373: 6357: 6353: 6347: 6331: 6327: 6321: 6319: 6317: 6315: 6299: 6295: 6289: 6287: 6270: 6266: 6260: 6244: 6240: 6234: 6218: 6214: 6208: 6192: 6188: 6182: 6167: 6166: 6159: 6157: 6148: 6144: 6140: 6134: 6130: 6126: 6122: 6118: 6111: 6100: 6093: 6077: 6071: 6052: 6046: 6027: 6020: 6014: 5995: 5988: 5982: 5980: 5961: 5954: 5952: 5950: 5934: 5930: 5924: 5922: 5920: 5903: 5899: 5898:Khronos Group 5895: 5889: 5881: 5880:Khronos Group 5877: 5871: 5855: 5849: 5833: 5827: 5819: 5815: 5811: 5807: 5802: 5797: 5793: 5789: 5782: 5774: 5770: 5765: 5760: 5756: 5752: 5748: 5744: 5740: 5736: 5732: 5725: 5723: 5721: 5719: 5699: 5692: 5685: 5677: 5673: 5666: 5664: 5644: 5637: 5621: 5617: 5610: 5599:September 19, 5594: 5588: 5572: 5566: 5547: 5540: 5533: 5514: 5507: 5491: 5485: 5483: 5481: 5479: 5477: 5460: 5454: 5438: 5434: 5428: 5420: 5414: 5410: 5400: 5397: 5395: 5392: 5390: 5387: 5385: 5382: 5380: 5377: 5375: 5372: 5370: 5367: 5365: 5362: 5360: 5357: 5355: 5352: 5350: 5347: 5345: 5342: 5340: 5337: 5335: 5332: 5330: 5327: 5325: 5322: 5320: 5319:DirectCompute 5317: 5315: 5312: 5310: 5307: 5305: 5302: 5300: 5297: 5295: 5292: 5290: 5287: 5286: 5279: 5275: 5273: 5269: 5263: 5259: 5256: 5252: 5247: 5244: 5239: 5237: 5233: 5220: 5219: 5210: 5207: 5204: 5200: 5196: 5193: 5192: 5183: 5179: 5176: 5172: 5169: 5166: 5162: 5158: 5155: 5152: 5148: 5144: 5140: 5137: 5135: 5131: 5130: 5121: 5117: 5113: 5109: 5105: 5101: 5098: 5095: 5092: 5089: 5086: 5082: 5078: 5075: 5071: 5067: 5063: 5059: 5055: 5052: 5051: 5042: 5039: 5035: 5031: 5027: 5023: 5020: 5016: 5012: 5011: 5002: 4999: 4998: 4997: 4995: 4983: 4979: 4976: 4972: 4969: 4966: 4962: 4959: 4955: 4951: 4947: 4943: 4939: 4936: 4932: 4929: 4925: 4922: 4919: 4915: 4911: 4908: 4904: 4900: 4896: 4892: 4888: 4884: 4881: 4880: 4879: 4871: 4863: 4855: 4852: 4849: 4846: 4843: 4840: 4837: 4834: 4833: 4829: 4825: 4823: 4819: 4815: 4812: 4808: 4805: 4802: 4798: 4795: 4793: 4791: 4788: 4785: 4784: 4780: 4777: 4774: 4772: 4768: 4764: 4763:IBM Power 775 4761: 4759: 4755: 4752:Servers with 4751: 4748: 4747: 4743: 4740: 4737: 4734: 4731: 4728: 4724: 4720: 4717: 4714: 4712: 4708: 4704: 4700: 4696: 4693: 4690: 4687: 4686: 4682: 4679: 4675: 4672: 4669: 4666: 4662: 4658: 4655: 4652: 4648: 4644: 4641: 4640: 4636: 4632: 4629: 4627: 4626:Khronos Group 4617: 4608: 4606: 4602: 4598: 4594: 4590: 4586: 4582: 4569: 4566: 4563: 4560: 4557: 4554: 4551: 4548: 4545: 4542: 4539: 4536: 4533: 4530: 4527: 4524: 4521: 4518: 4515: 4512: 4509: 4506: 4503: 4500: 4497: 4493: 4489: 4486: 4483: 4479: 4476: 4473: 4469: 4466: 4463: 4460: 4456: 4452: 4448: 4444: 4440: 4439:Khronos Group 4436: 4433: 4432:Mathematica 8 4429: 4425: 4422: 4418: 4415: 4412: 4408: 4405: 4401: 4397: 4394: 4390: 4387: 4383: 4380: 4377: 4373: 4369: 4365: 4362: 4359: 4355: 4352: 4348: 4345: 4341: 4338: 4334: 4330: 4326: 4322: 4319: 4315: 4312: 4308: 4304: 4300: 4299: 4285: 4281: 4277: 4274: 4270: 4267: 4264: 4261: 4258: 4255: 4251: 4247: 4243: 4239: 4235: 4231: 4228: 4225: 4221: 4217: 4214: 4211: 4207: 4204: 4201: 4197: 4194:, as well as 4193: 4189: 4185: 4182: 4179: 4175: 4171: 4168: 4164: 4160: 4157: 4152: 4148: 4144: 4141: 4140: 4139: 4137: 4133: 4129: 4125: 4121: 4116: 4113: 4112:shared object 4101: 4092: 4089: 4081: 4076: 4067: 4064: 4060: 4056: 4052: 4038: 4034: 4030: 4026: 4023: 4019: 4016: 4012: 4011: 4010: 4001: 3999: 3991: 3988: 3985: 3982: 3979: 3976: 3975: 3974: 3972: 3968: 3964: 3960: 3946: 3943: 3940: 3937: 3934: 3931: 3928: 3925: 3922: 3919: 3916: 3915: 3914: 3902: 3898: 3895: 3891: 3887: 3883: 3880: 3876: 3875: 3874: 3862: 3859: 3856: 3853: 3850: 3847: 3846: 3845: 3837: 3833: 3831: 3826: 3822: 3818: 3812: 3807: 3805: 3795: 3793: 3792:Khronos Group 3789: 3785: 3781: 3777: 3773: 3769: 3765: 3755: 3749:Contributions 3746: 3743: 3739: 3736: 3732: 3727: 3725: 3405:get_global_id 3041: 3039: 3029: 3027: 3000: 2996: 2994: 2988: 2985: 2975: 2915:fftRadix4Pass 2894:fftRadix4Pass 2873:fftRadix4Pass 2858:fftRadix4Pass 2392: 1425: 1423: 1419: 1409: 1399: 1394: 1381: 1376: 1372: 1366: 1363: 1360: 1356: 1350: 1346: 1342: 1339: 1336: 1331: 1328: 1325: 1321: 1317: 1312: 1308: 1299: 1294:and a vector 1289: 1136:get_global_id 1042: 1040: 1012: 1007: 998: 996: 992: 988: 984: 968: 963: 961: 957: 953: 949: 945: 941: 913: 909: 905: 895: 893: 889: 885: 875: 873: 868: 866: 862: 858: 846: 842: 835: 828: 821: 820: 819: 817: 807: 805: 801: 797: 793: 790:has ratified 789: 788:Khronos Group 784: 782: 777: 775: 771: 767: 763: 759: 755: 751: 747: 743: 739: 735: 731: 726: 724: 720: 716: 715: 710: 709:compute units 706: 702: 698: 694: 690: 680: 678: 674: 670: 666: 662: 658: 654: 650: 646: 642: 638: 634: 630: 629:Khronos Group 625: 623: 619: 615: 611: 607: 603: 599: 595: 591: 587: 583: 579: 575: 571: 567: 566:heterogeneous 563: 559: 555: 547: 543: 539: 535: 531: 528:Influenced by 526: 521: 518: 513: 509: 499: 495: 491: 489: 485: 481: 477: 474: 470: 466: 462: 459: 457: 453: 449: 434: 431: 426: 424: 420: 416: 413: 410: 406: 403: 399: 396:, (C++ only) 395: 391: 387: 384: 382: 378: 367: 355: 351: 347: 345: 341: 338: 335: 332: 330: 326: 323: 319: 315: 311: 307: 303: 300: 298: 294: 291: 287: 283: 279: 275: 272: 270: 266: 262: 258: 255: 251: 247: 231: 225: 223: 219: 215: 201: 197: 194: 193:Khronos Group 191: 189: 185: 182: 179: 177: 173: 169: 164: 158: 150: 147: 132: 129: 121: 111: 107: 101: 98:This article 96: 87: 86: 81: 79: 72: 71: 66: 65: 60: 55: 46: 45: 40: 33: 19: 10860: 10526:Coordination 10456:Amdahl's law 10392:Simultaneous 10123: 10007: 9998: 9969: 9963: 9954: 9933: 9898: 9892: 9865: 9861: 9851: 9824: 9806: 9797: 9783: 9772: 9763: 9752: 9743: 9731:. Retrieved 9727: 9718: 9706:. Retrieved 9696: 9684:. Retrieved 9678: 9669: 9657:. Retrieved 9651: 9642: 9630:. Retrieved 9620: 9608:. Retrieved 9604:the original 9599: 9590: 9578:. Retrieved 9571: 9562: 9550:. Retrieved 9545: 9536: 9524:. Retrieved 9518: 9509: 9497:. Retrieved 9493:the original 9483: 9471:. Retrieved 9462: 9453: 9444: 9432:. Retrieved 9427: 9418: 9406:. Retrieved 9402:the original 9397: 9388: 9374: 9362:. Retrieved 9357: 9348: 9338:December 12, 9336:. Retrieved 9332: 9323: 9313:December 12, 9311:. Retrieved 9306: 9264: 9255: 9246: 9237: 9222: 9207: 9195:. Retrieved 9191:the original 9177: 9163: 9145: 9133:. Retrieved 9128: 9119: 9107:. Retrieved 9094: 9082:. Retrieved 9078: 9069: 9057:. Retrieved 9052: 9043: 9031:. Retrieved 9027:the original 9017: 9005:. Retrieved 8995: 8983:. Retrieved 8973: 8961:. Retrieved 8951: 8939:. Retrieved 8935:the original 8925: 8913:. Retrieved 8909:the original 8899: 8887:. Retrieved 8883:the original 8869: 8857:. Retrieved 8848: 8836:. Retrieved 8826: 8814:. Retrieved 8804: 8792:. Retrieved 8788:the original 8777: 8765:. Retrieved 8761:the original 8751: 8742: 8733: 8724: 8715: 8703:. Retrieved 8699:the original 8689: 8677:. Retrieved 8667: 8656: 8644:. Retrieved 8640:the original 8630: 8618:. Retrieved 8608: 8596:. Retrieved 8592:the original 8582: 8572:December 10, 8570:. Retrieved 8566:the original 8556: 8544:. Retrieved 8540:the original 8530: 8518:. Retrieved 8514:the original 8504: 8492:. Retrieved 8488:MacWorld.com 8487: 8477: 8465:. Retrieved 8455: 8443:. Retrieved 8439:the original 8429: 8417:. Retrieved 8413:the original 8403: 8391:. Retrieved 8387:the original 8377: 8365:. Retrieved 8358: 8349: 8337:. Retrieved 8330: 8321: 8310: 8301: 8280: 8273: 8261:. Retrieved 8257: 8248: 8236:. Retrieved 8229:the original 8222: 8209: 8200: 8191: 8177: 8163: 8149: 8135: 8117: 8105:. Retrieved 8101:the original 8091: 8077: 8063: 8049: 8040: 8031: 8017: 8008: 7951: 7947: 7941: 7927: 7919:docs.amd.com 7918: 7909: 7895: 7881: 7867: 7853: 7842: 7833: 7824: 7815: 7806: 7797: 7788: 7779: 7770: 7756: 7748:the original 7743: 7734: 7723: 7714: 7700: 7691: 7682: 7673: 7664: 7650: 7641: 7631: 7622: 7609: 7600: 7587: 7575:. Retrieved 7571: 7562: 7550:. Retrieved 7546: 7537: 7525:. Retrieved 7520: 7511: 7497: 7483: 7469: 7455: 7441: 7423: 7413:December 13, 7411:. Retrieved 7407:the original 7402: 7393: 7384: 7375: 7358: 7346:. Retrieved 7336: 7324:. Retrieved 7314: 7302:. Retrieved 7293: 7281:. Retrieved 7272: 7260:. Retrieved 7251: 7239:. Retrieved 7230: 7221: 7208: 7191: 7182: 7173: 7161:. Retrieved 7157:the original 7152: 7143: 7129: 7115: 7109:. p. 9. 7097: 7080: 7066: 7057: 7048: 7039: 7009: 6997:. Retrieved 6985: 6972: 6937: 6925:. Retrieved 6915: 6903:. Retrieved 6893: 6883:November 16, 6881:. Retrieved 6871: 6861:February 10, 6859:. Retrieved 6849: 6837:. Retrieved 6807:. Retrieved 6797: 6787:February 24, 6785:. Retrieved 6781:the original 6771: 6754: 6745: 6736: 6724:. Retrieved 6714: 6704:December 10, 6702:. Retrieved 6692: 6682:November 11, 6680:. Retrieved 6676:the original 6666: 6654:. Retrieved 6650:the original 6640: 6628:. Retrieved 6618: 6606:. Retrieved 6602:the original 6592: 6580:. Retrieved 6570: 6558:. Retrieved 6548: 6536:. Retrieved 6532:the original 6522: 6511:, retrieved 6506: 6499: 6488:, retrieved 6482: 6461:. Retrieved 6457: 6448: 6436:. Retrieved 6432: 6423: 6411:. Retrieved 6407: 6398: 6386:. Retrieved 6381: 6372: 6360:. Retrieved 6355: 6346: 6334:. Retrieved 6332:. March 2021 6329: 6301:. Retrieved 6297: 6273:. Retrieved 6268: 6259: 6247:. Retrieved 6242: 6233: 6221:. Retrieved 6216: 6207: 6195:. Retrieved 6190: 6181: 6170:, retrieved 6164: 6120: 6110: 6092: 6080:. Retrieved 6076:"OpenCL_FFT" 6070: 6060:November 14, 6058:. Retrieved 6045: 6033:. Retrieved 6026:the original 6013: 6001:. Retrieved 5994:the original 5966:. Retrieved 5936:. Retrieved 5932: 5906:. Retrieved 5902:the original 5888: 5870: 5858:. Retrieved 5848: 5836:. Retrieved 5826: 5791: 5787: 5781: 5741:(3): 66–73. 5738: 5734: 5705:. Retrieved 5698:the original 5684: 5675: 5652:November 16, 5650:. Retrieved 5636: 5624:. Retrieved 5619: 5609: 5597:. Retrieved 5587: 5575:. Retrieved 5565: 5553:. Retrieved 5546:the original 5532: 5520:. Retrieved 5506: 5494:. Retrieved 5465:December 23, 5463:. Retrieved 5453: 5441:. Retrieved 5436: 5427: 5413: 5374:RenderScript 5276: 5264: 5260: 5248: 5240: 5229: 4993: 4992: 4965:Ada Lovelace 4877: 4869: 4861: 4792: 4733:Intel Core 2 4623: 4614: 4578: 4284:Raspberry Pi 4280:VideoCore IV 4188:Ivy Bridge + 4178:Mesa Gallium 4151:Mesa project 4117: 4109: 4085: 4047: 4007: 3995: 3955: 3912: 3871: 3843: 3834: 3830:XL compilers 3814: 3809: 3801: 3761: 3752: 3744: 3740: 3730: 3728: 3720: 3035: 3025: 3014:dynamic_cast 3006: 2997: 2989: 2981: 2973: 2939:globalStores 2783:localShuffle 2663:localShuffle 2513:get_group_id 2492:get_local_id 2390: 1930:KernelSource 1570:cl_device_id 1483:KernelSource 1465:// CONSTANTS 1422:JIT-compiles 1415: 1395: 1300: 1281: 1036: 1010: 964: 940:entry points 901: 881: 869: 854: 813: 785: 778: 727: 712: 708: 696: 688: 686: 626: 557: 553: 552: 432: 429: 288:(via Pocl), 240:5 April 2024 227:3.0.16  188:Developer(s) 157: 142: 124: 118:October 2021 115: 99: 75: 68: 62: 61:Please help 58: 10962:Scalability 10723:distributed 10606:Concurrency 10573:Programming 10414:Cooperative 10403:Speculative 10339:Instruction 9945:1005.2581v3 9708:January 27, 9686:January 27, 9659:January 27, 9430:. intel.com 9109:February 4, 9033:October 14, 8743:www.ibm.com 8598:October 23, 8546:October 27, 8520:October 14, 8393:January 30, 8238:January 22, 8107:December 3, 7798:Google Docs 7577:October 23, 7552:October 23, 7527:October 23, 6726:October 30, 6582:December 4, 6275:December 2, 5908:October 24, 5856:. dlang.org 5620:PR Newswire 5577:December 2, 5439:. ArrayFire 5437:Google Docs 5249:A study at 5243:auto-tuning 5062:Steamroller 5030:Coffee Lake 4982:Meteor Lake 4975:Raptor Lake 4928:Raptor Lake 4914:Rocket Lake 4895:Coffee Lake 4853:Nvidia Ion 4459:Web browser 4333:Havok Cloth 3889:processors. 3733:extension. 2588:globalLoads 2305:NUM_ENTRIES 1858:NUM_ENTRIES 1801:NUM_ENTRIES 1288:dot product 967:parallelism 857:Consistency 802:to improve 677:Verisilicon 653:Imagination 11001:Categories 10967:Starvation 10706:asymmetric 10441:PRAM model 10409:Preemptive 9632:August 11, 9552:August 11, 9526:August 11, 9499:August 11, 9473:August 11, 9434:August 11, 9408:August 11, 9364:August 20, 8941:January 9, 8915:January 9, 8490:. MacWorld 7961:1611.07083 7326:October 1, 7304:October 1, 7262:August 29, 6999:January 2, 6656:August 14, 6630:August 14, 6490:August 20, 6035:August 14, 5838:August 18, 5406:References 5161:Ivy Bridge 5151:Piledriver 5034:Comet Lake 4918:Alder Lake 4907:Tiger Lake 4899:Comet Lake 4811:Nvidia Ion 4807:AMD Fusion 4742:Intel Xeon 4738:and newer 4716:Intel Core 4697:CPUs with 4671:AMD Fusion 4482:ATI Stream 4447:JavaScript 4351:ATI Stream 4327:, AMD and 4174:Windows 11 4044:OpenCL 3.0 4004:OpenCL 2.2 3952:OpenCL 2.1 3909:OpenCL 2.0 3868:OpenCL 1.2 3840:OpenCL 1.1 3798:OpenCL 1.0 3764:Apple Inc. 3651:compute_hp 3573:compute_sp 2414:fft1D_1024 1885:cl_program 1618:cl_context 983:Vectorized 948:bit fields 924:__constant 831:__constant 723:SIMD lanes 633:non-profit 592:(based on 492:.cl .clcpp 442:2021-12-20 394:structured 390:procedural 386:Imperative 253:Written in 209:2009-08-28 181:Apple Inc. 161:OpenCL API 64:improve it 18:OpenCL 3.0 10701:symmetric 10446:PEM model 10207:OpenSL ES 10096:Standards 9870:CiteSeerX 9548:. ibm.com 9197:March 17, 8616:. ZiiLABS 8467:August 6, 8445:April 27, 8419:March 28, 8367:March 28, 8339:March 28, 8263:April 13, 7656:"Beignet" 7283:August 6, 6513:April 18, 6463:April 18, 6438:April 18, 6413:April 18, 6388:April 18, 6362:April 18, 6336:April 18, 6303:April 18, 6249:April 18, 6223:April 18, 6197:April 18, 6172:April 18, 6147:216554183 6003:August 8, 5938:April 18, 5801:0911.3456 5626:April 27, 5555:April 28, 5461:. FreeBSD 5443:April 28, 5379:SequenceL 5266:devices. 5134:Terascale 5081:Broadwell 5070:Excavator 5026:Kaby Lake 5015:Broadwell 4935:Intel Arc 4891:Kaby Lake 4758:Power VSX 4705:support. 4430:released 4374:GPUs and 4210:Broadwell 4170:Microsoft 4128:Gallium3D 4124:RapidMind 3825:RapidMind 3768:trademark 3480:complex_t 3453:complex_t 3177:complex_t 3162:complex_t 3105:complex_t 3069:complex_t 1996:cl_kernel 1347:∑ 1337:⋅ 1011:work-item 956:recursion 928:__private 849:__private 845:registers 562:framework 70:talk page 10932:Deadlock 10920:Problems 10886:pthreads 10866:OpenHMPP 10791:Ateji PX 10752:computer 10623:Hardware 10490:Elements 10476:Slowdown 10387:Temporal 10369:Pipeline 10197:OpenKODE 10163:Inactive 10049:Archived 9084:June 26, 9059:June 23, 9007:June 23, 8985:June 23, 8963:June 23, 8889:June 23, 8838:June 23, 8816:June 16, 8794:June 23, 8767:June 23, 8705:June 23, 8679:June 23, 8620:June 23, 8614:"OpenCL" 8494:June 12, 8307:"Status" 7642:Phoronix 7623:Phoronix 7601:Phoronix 7348:June 23, 7241:June 23, 6927:April 8, 6905:April 8, 6839:June 23, 6809:June 23, 6560:June 12, 6538:June 18, 6082:June 18, 6019:"OpenCL" 5968:June 24, 5860:June 29, 5818:18928397 5773:21037981 5622:. Xilinx 5522:July 19, 5359:OpenHMPP 5334:Larrabee 5299:BrookGPU 5282:See also 5182:ARM Mali 5180:(2015+) 5175:ARM Mali 5173:(2013+) 5038:Ice Lake 4994:None yet 4903:Ice Lake 4643:AMD SDKs 4635:Synopsis 4583:(GPUs), 4325:GDC 2009 4311:SIGGRAPH 4256:Shamrock 4200:Phoronix 4032:kernels. 3901:IEEE 754 3780:Qualcomm 3672:__global 3657:__global 3645:__kernel 3594:__global 3579:__global 3567:__kernel 3378:__global 3363:__global 3345:typename 3339:template 3165:operator 3057:typename 3051:template 3010:restrict 3003:Features 2819:>> 2726:>> 2582:blockIdx 2564:blockIdx 2507:blockIdx 2435:__global 2420:__global 2408:__kernel 1489:#include 1441:#include 1435:#include 1429:#include 1151:__global 1109:__global 1082:__global 1064:__global 1052:__kernel 936:__kernel 916:__global 912:pointers 865:barriers 824:__global 774:compiler 683:Overview 665:Qualcomm 580:(DSPs), 576:(GPUs), 572:(CPUs), 504:.khronos 469:manifest 381:Paradigm 360:.khronos 297:Platform 263:bindings 10891:RaftLib 10871:OpenACC 10846:GPUOpen 10836:C++ AMP 10811:Charm++ 10553:Barrier 10497:Process 10481:Speedup 10266:General 10202:OpenMAX 10170:COLLADA 9733:May 15, 8360:YouTube 8332:YouTube 8197:"About" 7986:9905244 7966:Bibcode 7163:May 17, 6608:June 9, 5764:2964860 5743:Bibcode 5707:July 6, 5349:OpenACC 5304:C++ AMP 5165:Haswell 5153:-based) 5108:Maxwell 5085:Skylake 5076:-based) 5019:Skylake 4942:Maxwell 4933:(2022) 4887:Skylake 4818:GeForce 4575:Devices 4472:Firefox 4411:ZiiLABS 4400:HD 5000 4372:HD 5000 4335:on ATI 4318:PowerVR 4262:FreeOCL 4220:GPUOpen 4192:Red Hat 4183:BEIGNET 4156:Red Hat 4070:Roadmap 4028:spaces. 3939:Android 3932:atomics 3885:images. 3819:in its 3758:History 2465:__local 2450:__local 2399:"( 2146:memobjs 2095:memobjs 2011:program 1957:program 1900:context 1888:program 1825:context 1762:context 1747:memobjs 1723:devices 1717:context 1690:devices 1621:context 1603:devices 1573:devices 1552:cl_uint 1504:cl_uint 920:__local 872:handles 838:__local 770:library 705:kernels 669:Samsung 645:Cadence 560:) is a 508:/opencl 497:Website 473:nominal 440: ( 364:/opencl 353:Website 344:License 290:Windows 278:FreeBSD 274:Android 238: ( 207: ( 104:Please 10984:  10861:OpenCL 10856:OpenMP 10801:Chapel 10718:shared 10713:Memory 10648:(SIMT) 10591:Models 10502:Thread 10434:Theory 10405:(SpMT) 10359:Memory 10344:Thread 10327:Levels 10212:OpenWF 10175:OpenGL 10154:Vulkan 10139:OpenXR 10134:OpenVX 10129:OpenVG 10124:OpenCL 10102:Active 9986:  9925:225784 9923:  9913:  9872:  9839:  9807:01.org 9774:GitHub 9754:GitHub 9680:GitHub 9653:GitHub 9266:GitHub 8859:May 4, 8312:GitHub 8258:GitHub 7984:  7915:"Home" 7744:GitHub 7740:"ROCm" 7725:GitHub 6990:Vienna 6458:GitHub 6433:GitHub 6330:GitHub 6269:GitHub 6243:GitHub 6145:  6135:  5933:GitHub 5816:  5771:  5761:  5496:May 9, 5394:Vulkan 5364:OpenMP 5354:OpenGL 5339:Lib Sh 5149:& 5147:Bobcat 5120:Turing 5112:Pascal 5104:Kepler 5072:& 5058:Jaguar 4958:Ampere 4954:Turing 4946:Pascal 4847:C/D/S 4842:Nvidia 4828:Quadro 4678:Radeon 4104:clinfo 4088:Vulkan 4063:SPIR-V 4022:SPIR-V 3969:as an 3967:SPIR-V 3963:Vulkan 3878:tasks. 3788:Nvidia 3786:, and 3711:#endif 3555:get_im 3537:get_re 3426:offset 3318:return 3306:get_im 3291:return 3279:get_re 3195:return 3099:public 3022:delete 2969:" 2540:float2 2438:float2 2423:float2 2338:kernel 2281:size_t 2233:sizeof 2221:kernel 2170:sizeof 2158:kernel 2125:cl_mem 2119:sizeof 2107:kernel 2074:cl_mem 2068:sizeof 2056:kernel 2032:size_t 1999:kernel 1837:sizeof 1780:sizeof 1744:cl_mem 1284:matvec 1205:size_t 1127:size_t 1058:matvec 979:float4 975:double 926:, and 910:, and 746:Python 661:Nvidia 649:Google 616:using 554:OpenCL 515:Major 461:Static 408:Family 322:x86-64 32:OpenGL 11022:GPGPU 10831:Dryad 10796:Boost 10517:Array 10507:Fiber 10421:(CMT) 10394:(SMT) 10308:GPGPU 10217:WebCL 10190:WebGL 10057:IWOCL 10041:WebCL 9940:arXiv 9921:S2CID 9103:(PDF) 8285:(PDF) 8232:(PDF) 8219:(PDF) 8127:(PDF) 7982:S2CID 7956:arXiv 7433:(PDF) 7367:(PDF) 7218:(PDF) 7200:(PDF) 7107:(PDF) 7089:(PDF) 6986:IWOCL 6982:(PDF) 6833:(PDF) 6763:(PDF) 6143:S2CID 6102:(PDF) 6054:(PDF) 6029:(PDF) 6022:(PDF) 5997:(PDF) 5990:(PDF) 5963:(PDF) 5814:S2CID 5796:arXiv 5701:(PDF) 5694:(PDF) 5646:(PDF) 5549:(PDF) 5542:(PDF) 5516:(PDF) 5399:WebCL 5369:Metal 5324:GPGPU 5203:Fermi 5199:Tesla 5116:Volta 4950:Volta 4845:Tesla 4767:PERCS 4711:Linux 4695:Intel 4593:FPGAs 4587:with 4498:CPUs. 4443:WebCL 4421:Intel 4406:GPUs. 4329:Havok 4275:VC4CL 4242:Clang 4136:Clang 4059:C++17 4051:Clang 4015:C++14 3996:AMD, 3959:C++14 3935:Pipes 3784:Intel 3597:float 3582:float 3312:const 3285:const 3261:other 3243:other 3225:other 3207:other 3189:const 3183:other 3180:& 3174:const 3066:class 2993:Clang 2984:C++17 2846:& 2801:sMemy 2795:sMemx 2699:& 2681:sMemy 2675:sMemx 2474:sMemy 2468:float 2459:sMemx 2453:float 2332:queue 2239:float 2176:float 2143:& 2092:& 1927:& 1915:const 1843:float 1786:float 1705:queue 1561:& 1501:const 1474:const 1226:ncols 1181:float 1169:& 1157:const 1154:float 1112:float 1103:ncols 1088:float 1085:const 1070:float 1067:const 1031:ncols 971:float 800:C++17 764:. An 657:Intel 618:task- 602:C++17 598:C++14 546:C++17 542:C++14 318:Power 314:IA-32 306:ARMv8 302:ARMv7 286:macOS 282:Linux 259:with 10896:ROCm 10826:CUDA 10816:Cilk 10783:APIs 10743:COMA 10738:NUMA 10669:MIMD 10664:MISD 10641:SIMD 10636:SISD 10364:Loop 10354:Data 10349:Task 10149:SYCL 10144:SPIR 10119:NNEF 10114:glTF 10039:for 9984:ISBN 9911:ISBN 9837:ISBN 9735:2017 9710:2017 9688:2017 9661:2017 9634:2011 9612:2011 9582:2011 9554:2011 9528:2011 9501:2011 9475:2011 9436:2011 9410:2011 9366:2019 9340:2022 9315:2022 9199:2017 9137:2015 9111:2016 9086:2017 9061:2015 9035:2014 9009:2015 8987:2015 8965:2015 8943:2014 8917:2014 8891:2015 8861:2012 8840:2015 8818:2013 8796:2015 8769:2015 8707:2015 8681:2015 8648:2010 8622:2015 8600:2009 8574:2009 8548:2009 8522:2009 8496:2009 8469:2009 8447:2009 8421:2009 8395:2011 8369:2009 8341:2009 8265:2017 8240:2017 8109:2020 8009:pocl 7579:2023 7554:2023 7529:2023 7415:2018 7350:2015 7328:2009 7306:2009 7285:2009 7264:2009 7243:2015 7165:2017 7001:2017 6929:2015 6907:2015 6885:2015 6863:2014 6841:2015 6811:2015 6789:2016 6728:2009 6706:2008 6684:2008 6658:2008 6632:2008 6610:2008 6584:2016 6562:2009 6540:2008 6515:2021 6492:2019 6465:2021 6440:2021 6415:2021 6390:2021 6364:2021 6338:2021 6305:2021 6277:2022 6251:2021 6225:2021 6199:2021 6174:2021 6133:ISBN 6084:2022 6062:2008 6037:2008 6005:2017 5970:2014 5940:2021 5910:2016 5862:2021 5840:2018 5769:PMID 5709:2015 5654:2015 5628:2015 5601:2024 5579:2022 5557:2021 5524:2019 5498:2015 5467:2015 5445:2015 5389:SYCL 5384:SIMD 5314:CUDA 5255:CUDA 5205:GPU) 5118:and 5066:Puma 4956:and 4801:SSE2 4676:AMD 4661:SSE2 4649:and 4624:The 4605:DSPs 4603:and 4589:SIMD 4585:CPUs 4453:and 4404:R700 4376:SSE3 4368:R700 4339:GPU. 4268:MOCL 4250:LLVM 4246:LLVM 4244:and 4236:and 4234:CUDA 4229:POCL 4224:ROCm 4215:ROCm 4163:Rust 4132:LLVM 4126:and 4120:ROCm 4078:The 4061:and 4055:LLVM 3894:DXVA 3675:half 3660:half 3648:void 3570:void 3516:num2 3510:num1 3501:auto 3474:num2 3471:auto 3447:num1 3444:auto 3423:auto 3396:auto 3354:void 3351:> 3342:< 3321:m_im 3294:m_re 3267:m_re 3255:m_im 3249:m_im 3237:m_re 3231:m_im 3219:m_im 3213:m_re 3201:m_re 3144:m_im 3132:m_re 3090:m_im 3078:m_re 3063:> 3054:< 2945:data 2921:data 2900:data 2879:data 2864:data 2852:))); 2789:data 2756:data 2741:data 2732:))); 2669:data 2648:1024 2636:data 2621:data 2594:data 2543:data 2528:1024 2411:void 2380:NULL 2374:NULL 2350:NULL 2272:NULL 2209:NULL 2134:void 2083:void 2023:NULL 1987:NULL 1981:NULL 1975:NULL 1969:NULL 1942:NULL 1936:NULL 1918:char 1870:NULL 1864:NULL 1813:NULL 1807:NULL 1735:NULL 1696:NULL 1672:NULL 1657:NULL 1651:NULL 1645:NULL 1633:NULL 1609:NULL 1585:NULL 1543:NULL 1525:NULL 1477:char 1453:main 1398:maps 1223:< 1100:uint 1055:void 987:SIMD 973:and 950:and 932:main 796:eDSL 792:SYCL 762:.NET 760:and 754:Perl 750:Java 740:and 719:core 697:host 675:and 620:and 600:and 538:CUDA 506:.org 465:weak 362:.org 329:Type 310:Cell 10911:ZPL 10906:TBB 10901:UPC 10881:PVM 10851:MPI 10806:HPX 10733:UMA 10334:Bit 10109:EGL 9974:doi 9903:doi 9880:doi 9829:doi 9573:IBM 9520:IBM 8289:doi 7974:doi 6125:doi 5806:doi 5759:PMC 5751:doi 5329:HIP 5201:or 5143:K10 5074:Zen 4797:X86 4787:IBM 4771:750 4769:), 4750:IBM 4703:AVX 4699:SSE 4657:X86 4651:APU 4647:CPU 4496:ARM 4451:GPU 4393:VIA 4344:SDK 4238:HSA 4205:NEO 4198:of 4172:'s 4147:GCN 3998:ARM 3930:C11 3776:IBM 3772:AMD 3735:Arm 3702:out 3681:out 3624:out 3603:out 3558:(); 3549:res 3543:out 3540:(); 3531:res 3525:out 3504:res 3432:idx 3399:idx 3387:out 3156:{}; 3018:new 2951:out 2843:tid 2816:tid 2813:((( 2807:tid 2762:tid 2723:tid 2696:tid 2693:((( 2687:tid 2642:tid 2576:out 2570:out 2534:tid 2504:int 2486:tid 2483:int 2444:out 2293:256 2044:256 1597:num 1564:num 1507:num 1450:int 1271:sum 1244:sum 1199:for 1190:0.f 1184:sum 995:VMX 993:or 991:SSE 904:C99 892:C++ 742:C++ 725:). 673:SPI 641:ARM 637:AMD 594:C99 534:C99 502:www 392:), 358:www 337:API 261:C++ 108:to 11003:: 10185:SC 10180:ES 10006:. 9982:. 9919:. 9909:. 9878:. 9866:38 9864:. 9835:. 9815:^ 9805:. 9771:. 9751:. 9726:. 9677:. 9650:. 9598:. 9570:. 9544:. 9517:. 9452:. 9426:. 9396:. 9356:. 9331:. 9305:. 9292:^ 9275:^ 9263:. 9245:. 9185:. 9153:. 9127:. 9077:. 9051:. 8877:. 8741:. 8723:. 8486:. 8357:. 8329:. 8309:. 8256:. 8221:. 8199:. 8039:. 8007:. 7994:^ 7980:. 7972:. 7964:. 7952:43 7950:. 7917:. 7832:. 7814:. 7796:. 7778:. 7742:. 7722:. 7690:. 7672:. 7640:. 7621:. 7599:. 7570:. 7545:. 7519:. 7401:. 7383:. 7220:. 7181:. 7151:. 7056:. 7038:. 7027:^ 7017:. 6992:: 6988:. 6984:. 6962:. 6951:^ 6819:^ 6744:. 6473:^ 6456:. 6431:. 6406:. 6380:. 6354:. 6328:. 6313:^ 6296:. 6285:^ 6267:. 6241:. 6215:. 6189:. 6155:^ 6141:. 6131:. 6119:. 5978:^ 5948:^ 5931:. 5918:^ 5896:. 5878:. 5812:. 5804:. 5792:38 5790:. 5767:. 5757:. 5749:. 5739:12 5737:. 5733:. 5717:^ 5662:^ 5618:. 5475:^ 5435:. 5163:, 5145:, 5114:, 5110:, 5106:, 5083:, 5068:, 5064:, 5060:, 5036:, 5032:, 5028:, 5017:, 4952:, 4948:, 4944:, 4916:, 4905:, 4901:, 4897:, 4893:, 4889:, 4809:, 4799:+ 4727:i3 4725:, 4723:i5 4721:, 4719:i7 4709:, 4659:+ 4607:. 4599:, 4595:, 4386:S3 4222:, 4122:, 3832:. 3823:. 3782:, 3778:, 3774:, 3705:); 3696:in 3666:in 3627:); 3618:in 3588:in 3495:}; 3492:in 3486:in 3468:}; 3465:in 3459:in 3414:); 3372:in 3330:}; 3309:() 3282:() 3270:}; 3150:im 3141:}, 3138:re 3123:im 3114:re 2960:); 2957:64 2930:); 2927:12 2909:); 2888:); 2867:); 2849:15 2831:64 2777:); 2768:64 2744:); 2711:65 2702:15 2657:); 2624:); 2609:); 2606:64 2600:in 2558:in 2552:in 2501:); 2429:in 2383:); 2317:64 2296:}; 2275:); 2266:16 2212:); 2203:16 2149:); 2128:), 2098:); 2077:), 2047:}; 2026:); 1990:); 1945:); 1921:** 1876:}; 1816:), 1738:); 1699:); 1660:); 1612:); 1567:); 1456:() 1408:. 1298:: 1247:+= 1235:++ 1145:); 946:, 922:, 918:, 867:. 851:). 847:; 840:); 833:); 826:); 756:, 752:, 748:, 679:. 671:, 667:, 663:, 659:, 655:, 651:, 647:, 643:, 639:, 631:a 624:. 596:, 544:, 540:, 536:, 471:, 467:, 463:, 400:, 320:, 316:, 312:, 308:, 304:, 284:, 280:, 73:. 10251:e 10244:t 10237:v 10086:e 10079:t 10072:v 10055:( 10010:. 9992:. 9976:: 9948:. 9942:: 9927:. 9905:: 9886:. 9882:: 9845:. 9831:: 9791:. 9777:. 9757:. 9737:. 9712:. 9690:. 9663:. 9636:. 9614:. 9584:. 9556:. 9530:. 9503:. 9477:. 9438:. 9412:. 9368:. 9342:. 9317:. 9269:. 9231:. 9216:. 9201:. 9139:. 9113:. 9088:. 9063:. 9037:. 9011:. 8989:. 8967:. 8945:. 8919:. 8893:. 8863:. 8842:. 8820:. 8798:. 8771:. 8727:. 8709:. 8683:. 8650:. 8624:. 8602:. 8576:. 8550:. 8524:. 8498:. 8471:. 8449:. 8423:. 8397:. 8371:. 8343:. 8295:. 8291:: 8267:. 8242:. 8203:. 8185:. 8171:. 8157:. 8143:. 8111:. 8085:. 8071:. 8057:. 8043:. 8011:. 7988:. 7976:: 7968:: 7958:: 7935:. 7921:. 7903:. 7889:. 7875:. 7861:. 7836:. 7818:. 7800:. 7782:. 7694:. 7676:. 7644:. 7625:. 7603:. 7581:. 7556:. 7531:. 7505:. 7491:. 7477:. 7463:. 7449:. 7435:. 7417:. 7387:. 7369:. 7352:. 7330:. 7308:. 7287:. 7266:. 7245:. 7224:. 7202:. 7185:. 7167:. 7137:. 7060:. 7003:. 6931:. 6909:. 6887:. 6865:. 6843:. 6813:. 6791:. 6748:. 6730:. 6708:. 6686:. 6660:. 6634:. 6612:. 6586:. 6564:. 6542:. 6467:. 6442:. 6417:. 6392:. 6366:. 6340:. 6307:. 6279:. 6253:. 6227:. 6201:. 6149:. 6127:: 6104:. 6086:. 6064:. 6039:. 6007:. 5972:. 5942:. 5912:. 5864:. 5842:. 5820:. 5808:: 5798:: 5775:. 5753:: 5745:: 5711:. 5656:. 5630:. 5603:. 5581:. 5559:. 5526:. 5500:. 5469:. 5447:. 5421:. 5167:) 5087:) 5040:) 5021:) 4765:( 4461:. 4370:/ 4180:. 4053:/ 3708:} 3699:, 3693:( 3687:{ 3684:) 3678:* 3669:, 3663:* 3654:( 3630:} 3621:, 3615:( 3609:{ 3606:) 3600:* 3591:, 3585:* 3576:( 3561:} 3552:. 3546:= 3534:. 3528:= 3519:; 3513:* 3507:= 3489:, 3483:{ 3477:= 3462:, 3456:{ 3450:= 3441:; 3438:4 3435:* 3429:= 3411:0 3408:( 3402:= 3393:{ 3390:) 3384:* 3381:T 3375:, 3369:* 3366:T 3360:( 3348:T 3327:} 3324:; 3315:{ 3303:T 3300:} 3297:; 3288:{ 3276:T 3273:} 3264:. 3258:* 3252:+ 3246:. 3240:* 3234:, 3228:. 3222:* 3216:- 3210:. 3204:* 3198:{ 3192:{ 3186:) 3171:( 3168:* 3153:} 3147:{ 3135:{ 3129:: 3126:) 3120:T 3117:, 3111:T 3108:( 3102:: 3093:; 3087:T 3081:; 3075:T 3072:{ 3060:T 3020:/ 2966:) 2963:} 2954:, 2948:, 2942:( 2924:+ 2918:( 2906:8 2903:+ 2897:( 2885:4 2882:+ 2876:( 2861:( 2840:( 2837:+ 2834:) 2828:* 2825:) 2822:4 2810:, 2804:, 2798:, 2792:, 2786:( 2774:4 2771:, 2765:, 2759:, 2753:( 2738:( 2729:4 2720:( 2717:+ 2714:) 2708:* 2705:) 2690:, 2684:, 2678:, 2672:, 2666:( 2654:0 2651:, 2645:, 2639:, 2633:( 2618:( 2603:, 2597:, 2591:( 2585:; 2579:+ 2573:= 2567:; 2561:+ 2555:= 2546:; 2537:; 2531:+ 2525:* 2522:) 2519:0 2516:( 2510:= 2498:0 2495:( 2489:= 2480:{ 2477:) 2471:* 2462:, 2456:* 2447:, 2441:* 2432:, 2426:* 2417:( 2396:R 2386:} 2377:, 2371:, 2368:0 2365:, 2359:, 2353:, 2347:, 2344:1 2341:, 2335:, 2329:( 2320:; 2314:= 2308:; 2302:= 2290:{ 2287:= 2269:, 2263:* 2260:) 2257:1 2254:+ 2248:( 2245:* 2242:) 2236:( 2230:, 2227:3 2224:, 2218:( 2206:, 2200:* 2197:) 2194:1 2191:+ 2185:( 2182:* 2179:) 2173:( 2167:, 2164:2 2161:, 2155:( 2140:) 2137:* 2131:( 2122:( 2116:, 2113:1 2110:, 2104:( 2089:) 2086:* 2080:( 2071:( 2065:, 2062:0 2059:, 2053:( 2041:{ 2038:= 2020:, 2014:, 2008:( 2002:= 1984:, 1978:, 1972:, 1966:, 1963:0 1960:, 1954:( 1939:, 1933:, 1924:) 1912:( 1909:, 1906:1 1903:, 1897:( 1891:= 1873:) 1867:, 1861:, 1855:* 1852:2 1849:* 1846:) 1840:( 1834:, 1828:, 1822:( 1810:, 1804:, 1798:* 1795:2 1792:* 1789:) 1783:( 1777:, 1771:| 1765:, 1759:( 1753:{ 1750:= 1732:, 1729:0 1726:, 1720:, 1714:( 1708:= 1693:, 1687:, 1684:1 1681:, 1675:, 1669:( 1654:, 1648:, 1642:, 1636:, 1630:( 1624:= 1606:, 1600:, 1594:, 1588:, 1582:( 1576:; 1558:) 1555:* 1549:( 1546:, 1540:, 1537:0 1534:, 1528:, 1522:( 1516:; 1513:1 1510:= 1495:; 1486:= 1480:* 1462:{ 1406:A 1382:. 1377:j 1373:x 1367:j 1364:, 1361:i 1357:a 1351:j 1343:= 1340:x 1332:: 1329:, 1326:i 1322:a 1318:= 1313:i 1309:y 1296:x 1292:A 1277:} 1274:; 1268:= 1265:y 1262:} 1259:; 1256:x 1253:* 1250:a 1241:{ 1238:) 1232:j 1229:; 1220:j 1217:; 1214:0 1211:= 1208:j 1202:( 1193:; 1187:= 1175:; 1172:A 1166:= 1163:a 1160:* 1142:0 1139:( 1133:= 1130:i 1124:{ 1121:) 1118:y 1115:* 1106:, 1097:, 1094:x 1091:* 1079:, 1076:A 1073:* 1061:( 1027:n 1023:y 1019:x 1015:A 890:/ 888:C 758:D 738:C 556:( 444:) 412:C 388:( 366:/ 257:C 242:) 211:) 149:) 143:( 131:) 125:( 120:) 116:( 102:. 80:) 76:( 41:. 34:. 20:)

Index

OpenCL 3.0
OpenGL
Botan (programming library)
improve it
talk page
Learn how and when to remove these messages
help improve it
make it understandable to non-experts
Learn how and when to remove this message
Learn how and when to remove this message
OpenCL logo
Original author(s)
Apple Inc.
Developer(s)
Khronos Group
Stable release
Edit this on Wikidata
C
C++
Operating system
Android
FreeBSD
Linux
macOS
Windows
Platform
ARMv7
ARMv8
Cell
IA-32

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑