1
$\begingroup$

One question guys, someone knows if it should be ok to get one more GPU of type Nvidia Geforce GTX 1070 (gaming version), given that now I have GTX 1070 Titanium? They don't have another Titanium card available here, so I have to get a different one, but closely similar, and I wonder if for using Keras (with TensorFlow backend), will it work fine? They are not exactly the same cards, but similar enough maybe. I want 2 GPUs for Keras.

$\endgroup$

1 Answer 1

0
$\begingroup$

I tried training with a 1080 and a 2080 ti and I found that I didn't get any speed up from multi-gpu training because the 1080 acted as a bottleneck. So I while I think this would work fine, you would be better served to run a different model on each GPU rather than trying to train across GPUs.

$\endgroup$
6
  • $\begingroup$ Thank you. So even in worst case scenario that my two different GPUs don't contribute to speedup together, I can train models separately on each, and get speedup that way, but either way I get speedup, it should not be the case that getting the second GPU is a total loss, agree? Just to make sure I understand you correctly. $\endgroup$
    – user68541
    Mar 4, 2019 at 19:55
  • $\begingroup$ That is correct. I think the best approach for you would be to train model separately. You may need to think about how many PCIe lanes you have though. Because if you don't have enough, you may bottleneck on data loading. Then again, according to Tim Dettmers PCIe lanes don't matter when you have 3 GPUs or less. $\endgroup$
    – Luke
    Mar 4, 2019 at 22:17
  • $\begingroup$ I managed to find the same type of GPU, GTX 1070 Ti, so now I have two of those. But should I connect them with SLI or not? If not, then they will be treated separately, one model will be trained on one GPU only, from what I understood. I use Keras with TensorFlow back-end by the way. Thank you again. $\endgroup$
    – user68541
    Mar 8, 2019 at 17:37
  • $\begingroup$ You can still train a single model using multi-GPU. Connecting them by SLI just means that when weight updates are done, the updates can be passed directly from one GPU to another, rather than have it pass through the CPU. I've found the speed increase in multi-gpu training to be disappointing although it's a bit better using Horovod. I'd just train separate models on each GPU. $\endgroup$
    – Luke
    Mar 8, 2019 at 18:03
  • $\begingroup$ hi @Luke I got my 2 GPUs machine, they are not connected with SLI, as you and other people advised. How can I train my models on the 2 GPUs with Keras? So far I found examples online but only if you want to train one model on more GPUs. Instead I want one model on one GPU, and I have like 100 models let's say, and I want both GPUs to be used. Can you recommend some resources how to do this? Thanks $\endgroup$
    – user68541
    Mar 12, 2019 at 21:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.