views:

409

answers:

3

I'm trying to load a large dataset of a million points in 3d space in MATLAB, but whenever I try to plot it (scatter or plot3) , it takes forever. This is on a laptop with Intel Graphics Media Accelerator 950, up to 224-MB shared system memory. This also sometimes leads to Matlab 2008a crashing. Is there a way to let MATLAB use a Nvidia GPU for plotting this dataset. I have another laptop with Nvidia Go 6150. I'm on Windows Xp and Windows 7.

A: 

If you're wanting to use CUDA the minimum card spec required is a G80, your 6150 sadly is too old.

List of compatible cards.

Laurence Dawson
I'm not sure if CUDA affects plotting. I believed it is used to process vector data much faster, ie, using GPU instructions for vector/matrix operations
petantik
A: 

There is Jacket, the commercial product to give GPU power to Matlab:

http://www.accelereyes.com/products/jacket

You can download the trial version (30 days, as I remember).

yuk
+1  A: 

OpenGL

You can set the renderer used for figures in MATLAB.

http://www.mathworks.com/support/tech-notes/1200/1201.html

To take advantage of GPU, You can set it to OpenGL

set(0,'DefaultFigureRenderer','opengl')

Which

enables MATLAB to access graphics hardware if it is available on your machine. It provides object transparency, lighting, and accelerated performance.

Other ways

Also, the following link shows some ideas about optimizing graphics performance:

http://www.mathworks.com/access/helpdesk/help/techdoc/creating_plots/f7-60415.html

However,

These techniques apply to cases when you are creating many graphs of similar data and can improve rendering speed by preventing MATLAB from performing unnecessary operation.

petantik