If you are doing deep learning AI research and/or development with GPUs, big chance you will be using graphics card from NVIDIA to perform the deep learning tasks. A vantage point with GPU computing is related with the fact that the graphics card occupies the PCI / PCIe slot. From the frugality point of view, it may be a brilliant idea to scavenge unused graphics cards from the fading PC world and line them up on another unused desktop motherboard to create a somewhat powerful compute node for AI tasks. Maybe not.
With the increasing popularity of container-based deployment, a system architect may consider creating several containers with each running different AI tasks. This means that that the underlying GPU resources should then be shared among the containers. NVIDIA provides a utility called NVIDIA Docker or nvidia-docker2 that enables the containerization of a GPU-accelerated machine. As the name suggests, the utility targets Docker container type.
This utility, however, cannot be immediately usable for all NVIDIA graphics card models. Only graphics card having GPUs with architecture newer than Fermi can benefit from this feature. This post summarizes the list of NVIDIA desktop GPU models that serve as a better fit for building a deep learning AI system, especially through containerization support of AI tasks. The list is sourced from the Wikipedia entry of NVIDIA GPUs.
Series | Model Name | Architecture | Code Name | Bus Interface | Launch Date |
---|---|---|---|---|---|
GeForce 600 | GeForce GT 630 | Kepler | GK107 | PCIe 2.0 x16 | April 24, 2012 |
Kepler | GK208-301-A1 | PCIe 2.0 x8 | May 29, 2013 | ||
GeForce GT 635 | Kepler | GK208 | PCIe 3.0 x8 | February 19, 2013 | |
GeForce GT 640 | Kepler | GK107-301-A2 | PCIe 3.0 x16 | April 24, 2012 | |
Kepler | GK107 | PCIe 3.0 x16 | June 5, 2012 | ||
Kepler | GK208-400-A1 | PCIe 2.0 x8 | May 29, 2013 | ||
GeForce GTX 645 | Kepler | GK106 | PCIe 3.0 x16 | April 22, 2013 | |
GeForce GTX 650 | Kepler | GK107-450-A2 | PCIe 3.0 x16 | September 13, 2012 | |
GeForce GTX 650 Ti | Kepler | GK106-220-A1 | PCIe 3.0 x16 | October 9, 2012 | |
GeForce GTX 650 Ti Boost | Kepler | GK106-240-A1 | PCIe 3.0 x16 | March 26, 2013 | |
GeForce GTX 660 | Kepler | GK106-400-A1 | PCIe 3.0 x16 | September 13, 2012 | |
Kepler | GK104-200-KD-A2 | PCIe 3.0 x16 | August 22, 2012 | ||
GeForce GTX 660 Ti | Kepler | GK104-300-KD-A2 | PCIe 3.0 x16 | August 16, 2012 | |
GeForce GTX 670 | Kepler | GK104-325-A2 | PCIe 3.0 x16 | May 10, 2012 | |
GeForce GTX 680 | Kepler | GK104-400-A2 | PCIe 3.0 x16 | March 22, 2013 | |
GeForce GTX 690 | Kepler | 2× GK104-355-A2 | PCIe 3.0 x16 | April 29, 2012 | |
GeForce 700 | GeForce GT 710 | Kepler | GK208-301-A1 | PCIe 2.0 x8 | March 27, 2014 |
Kepler | GK208-203-B1 | PCIe 2.0 x8 | January 26, 2016 | ||
GeForce GT 720 | Kepler | GK208-201-B1 | PCIe 2.0 x8 | March 27, 2014 | |
GeForce GT 730 | Kepler | GK208-301-A1 | PCIe 2.0 x8 | June 18, 2014 | |
Kepler | GK208-400-A1 | PCIe 2.0 x8 | June 18, 2014 | ||
GeForce GT 740 | Kepler | GK107-425-A2 | PCIe 3.0 x16 | May 29, 2014 | |
GeForce GTX 745 | Maxwell | GM107-300-A2 | PCIe 3.0 x16 | February 18, 2014 | |
GeForce GTX 750 | Maxwell | GM107-300-A2 | PCIe 3.0 x16 | February 18, 2014 | |
GeForce GTX 750 Ti | Maxwell | GM107-400-A2 | PCIe 3.0 x16 | February 18, 2014 | |
GeForce GTX 760 192-bit | Kepler | GK104-200-KD-A2 | PCIe 3.0 x16 | October 17, 2013 | |
GeForce GTX 760 | Kepler | GK104-225-A2 | PCIe 3.0 x16 | June 25, 2013 | |
GeForce GTX 760 Ti | Kepler | GK104 | PCIe 3.0 x16 | N/A | |
GeForce GTX 770 | Kepler | GK104-425-A2 | PCIe 3.0 x16 | May 30, 2013 | |
GeForce GTX 780 | Kepler | GK110-300-A1 | PCIe 3.0 x16 | May 23, 2013 | |
GeForce GTX 780 Ti | Kepler | GK110-425-B1 | PCIe 3.0 x16 | November 7, 2013 | |
GeForce GTX TITAN | Kepler | GK110-400-A1 | PCIe 3.0 x16 | February 21, 2013 | |
GeForce GTX TITAN Black | Kepler | GK110-430-B1 | PCIe 3.0 x16 | February 18, 2014 | |
GeForce GTX TITAN Z | Kepler | 2× GK110 | PCIe 3.0 x16 | March 25, 2014 | |
GeForce 900 | GeForce GT 945A | Maxwell | GM108-? | PCIe 3.0 x8 | February, 2016 |
GeForce GTX 950 | Maxwell | GM206-250 | PCIe 3.0 x16 | August 20, 2015 | |
GeForce GTX 960 | Maxwell | GM206-300 | PCIe 3.0 x16 | January 22, 2015 | |
GeForce GTX 970 | Maxwell | GM204-200 | PCIe 3.0 x16 | September 18, 2014 | |
GeForce GTX 980 | Maxwell | GM204-400 | PCIe 3.0 x16 | September 18, 2014 | |
GeForce GTX 980 Ti | Maxwell | GM200-310 | PCIe 3.0 x16 | June 1, 2015 | |
GeForce GTX TITAN X | Maxwell | GM200-400 | PCIe 3.0 x16 | March 17, 2015 | |
GeForce 10 | GeForce GT 1030 | Pascal | GP108-300 | PCIe 3.0 x4 | May 17, 2017 |
GeForce GTX 1050 | Pascal | GP107-300 | PCIe 3.0 x16 | October 25, 2016 | |
GeForce GTX 1050 Ti | Pascal | GP107-400 | PCIe 3.0 x16 | October 25, 2016 | |
GeForce GTX 1060 | Pascal | GP106-300 | PCIe 3.0 x16 | August 18, 2016 | |
GeForce GTX 1070 | Pascal | GP104-200 | PCIe 3.0 x16 | June 10, 2016 | |
GeForce GTX 1070 Ti | Pascal | GP104-300 | PCIe 3.0 x16 | November 2, 2017 | |
GeForce GTX 1080 | Pascal | GP104-400 | PCIe 3.0 x16 | May 27, 2016 | |
GeForce GTX 1080 Ti | Pascal | GP102-350 | PCIe 3.0 x16 | March 5, 2017 | |
Nvidia TITAN X | Pascal | GP102-400 | PCIe 3.0 x16 | August 2, 2016 | |
Nvidia TITAN Xp | Pascal | GP102-450 | PCIe 3.0 x16 | April 6, 2017 | |
Volta | Nvidia TITAN V | Volta | GV100-400-A1 | PCIe 3.0 x16 | December 7, 2017 |
What about non-desktop GPUs such as those on workstation or laptop? Can we also use them for deep learning? NVIDIA provides the list for all products with CUDA support on this page: https://developer.nvidia.com/cuda-gpus.
CUDA-enabled vs Deep-Learning Ready GPUs
It is important to note that not all CUDA-enabled GPUs can perform deep learning tasks. NVIDIA introduced a terminology called CUDA compute capability that refers to the general specifications and available features of a CUDA-enabled GPU. The GPUs built with Fermi architecture has a maximum compute capability of 2.1, while the Kepler architecture has a minimum compute capability of 3.0.
The deep learning frameworks that rely on CUDA for GPU computing operate by invoking CUDA-specific GPU-accelerated deep learning methods to speed up the computation. These methods are provided in the cuDNN library. The library itself is compatible with CUDA-enabled GPUs with compute capability at least 3.0. It is suffice to say that only GPUs with Kepler architecture or newer are capable of accomplishing the deep learning tasks, or in other words, deep-learning ready.
Pingback: Guide: Installing Cuda Toolkit 9.1 on Ubuntu 16.04 « Amikelive | Technology Blog
Pingback: CUDA Compatibility of NVIDIA Display / GPU Drivers | Amikelive | Technology Blog
Pingback: Guide: Installing Docker Engine Utility for NVIDIA GPU (nvidia-docker2) on Ubuntu 16.04 | Amikelive | Technology Blog