Difference between revisions of "Matlab, CUDA, and GPU Computing"

From edegan.com
Jump to navigation Jump to search
Line 35: Line 35:
 
1. [https://www.mathworks.com/discovery/matlab-gpu.html MATLAB GPU Computing Support for NVIDIA CUDA-Enabled GPUs] <br>
 
1. [https://www.mathworks.com/discovery/matlab-gpu.html MATLAB GPU Computing Support for NVIDIA CUDA-Enabled GPUs] <br>
 
2. [https://www.mathworks.com/help/distcomp/getting-started-with-parallel-computing-toolbox.html Getting Started with Parallel Computing Toolbox] <br>
 
2. [https://www.mathworks.com/help/distcomp/getting-started-with-parallel-computing-toolbox.html Getting Started with Parallel Computing Toolbox] <br>
 +
3. [https://www.mathworks.com/videos/speeding-up-algorithms-when-parallel-computing-and-gpus-do-and-dont-accelerate-92914.html Speeding Up Algorithms: When Parallel Computing and GPUs Do and Don't Accelerate]

Revision as of 12:21, 5 July 2018

Main Project here: Estimating Unobserved Complementarities between Entrepreneurs and Venture Capitalists Matlab Code

Getting Started

We are running remotely on the Database Server via VNC. The VNC service on DB Server was configured by Wei during Summer 2018.

  • To start/configure the VNC service on DB Server and to get connected remotely, see the documentation here.
  • Once you are connected to DB Server through VNC, open a terminal on DB Server and type
matlab

This will bring up the Matlab GUI.

  • To check if Matlab is working with our Nvidia graphics card, in the Matlab command window, type
gpuDevice. 

GpuDevice.png

What Works, and What Doesn't

  • For the above reason, Gurobi does not support GPU computing.
  • Matlab does not have GPU-based linprog or ga.
  • Gurobi does support CPU parallelism.
  • In general, individual threads of GPU only perform well with simple arithmetic tasks. Task-parallelizing toolboxes/libraries/packages onto threads of GPU is NO GO.

Deliverable

1.In Matlab, use parfor for both CPU and GPU to solve a set of LPs. Profile and compare.

Reference

1. MATLAB GPU Computing Support for NVIDIA CUDA-Enabled GPUs
2. Getting Started with Parallel Computing Toolbox
3. Speeding Up Algorithms: When Parallel Computing and GPUs Do and Don't Accelerate