Reference
  - 
    Functions
    
- OpenCLFractalRender3D
 - OpenCLFunction
 - OpenCLFunctionInformation
 - OpenCLFunctionLoad
 - OpenCLImplicitRender3D
 - OpenCLInformation
 - OpenCLMemory
 - OpenCLMemoryAllocate
 - OpenCLMemoryCopyToDevice
 - OpenCLMemoryCopyToHost
 - OpenCLMemoryGet
 - OpenCLMemoryInformation
 - OpenCLMemoryLoad
 - OpenCLMemoryUnload
 - OpenCLMersenneTwister
 - OpenCLQ
 - SymbolicOpenCLBlockDimension
 - SymbolicOpenCLBlockIndex
 - SymbolicOpenCLCalculateKernelIndex
 - SymbolicOpenCLDeclareIndexBlock
 - SymbolicOpenCLFunction
 - SymbolicOpenCLKernelIndex
 - SymbolicOpenCLThreadIndex
 - $OpenCLDevice
 - $OpenCLLinkLibraryPath
 - $OpenCLLinkPath
 - $OpenCLPlatform
 
 - Related Guides
 - Tech Notes
 - 
    
    
- 
      Functions
      
- OpenCLFractalRender3D
 - OpenCLFunction
 - OpenCLFunctionInformation
 - OpenCLFunctionLoad
 - OpenCLImplicitRender3D
 - OpenCLInformation
 - OpenCLMemory
 - OpenCLMemoryAllocate
 - OpenCLMemoryCopyToDevice
 - OpenCLMemoryCopyToHost
 - OpenCLMemoryGet
 - OpenCLMemoryInformation
 - OpenCLMemoryLoad
 - OpenCLMemoryUnload
 - OpenCLMersenneTwister
 - OpenCLQ
 - SymbolicOpenCLBlockDimension
 - SymbolicOpenCLBlockIndex
 - SymbolicOpenCLCalculateKernelIndex
 - SymbolicOpenCLDeclareIndexBlock
 - SymbolicOpenCLFunction
 - SymbolicOpenCLKernelIndex
 - SymbolicOpenCLThreadIndex
 - $OpenCLDevice
 - $OpenCLLinkLibraryPath
 - $OpenCLLinkPath
 - $OpenCLPlatform
 
 - Related Guides
 - Tech Notes
 
 - 
      Functions
      
 
Reference
OpenCLLink allows the Wolfram Language to use the OpenCL parallel computing language. It contains functions that facilitate loading user-defined OpenCL functions into the Wolfram Language. OpenCLLink also integrates OpenCL with existing Wolfram Language development tools, allowing a high degree of automation and control.
Query
| OpenCLQ | determine whether OpenCLLink is supported | 
| OpenCLInformation | enumerate all device information | 
| $OpenCLLinkPath | path to the OpenCLLink application | 
| $OpenCLLinkLibraryPath | path to the OpenCLLink library resource files | 
| $OpenCLPlatform | platform used in OpenCLLink computation | 
| $OpenCLDevice | device used in OpenCLLink computation | 
Functions for querying the setup of OpenCLLink.
Programming
| OpenCLFunction | handle to OpenCL function loaded using OpenCLFunctionLoad | 
| OpenCLFunctionLoad | load OpenCLFunction into the Wolfram Language | 
| OpenCLFunctionInformation | get OpenCLFunction information | 
Working with OpenCL functions.
| SymbolicOpenCLFunction | symbolic representation of an OpenCL function | 
| SymbolicOpenCLBlockIndex | symbolic representation of a block index OpenCL call | 
| SymbolicOpenCLThreadIndex | symbolic representation of a thread index OpenCL call | 
| SymbolicOpenCLBlockDimension | symbolic representation of a block dimension OpenCL call | 
| SymbolicOpenCLKernelIndex | symbolic representation of a kernel index OpenCL call | 
| SymbolicOpenCLCalculateKernelIndex | symbolic representation of an OpenCL index calculation | 
| SymbolicOpenCLDeclareIndexBlock | symbolic representation of an OpenCL index declaration | 
Symbolic representations of OpenCL programs.
Memory
| OpenCLMemory | handle to OpenCL memory registered using OpenCLMemoryLoad or OpenCLMemoryAllocate | 
| OpenCLMemoryLoad | load Wolfram System memory into OpenCLLink, returning OpenCLMemory | 
| OpenCLMemoryAllocate | allocate memory for OpenCLLink, returning OpenCLMemory | 
| OpenCLMemoryGet | copy OpenCLMemory to the Wolfram Language | 
| OpenCLMemoryUnload | unload and delete an OpenCLMemory handle | 
| OpenCLMemoryInformation | get OpenCLMemory handle information | 
| OpenCLMemoryCopyToHost | copy OpenCLMemory from GPU to CPU | 
| OpenCLMemoryCopyToDevice | copy OpenCLMemory from CPU to GPU | 
Functions for working with memory in OpenCL.
Examples
| OpenCLFractalRender3D | compute and ray trace a 3D fractal | 
| OpenCLImplicitRender3D | compute and render an implicit surface | 
| OpenCLMersenneTwister | generate random numbers on the GPU |