Difference between revisions of "Matlab, CUDA, and GPU Computing"
Jump to navigation
Jump to search
Line 20: | Line 20: | ||
* '''GPU computing does not work well for linear programming.''' The biggest reason is [https://groups.google.com/forum/?fromgroups#!searchin/gurobi/gpu/gurobi/KTP6zDvodII/oPPQT4-mofMJ that GPUs don't work well for sparse linear algebra used for most LP solver]. Another [https://parallellp.wordpress.com/author/parallellp/ case study] published 3 years ago shows that "the overhead of communication between CPU and GPU grows faster than the benefit of parallelizing matrix operations via CUDA." In another [https://www.researchgate.net/publication/308967833_GPU_Computing_Applied_to_Linear_and_Mixed_Integer_Programming technical report], it is confirmed that "all algorithms (for solving LP and MIP problems)... do not fit to the SIMT paradigm". | * '''GPU computing does not work well for linear programming.''' The biggest reason is [https://groups.google.com/forum/?fromgroups#!searchin/gurobi/gpu/gurobi/KTP6zDvodII/oPPQT4-mofMJ that GPUs don't work well for sparse linear algebra used for most LP solver]. Another [https://parallellp.wordpress.com/author/parallellp/ case study] published 3 years ago shows that "the overhead of communication between CPU and GPU grows faster than the benefit of parallelizing matrix operations via CUDA." In another [https://www.researchgate.net/publication/308967833_GPU_Computing_Applied_to_Linear_and_Mixed_Integer_Programming technical report], it is confirmed that "all algorithms (for solving LP and MIP problems)... do not fit to the SIMT paradigm". | ||
+ | |||
+ | * For the above reason, Gurobi '''does not''' support GPU computing. | ||
+ | |||
+ | * Matlab '''does not''' have a built-in GPU-based linprog and ga. | ||
==Reference== | ==Reference== | ||
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> |
Revision as of 17:19, 3 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.
What Works, and What Doesn't
- GPU computing does not work well for linear programming. The biggest reason is that GPUs don't work well for sparse linear algebra used for most LP solver. Another case study published 3 years ago shows that "the overhead of communication between CPU and GPU grows faster than the benefit of parallelizing matrix operations via CUDA." In another technical report, it is confirmed that "all algorithms (for solving LP and MIP problems)... do not fit to the SIMT paradigm".
- For the above reason, Gurobi does not support GPU computing.
- Matlab does not have a built-in GPU-based linprog and ga.
Reference
1. MATLAB GPU Computing Support for NVIDIA CUDA-Enabled GPUs
2. Getting Started with Parallel Computing Toolbox