Contents
Introduction
About GPUs
System requirements
Credits and licensing
How to install
Terminology
Documentation overview
Quick start
Matrix addition example
Matrix multiplication example
FFT calculation example
GPUmat compiler
Variable assignment
Performance analysis
GPUmat overview
Starting the GPU environment
Creating a GPU variable
Performing calculations on the GPU
Porting existing Matlab code
Converting a GPU variable into a Matlab variable
Indexed references
GPUmat functions
GPU memory management
Low level GPU memory management
Memory management using the GPU classes
Memory management using low level functions
Complex numbers
Coding guidelines
Memory transfers
Vectorized code and for-loops
Reduce intermediate variables creation
Matlab and GPU variables
Performance analysis
GPUmat compiler
Overview
For loops
System requirements
Limitations
Compilation errors
GPUfor.1 - Unable to parse iterator
GPUfor.2 - Iterator name cannot be i or j
GPUfor.3 - GPUfor iterator must be a Matlab double precision variable
NUMERICS.1 - Function compilation is not implemented
GPUMANAGER.13 - GPUtype variable not available in compilation context
GPUMANAGER.15 - Compilation stack overflow
Not implemented functions
Additional compilation options
Developer's section
Function Reference
Functions - by category
GPU startup and management
GPU variables management
GPU memory management
Numerical functions (High level)
Numerical functions (Low level)
General information
User defined modules
GPUmat compiler
Complex numbers
CUDA Driver functions
CUDA run-time functions
Operators
A & B
A'
A == B
A >= B
A > B
A <= B
A < B
A - B
A / B
A * B
A ~= B
~A
A | B
A + B
A . ^B
A ./ B
A(I)
A .* B
A .'
[A;B]
High level functions - alphabetical list
abs
acos
acosh
and
asin
asinh
assign
atan
atanh
ceil
clone
colon
complex
conj
cos
cosh
ctranspose
display
double
eq
exp
eye
fft
fft2
floor
ge
GPUcompileStart
GPUcompileStop
GPUcompileAbort
GPUdouble
GPUinfo
GPUisDoublePrecision
GPUmem
GPUsingle
GPUstart
GPUstop
GPUsync
gt
ifft
ifft2
imag
iscomplex
isempty
isreal
isscalar
ldivide
le
length
log
log10
log1p
log2
lt
minus
mrdivide
mtimes
ndims
ne
not
numel
ones
or
permute
plus
power
rdivide
real
repmat
reshape
round
sin
single
sinh
size
slice
sqrt
subsref
sum
tan
tanh
times
transpose
uminus
vertcat
zeros
Low level functions - alphabetical list
cuCheckStatus
cudaCheckStatus
cudaGetDeviceCount
cudaGetDeviceMajorMinor
cudaGetDeviceMemory
cudaGetDeviceMultProcCount
cudaGetLastError
cudaSetDevice
cudaThreadSynchronize
cufftPlan3d
cuInit
cuMemGetInfo
getPtr
getSizeOf
getType
GPUabs
GPUacos
GPUacosh
GPUallocVector
GPUand
GPUasin
GPUasinh
GPUatan
GPUatanh
GPUceil
GPUcomplex
GPUconj
GPUcos
GPUcosh
GPUctranspose
GPUeq
GPUexp
GPUeye
GPUfill
GPUfloor
GPUge
GPUgetUserModule
GPUgt
GPUimag
GPUldivide
GPUle
GPUlog
GPUlog10
GPUlog1p
GPUlog2
GPUlt
GPUminus
GPUmtimes
GPUne
GPUnot
GPUones
GPUor
GPUplus
GPUpower
GPUrdivide
GPUreal
GPUround
GPUsin
GPUsinh
GPUsqrt
GPUtan
GPUtanh
GPUtimes
GPUtranspose
GPUuminus
GPUuserModuleLoad
GPUuserModulesInfo
GPUuserModuleUnload
GPUzeros
memCpyDtoD
memCpyHtoD
setComplex
setReal
setSize
Bibliography