Tacotron2: How are multiple GPUs utilized in distributed run?

Created on 21 Apr 2021  路  3Comments  路  Source: NVIDIA/tacotron2

Before, I had tried training on single GPU with batch size of 8 (NVIDIA GeForce RTX 2070)

Now, I'm training an English dataset having around 20k sentences. using 4 GPUs, each 16DB. (Tesla T4).
I tried batch size of 64, however i get an OOM error of CUDA, but worked well with batch size 32.

Wanted to know why it doesn't work for batch size 64, considering I have 4 GPU (16GB x 4 = 64GB of GPU in total)?

In distributed run, are the 4GPU running in parallel with batch size 32? (equivalent to 32x4 = 128)
Or are they collectively processing a batch size of 32?

All 3 comments

batch_size is per GPU.
64 batch_size using 4 GPU's = 256 audio files per iteration.

I tried batch size of 64, however i get an OOM error of CUDA, but worked well with batch size 32.

have you tried enabling fp16_run?
Running in half-precision might let you increase the batch size to 64 without any other code modifications.

@CookiePPP
I did try enabling f16_run. However, I faced some issue with apex, hence disabled it again and only using distributed_run=True.
I'll give f_16 a try again and update here if any issues or if it works for batch_size=64

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hadaev8 picture hadaev8  路  6Comments

shoegazerstella picture shoegazerstella  路  8Comments

kannadaraj picture kannadaraj  路  6Comments

deli666 picture deli666  路  5Comments

NewEricWang picture NewEricWang  路  5Comments