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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.