CUDALink
CUDALink allows the Wolfram Language to use the CUDA parallel computing architecture on Graphical Processing Units (GPUs). It contains functions that use CUDA-enabled GPUs to boost performance in a number of areas, such as linear algebra, financial simulation, and image processing. CUDALink also integrates CUDA with existing Wolfram Language development tools, allowing a high degree of automation and control.
Query
CUDAQ — determine whether CUDALink is supported
CUDAInformation — enumerate all device information
CUDADriverVersion — give video driver version
$CUDADeviceCount — number of devices on system
$CUDALinkPath — path to the CUDALink application
$CUDADevice — device used in CUDALink computation
Resource Installation
CUDAResourcesInformation — give information on installed CUDA resources
Image Processing
Filtering
CUDAImageConvolve — convolve images with specified kernel
CUDABoxFilter — apply the box filter on images
Morphology
CUDADilation — apply morphological dilation on images
CUDAErosion — apply morphological erosion on images
CUDAOpening — apply morphological opening on images
CUDAClosing — apply morphological closing on images
Binary Operations
CUDAImageAdd — add two images
CUDAImageSubtract — subtract two images
CUDAImageMultiply — multiply two images
CUDAImageDivide — divide two images
CUDAClamp — clamp values of an image between a specified range
CUDAColorNegate — invert an image
Fourier Transform
CUDAFourier — find the Fourier transform
CUDAInverseFourier — find the inverse Fourier transform
Linear Algebra
CUDADot — give the product of vectors and matrices
CUDATranspose — transpose input matrix
CUDAArgMaxList — give the index with maximum absolute element
CUDAArgMinList — give the index with minimum absolute element
CUDATotal — give the total of the absolute values of a vector
Memory
CUDAMemory — handle to CUDA memory registered using CUDAMemoryLoad or CUDAMemoryAllocate
CUDAMemoryLoad — load Wolfram System memory into CUDALink returning CUDAMemory
CUDAMemoryAllocate — allocate memory for CUDALink returning CUDAMemory
CUDAMemoryGet — copy CUDAMemory to the Wolfram System
CUDAMemoryUnload — unload and delete a CUDAMemory handle
CUDAMemoryInformation — get CUDAMemory handle information
CUDAMemoryCopyToHost — copy CUDAMemory from GPU to CPU
CUDAMemoryCopyToDevice — copy CUDAMemory from CPU to GPU
Executing Code
CUDAFunction — handle to CUDA function loaded using CUDAFunctionLoad
CUDAFunctionLoad — load CUDAFunction into the Wolfram System
CUDAFunctionInformation — get CUDAFunction information
Compiling
NVCCCompiler — compile code using the NVIDIA CUDA compiler
CUDACCompilers — give a list of supported C compilers installed on the system
Symbolic CUDA
SymbolicCUDAFunction — symbolic representation of a CUDA function
SymbolicCUDABlockIndex — symbolic representation of a block index CUDA call
SymbolicCUDAThreadIndex — symbolic representation of a thread index CUDA call
SymbolicCUDABlockDimension — symbolic representation of a block dimensions CUDA call
SymbolicCUDACalculateKernelIndex — symbolic representation of a CUDA index calculation
SymbolicCUDADeclareIndexBlock — symbolic representation of a CUDA index declaration
Examples
CUDAFinancialDerivative — financial option valuation
CUDAMap — apply a function to each element on an input list
CUDASort — sort input elements
CUDAFold — fold input elements
CUDAFoldList — fold input elements into a list
CUDAVolumetricDataRead — read raw volumetric data to be rendered
CUDAVolumetricRender — render volumetric data read
CUDAFluidDynamics — compute and render a fluid dynamics simulation