1
$\begingroup$

I’m doing some research into what hardware I need and what hardware I have available in college for a final year project.

The project is designing a self driving car/computer vision system inside a simulation (instead of using an actual car and track as that’s out of scope for a final year project) The simulation will be an emulator of either N64 or SNES.

What would be the recommended hardware specs? How will having many GPUs benefit the project?

I can also get the specs of some of the available computers I have in college? I may even be able to get the college to fund new hardware.

$\endgroup$
2
  • 1
    $\begingroup$ I think you can easier answer this question once you set some constraints around your model. How many inputs are you going to have? What resolution of information do you want? What desired tasks are you trying to achieve? For training purposes you can use a CPU to train any typical neural network. A lot of these self driving cars have an on board TPU (tensor processing unit) that works upon an already trained Neural Network on Terabyte+ piles of information. Define your scope before you buy hardware. Ultimately you can rent a GPU farm for a few days to train your models $\endgroup$
    – Zakk Diaz
    Oct 24 '19 at 20:57
  • $\begingroup$ I’m closing this question because questions asking about specific hardware to solve programming/engineering problems are off-topic here, although we accept some hardware-related questions. Please, read our on-topic page ai.stackexchange.com/help/on-topic to know more about the topics that we accept here. This type of question is probably more appropriate for Data Science SE, though I cannot guarantee it's on-topic there. $\endgroup$
    – nbro
    Aug 19 '20 at 22:03
2
$\begingroup$

For a simulation of SNES or N64, the resolution is probably not that high. You can use either online credits or buy new hardware. For online credits, it is recommended if you do teh simulation/training for only several dozens hours, as eache hour costs around 5-10 dollars. AWS is a good choice as it have a large variety of choice for hardware. For higher performance, choose multi GPU setup.

However, if the simulation requires a long time, or you wish to own the hardware, you should buy your own hardware. Multiple GPU will scale quite nicely, so you may go for multi GPU if performance is needed. For single GPU, a RTX 2000 series is recommended as it have tensor cores to accelerate training of CNN. For a budget option, consider an RTX 2060 SUPER. It have 8 GB of VRAM with a relatively low price and yet it have tensor core functionality. For more powerful GPU, choose the RTX 2080 TI. It have 11GB of VRAM which is enough in most use case. For multiple GPU, you might want several RTX 2060 SUPER as they are cheap but the performance is quite good. The 8GB VRAM helps as well. For the highest performance, choose 2 or more RTX 2080 TI. It is enough for nearly most task. If this is not enough, renting an online instance is a better idea. Hope it helps and have a nice day.

$\endgroup$
0
1
$\begingroup$

Your hardware choice depends majorly on the sensors and camera specifications you need for your solution. For example, we are running a 2536x1920 resolution 20fps camera to detect cars and then read their number plates. Nvidia's RTX 2080Ti 11 GB can handle 2 such cameras at 20fps (real-time). However, this involves 2 models: 1 for detection of plates and a second for Optical Character Recognition (OCR, text reading of number plates (heavier)). If it were just detection, may be 4 cameras could be handled by a single GPU.

If your camera fps is higher (which, I think should be the case) you may require a better card with Volta architecture. DGX1 is one such machine. Edge TPUs don't provide as good a performance compared to such heavy GPUs in my experience.

$\endgroup$
3
  • 1
    $\begingroup$ Mind you, OP is doing it for university research, a DGX1 is 129000, which a student absolutely won't able to afford. Also, this is absolutely overkill, as the question states that OP is doing simulation using SNES or N64, which have low resolution. Also, DGX 1 is not a GPU, but multiple. It isn't comparable to a TPU. One TPU is comparable to a top end Volta GPU or even surpass it, but not 8 V100. Also, a N64 or SNES is not going to be running at a high FPS. $\endgroup$ Oct 26 '19 at 12:34
  • $\begingroup$ I was referring to Edge TPU manufactured by Coral. Google TPUs in cloud surpass most of the high end cards available in the market. But google is not selling TPUs in market as far as I know. Also, I wasn't aware of N64 or SNES since my field of work is a bit different. Thanks for correcting me though. $\endgroup$
    – Chetan
    Oct 30 '19 at 5:15
  • $\begingroup$ Oh I see. Nevermind. Edge TPU have very little performance compared to normal GPU. A low end NVIDIA Turing GPU can easily surpass that plus the benifits of fast memory and bandwidth. $\endgroup$ Oct 30 '19 at 10:57
0
$\begingroup$

I could have given you the specification suggestions directly. But I think I need to share some of my experiences with you. Based on that following are my suggestions:

First of all try some good free alternatives. If it meets your requirement then you are done. You can try Google Colab for this purpose. From my experience I can say that it will be enough for you if your data set is not too big. If it is too big then you are likely to face the following problems (as I myself already faced them very well):

  • The Notebook usage quota will be a nightmare. The notebook's session will not last for more than 12 hours.
  • If you are using your google drive for hosting data set you will likely face another nightmare. The Google Drive has also limitations how much you can read and write within a certain length of time. Personally I ran out of read-right quota after reading 15 GB of training data from drive and therefore could not read files from drive around for around 4 days. I was blocked. There might be some bypasses but for me I just could not avail them.

But you should have a try on this free option initially to verify if it is enough for you.

Secondly you can look for some paid cloud services. But if you need to use them for days or months then it might not be a better solution for you.

Finally if you are planning for buying a GPU then there are various options for you. If you are planning to buy just for your current research purpose then you might compromise with the GPU capacity if it meets your need. But if you are very serious about deep learning then you may follow the suggestions in the others' answers, discuss with people who are using those GPUs and lastly, I recommend you to have a look on Choosing the Best GPU for Deep Learning in 2020 | Lambda Labs. It describes many aspects of various GPUs and also provided benchmarks. Additionally I am just quoting a portion of the summarization here:

  • RTX 2060 (6 GB): if you want to explore deep learning in your spare time.

  • RTX 2070 or 2080 (8 GB): if you are serious about deep learning, but your GPU budget is $600-800.Eight GB of VRAM can fit the majority of models.

  • RTX 2080 Ti (11 GB): if you are serious about deep learning and your GPU budget is ~$1,200. The RTX 2080 Ti is ~40% faster than the RTX 2080.

  • Titan RTX and Quadro RTX 6000 (24 GB): if you are working on SOTA models extensively, but don't have budget for the future-proofing available with the RTX 8000.

  • Quadro RTX 8000 (48 GB): you are investing in the future and might even be lucky enough to research SOTA deep learning in 2020.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.