OpenCLLink
OpenCLLink allows Mathematica to use the OpenCL parallel computing language. It contains functions that facilitate loading user-defined OpenCL functions into Mathematica. OpenCLLink also integrates OpenCL with existing Mathematica development tools, allowing a high degree of automation and control.
OpenCL Platform and Device
$OpenCLPlatform — platform used in OpenCLLink computation
$OpenCLDevice — device used in OpenCLLink computation
Query
OpenCLQ — check whether the system is compatible with OpenCLLink
OpenCLInformation — enumerate OpenCL system information
$OpenCLLinkPath — path to the OpenCLLink application
Programming
OpenCLFunction — handle to OpenCL function loaded using OpenCLFunctionLoad
OpenCLFunctionLoad — load OpenCLFunction into Mathematica
OpenCLFunctionInformation — get OpenCLFunction information
Memory
OpenCLMemory — handle to OpenCL memory registered using OpenCLMemoryLoad or OpenCLMemoryAllocate
OpenCLMemoryLoad — load Mathematica memory into OpenCLLink returning OpenCLMemory
OpenCLMemoryAllocate — allocate memory for OpenCLLink returning OpenCLMemory
OpenCLMemoryGet — copy OpenCLMemory to Mathematica
OpenCLMemoryUnload — unload/delete OpenCLMemory handle
OpenCLMemoryInformation — get OpenCLMemory handle information
OpenCLMemoryCopyToHost — copy OpenCLMemory from GPU to CPU
OpenCLMemoryCopyToDevice — copy OpenCLMemory from CPU to GPU
Symbolic OpenCL
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
SymbolicOpenCLCalculateKernelIndex — symbolic representation of an OpenCL index calculation
SymbolicOpenCLDeclareIndexBlock — symbolic representation of an OpenCL index declaration