GPU: Deep learning

Choosing hardware components to build GPU for deep learning

Choose GPU with Suitable hardware
Choose GPU with Suitable hardware

OUTLINE OF BLOG

  • Why GPU performs better than CPU for deep learning.
  • Important Parameters to look in a GPU.
  • Some Technical terms to be understood before proceeding further.
  • Deciding different hardware components to build GPU
  • Conclusion

Why GPU performs better than CPU for deep learning

Question is “Why GPU is well suited for deep learning”. CPU are latency optimized while GPU are bandwidth optimized. CPU can be treated as a car while GPU a truck. For fetching small amount of memory CPU is best while for fetching large block of memory GPU suits well. Facts says that best CPU has 50 GB/s while best GPU has 750 GB/s memory bandwidth. In GPU with the help of thread parallelism, latency is reduced, A single GPU might have thousands of core while CPU have maximum of 12 cores (usually). This facts supports the fact that GPU is well adapted for vector and matrix operation. Deep learning contains a lot of vector multiplication and involves high computations where GPU wins over CPU. GPU are stream processors that handles data flow problems well but you need to learn CUDA or OpenCL to program them. Parallelism and much higher bandwidth makes their upper hand over CPU with respect to deep learning and solving high computational problems.

Important Parameters to look in a GPU

  • High Memory Bandwidth: More memory will handle huge amount of data.
  • Processing Power: It is the measure of how fast your GPU process data. If writing the equation technically, it is equal to number of CUDA cores* clock speed of each core.
  • Video RAM Size: This forms an important part when you are working with some computer vision model and is a measure of amount of data you have on your video card at once. But if you are working on natural language processing, word emebedding it is less significant.

Some Technical terms to be understood before proceeding further

  • Form Factor: In hardware language, it is the size, configuration or physical arrangement of a computing device. In software language it is size of program or amount of memory to run the program
  • PCIe Slots: Full form of PCIe is Peripheral Component Interconnect Express. It is high speed serial computer expansion bus standard which is overcoming standard’s such as PCI, PCI-X and AGP. Some of the advantages includes high maximum system bus throughput, lower input/output pin count, better error detection, and hot swap functionality. With hot swap, new components can be added or the existing can be replaced without shutting the system.
  • RAM: RAM full form is Random Access Memory. It is the hardware in the computing device where the program which are in current use are kept so that processor can fetch it easily,
  • SSD: Full form of SSD is Solid State Drive. It is a nonvolatile storage media that stores persistent data on a solid state flash memory. Comparing with HDD (hard disk drive) SSD has no moving parts to break. It has faster storage and better performance than HDD. It offers less latency than HDD and can effectively handle effective workloads.
  • SATA: Full form is Serial Advanced Technology Attachment. It is a standard for connecting and transferring data from hard disk drives (HDDs) to computer system. Comparing SATA hard disk over PATA hard disk, SATA cables are thinner, more flexible and less massive than the ribbon cables.

Deciding different hardware components to build GPU

  • PCIe Slot: GPU requires 16 PCIe lanes to work at its full capacity. GPU, wifi cards, sound cards are all connected via PCIe. PCIe determines which devices are plugged into the motherboard. If you find something like x16 with respect to PCIe, it means scaling connection of PCIe by the scaled value.
  • Motherboard Selection: As discussed above a GPU required 16 PCIe Lanes slot to work effectively so chipsets which can be suitable are Z170 and Z270 as they No of PCIe Lanes more than 16 and supports both 6th and 7th Generation Intel processor. If you go for Z370, it supports 8th intel processor.
  • CPU Selection: One of the best options one can choose is intel i7. Intel i5 can be other choice as it would give you less expensive option.
  • RAM: For deep learning, it is recommended to have minimum 16 GB RAM but 32 GB would be a good option.
  • CLOCK: Minimum of 2400 MHz is advised.
  • SSD: Minimum of 128 GB
  • HDD: Minimum 2 TB is recommended.

GPU: They are the core part of deep learning. They have small cores that have threads which enables them to run the matrix operation faster. Nvidia provides CUDA toolkit which works on all major deep learning framework such as Tensorflow, Pytorch, Caffe. Titan Xp and GTX 1080 Ti are very close to performance. If you have less money prefer GTX 1080, GTX 1070 Ti, GTX 1070, GTX 1060, GTX 1050 Ti. If you consider the cost of GTX Titan Xp it would be around 1200 USD Dollar whereas GTX 1050 Ti can be buyed with price 160 USD Dollar.  If you want to do some competition under Kaggle you may prefer Titan Xp or GTX 1080 Ti but if you less price and just a starter you may buy GTX 1050 Ti.

Conclusion

Hope you like this post. We have seen some important parts such as some technical difference between CPU and GPU. We moved forward and learnt some technical terms with respect to CPU and GPU. Hope you have learned some of the terminology related to GPU. In the next section, you have come across some key points to buy the GPU and different hardware, At the end we have also gave a conclusion that if you buy Titan Xp series it may be beneficial but there are many other things that we need to research and will update soon. Please visit aisangam to see list of products and services provided by parent company. I wish you must also see these videos to know us more.

Real-time face recognition on custom images using Tensorflow Deep Learning

Tensorflow Image Classification using Inception-v3 deep learning

OCR | Extract Character’s in Blur Image using Python | AI Sangam

Please visit the main official blog aisangam blog to know us more. AI Sangam is a data consulting and artificial intelligence solution providing company which aims to make the task easier through programming. We are one of the best python company. Selfawareness hub and Glbaat are some of the child companies. We try to write best quality articles. Hope you will provide some valuable feedback.

We would also suggest that room where the GPU needs to be installed can contain exhaust Fan so that heat can be dissipated from room also. Below after research we present one such fan from atomberg with the model Efficio Exhaust Fan (250mm) with BLDC Motor. It has noise level 25dB which is silent and having BLDC motor. Good thing is that it has 100% PURE COPPER Motor. It has double ball bearing. Please check it from below link.

atomberg Efficio Exhaust Fan (250mm) with BLDC Motor | Easy to Clean | 1+1 Year Warranty (Black)

We also suggest that celing fan in the room can have the below parameters for better heat dissipation from the room

  • Air flow rate: 200-240 CMM [Cubic Meter Per Minute]
  • RPM: 300-400
  • Double bearing
  • Power consumption as less as possible

Based on these parameters, we recommend to buy the below ceiling fan

6 Comments

Click here to post a comment

  • I need to run the GPU instance on the cloud platform as I am new to deep learning and I cannot effort to buy the GPU right now. Please suggest me which of the companies provides cloud platform for my purpose and it would be grateful if you help me out to know their price rate.

    With Regards
    Anamika

  • Hello self awareness hub. How are you. I need to buy GPU and I want to know whether I should choose air cooling over the CPU or Liquid cooling. Please advice me.

    • Thanks Sonu for writing to us. Let me tell you the below points and it will helps you to decide the best one for you.

      1.) Liquid cooling is far more efficient and powerful than air cooling as high volume of liquid coolant can be circulated more easily.
      2.) For gaming and high end deep learning where you deal with a lot of parameters, liquid cooling is preferable and advisable also. It provides less noise and improves overclocking potential
      3.) It helps in preventing CPU damage because of heat especially in warmer areas.

      With Regards
      http://selfawarenesshub.org

More Posts