What should be the suitable system configuration/hardware specification to work on Convolutional Neural Network (CNN) for hyperspectral imaging?

30 views (last 30 days)
Kamanasish Bhattacharjee
Kamanasish Bhattacharjee on 7 Feb 2019
Answered: Jason Ross on 7 Feb 2019
I am working on hyperspectral imaging and want to employ CNN for this purpose. There are GPU specifications given to train CNN in MATLAB - "You can train a network on either a CPU or a GPU. For image classification and image regression, you can train using multiple GPUs or in parallel. Using GPU, multi-GPU, and parallel options requires Parallel Computing Toolbox™. To use a GPU for deep learning, you must also have a CUDA® enabled NVIDIA® GPU with compute capability 3.0 or higher." Currently my system has the following configuration -
GPU - Quadro 2000 (CUDA enabled, Compute capability - 2.1)
Processor - Intel® Xeon® CPU E5-2640 @ 2.50GHz
RAM - 16 GB
System type - 64-bit Windows 10 Education OS, x64-based processor
As there are many CUDA enabled NVIDIA GPUs available with varying compute capabilities (i.e. Tesla, Quadro, NVS, GeForce, Tegra/Jetson), I am confused which one will be suitable for my task?
Apart from upgrading the GPU, what system configurations do I need to upgrade?
What will be the suitable/optimum combination of hardware specifications for my purpose as hyperspectral image processing is a computationally intensive task?

Answers (1)

Jason Ross
Jason Ross on 7 Feb 2019
If you want to do GPU processing, your best bet is to get a GPU that is not driving display, so it can be put into TCC mode and used exclusively for compute. The general rule is that Tesla, Quadro and GeForce Titan cards can be put into this mode. So instead of upgrading your existing GPU, the better plan would be to keep that one for driving the display and get a new card for doing the GPU compute that will run alongside it.
The main concern with running a GPU for compute for long periods are power and heat. You need to have a power supply in the host that can provide adequate power to the GPU as well as other system components, and have enough cooling capacity to move the heat out of the chassis.
The Tesla line of cards is generally passively cooled and designed to go in a server enclosure which provides adequate cooling, so it's unsuitable for a workstation. You would probably want to select a card from the Quadro or GeForce Titan line. Most full size workstations I'm familar with should be able to do a display GPU and one additional compute GPU (2 full size PCI slots on the motherboard) -- but that's dependenent on the form factor of your workstation as well as power supply. Going to display card + two compute GPUs can be done in some workstation lines, and there are some deskside workstations that will support 4 GPUs doing compute -- but these are generally spec'd / ordered specifically.
There are plenty of vendors that support any of the above (and more), but of course in the end it comes down to what your budget is.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!