matlab and the gpu who is accelereyes? –accelereyes is a mathworks partner –jacket: gpu engine...

18

Upload: gilbert-west

Post on 28-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally
Page 2: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

MATLAB and the GPU• Who is AccelerEyes?

– AccelerEyes is a MathWorks partner– Jacket: GPU Engine for MATLAB

• What’s a GPU?– Graphics processing unit– Traditionally used for video games– Now redesigned for use for science as well– Massively parallel with 240 processor cores

Page 3: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

MATLAB and the GPU• Who is AccelerEyes?

– AccelerEyes is a MathWorks partner– Jacket: GPU Engine for MATLAB

• What’s a GPU?– Graphics processing unit– Traditionally used for video games– Now redesigned for use for science as well– Massively parallel with 240 processor cores

• What’s in it for you?– Low-priced speed

Page 4: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

MATLAB Options• CPU Solutions

(blue arrows)– MATLAB and the

Parallel Computing toolbox enable PC and clustered MATLAB computing

• GPU Solutions (green arrow)– Jacket enables

CUDA MATLAB Computing

Page 5: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Why GPUs?

Speed

Page 6: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Why Jacket?

Jacket combines the speed of CUDA and the graphics of the GPU with the user friendliness of MATLAB.

Page 7: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Supported platforms?

Page 8: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Jacket at Work

CPU GPU

This Neural Net only required 3 changes (in red).

Page 9: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Jacket Functionality

Generators: geye, gones, gzeros Element-wise: +, *, -, / Reductions: sum, min, max … Indexing: subscripted referencing /

subscripted assignment Linear Algebra: matrix multiply, … FFT: fft, ifft, fftn, ifftn Filtering: filter, filter2, convn Interpolation: interp2 Parallel for-loops: gfor

• standard CUDA functionality: libraries• MEX files + CUDA• Customized low-level GPU codes

Page 10: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Graphics Toolbox

True visual computing OpenGL API in MATLAB Interactive OpenGL Key functions: gsurf, gimage, gscatter3, gplot, … Visualization scripts are open and modifiable.

Jacket includes the Graphics Toolbox

Page 11: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Kernel Benchmarks

54x Speedup 16x Speedup

Page 12: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Application Benchmarks

Page 13: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally
Page 14: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally
Page 15: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Some Jacket Customers

Page 16: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Jacket Roadmap: 09-10

– more gfor– gdouble– multi-GPU support (for clusters of GPUs)– LAPACK (eig, inv, etc.)– signal processing– image processing (and computer vision)– statistical functions– handle graphics– Simulink® on the GPU– lots of other MATLAB functions (finance,

biology, etc.)

Lo

w-e

nd

To

olb

ox

esH

igh

-en

d

Page 17: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Jacket Pricing

Page 18: MATLAB and the GPU Who is AccelerEyes? –AccelerEyes is a MathWorks partner –Jacket: GPU Engine for MATLAB What’s a GPU? –Graphics processing unit –Traditionally

Questions?

[email protected]

Forum support:www.accelereyes.com/forums

Sprinx Systemshttp://hpc.sprinx.cz/sw/jacket.aspx

[email protected]