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