% Psychtoolbox:PsychGPGPU
%
% 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
% OpenCL.
%
% 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.
%
%
% Requirements:
%
% 1. A NVidia GPU with CUDA compute capabilities. This is any OpenGL3/4
%    capable GPU, starting with the GeForce-8000 series or later.
%
% 2. The freely downloadable CUDA SDK Version 5.0 or later from NVidia:
%    https://developer.nvidia.com/cuda-downloads
%
% 3. The free and open-source GPUmat toolbox for Matlab from SourceForge:
%    http://sourceforge.net/projects/gpumat
%
% 4. 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?
%
% Demos can be found in the Psychtoolbox/PsychDemos/GPGPUDemos folder.
%
% This folder contains support functions for GPU computing:
%
% GPUTypeFromToGL        - Helper function to transfer data efficiently
%                          between CUDA/GPUmat data types and
%                          OpenGL/Psychtoolbox.
%
% 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.
%
