General Purpose Graphics Processing Unit (GPGPU) computing suppport.
This folder contains functions which employ massively parallel computing
hardware, typically modern GPU’s, to accelerate computing tasks in the
context of stimulus presentation. The compute hardware is controlled via
computing api’s like NVidia CUDA or the cross-platform, cross-vendor api
The current initial implementation as of April 2013 only supports CUDA
compute capable NVidia GPUs in combination with the free and open-source
GPUmat toolkit for 64-Bit Matlab. Support for GNU/Octave and other GPU
and compute toolkits, e.g., OpenCL based systems, will follow in later
releases. Currently only 64-Bit Matlab is supported. While it would be
possible to also provide 32-Bit support, we don’t expect much demand for
it, so will not deliver 32-Bit support for the time being.
The freely downloadable CUDA SDK Version 5.0 or later from NVidia:
A 64-Bit version of Matlab for Linux or Windows. macOS is not
supported because Apple ripped out support for NVidia gpus from their
recent operating systems, because why not, right?
This folder contains support functions for GPU computing:
memcpyCudaOpenGL.cpp - Source code for the memcpyCudaOpenGL mex files.
makememcpyCudaOpenGL.m - Build script to build mex files against Matlab
and CUDA 5.0 SDK.
memcpyCudaOpenGL.mex* - Mex files for 64-Bit Matlab.