matlab采用GPU運算
>>help gpu
There are several options available for using your computer‘s graphics
processing unit (gpu) for matrix operations.
- Transfer data between the MATLAB workspace and the gpu
- Evaluate individual MATLAB functions that have been
overloaded for execution on the gpu
- Execute MATLAB code containing multiple functions using ARRAYFUN.
(Not all MATLAB functions are supported.)
- Create kernels from CU files for execution on the gpu
The gpu Computing section of the Parallel Computing Toolbox User‘s Guide
provides more information on these use cases and lists supported devices
and device drivers.
Data Transfer Operations
gpuArray - Transfer an array from the MATLAB workspace to the gpu
gather - Transfer an array from the gpu to the MATLAB workspace
MATLAB Overloads
MATLAB functions that have been made available for
execution on the gpu can be viewed using the command
methods(‘gpuArray‘)
Certain other MATLAB functions that support gpuArray inputs are
listed in the Parallel Computing Toolbox documentation.
Examples:
% FFT
A = gpuArray( rand( 2^16, 100 ) );
F = fft(A)
% MLDIVIDE
A = gpuArray( rand(1024) ); B = gpuArray( rand(1024,1) );
X = A\B
% MTIMES
A = gpuArray( rand(1024) ); B = gpuArray( rand(1024) );
C = A*B
Execute MATLAB code on the gpu
gpuArray/arrayfun - Apply a function to each element of an array on
the gpu
The function to evaluate on the gpu must exist on the path. Only a
subset of the MATLAB language is supported by ARRAYFUN on the gpu.
The restrictions are listed in the User‘s Guide.
Example:
% The file xycrull.m is one example of an existing MATLAB file
% that can be automatically executed on the gpu.
%
% Execute ‘type xycrull‘ at the MATLAB prompt to view the contents
% of the file.
%
gt = gpuArray(rand(400));
[o1, o2] = arrayfun(@xycrull, gt)
CUDA Kernel Operations
parallel.gpu.CUDAKernel - Create a kernel object that corresponds
to a particular kernel in a CU file
parallel.gpu.CUDAKernel/feval - Evaluate a kernel on the gpu
Device Information
gpuDeviceCount - Return the number of gpu devices available
gpuDevice - Query or select a gpu device
Timing gpu Operations
gputimeit - Measure time required to run function on gpu
matlab采用GPU運算