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

OpenCLQdetermine whether OpenCLLink is supported
OpenCLInformationenumerate all device information
$OpenCLLinkPathpath to the OpenCLLink application
$OpenCLLinkLibraryPathpath to the OpenCLLink library resource files
$OpenCLPlatformplatform used in OpenCLLink computation
$OpenCLDevicedevice used in OpenCLLink computation

Functions for querying the setup of OpenCLLink.

Programming

OpenCLFunctionhandle to OpenCL function loaded using OpenCLFunctionLoad
OpenCLFunctionLoadload OpenCLFunction into the Wolfram Language
OpenCLFunctionInformationget OpenCLFunction information

Working with OpenCL functions.

SymbolicOpenCLFunctionsymbolic representation of an OpenCL function
SymbolicOpenCLBlockIndexsymbolic representation of a block index OpenCL call
SymbolicOpenCLThreadIndexsymbolic representation of a thread index OpenCL call
SymbolicOpenCLBlockDimensionsymbolic representation of a block dimension OpenCL call
SymbolicOpenCLKernelIndexsymbolic representation of a kernel index OpenCL call
SymbolicOpenCLCalculateKernelIndexsymbolic representation of an OpenCL index calculation
SymbolicOpenCLDeclareIndexBlocksymbolic representation of an OpenCL index declaration

Symbolic representations of OpenCL programs.

Memory

OpenCLMemoryhandle to OpenCL memory registered using OpenCLMemoryLoad or OpenCLMemoryAllocate
OpenCLMemoryLoadload Wolfram System memory into OpenCLLink, returning OpenCLMemory
OpenCLMemoryAllocateallocate memory for OpenCLLink, returning OpenCLMemory
OpenCLMemoryGetcopy OpenCLMemory to the Wolfram Language
OpenCLMemoryUnloadunload and delete an OpenCLMemory handle
OpenCLMemoryInformationget OpenCLMemory handle information
OpenCLMemoryCopyToHostcopy OpenCLMemory from GPU to CPU
OpenCLMemoryCopyToDevicecopy OpenCLMemory from CPU to GPU

Functions for working with memory in OpenCL.

Examples

OpenCLFractalRender3Dcompute and ray trace a 3D fractal
OpenCLImplicitRender3Dcompute and render an implicit surface
OpenCLMersenneTwistergenerate random numbers on the GPU

Example applications of OpenCLLink.