Запуск Pytorch с torch.distributed.для запуска требуется больше памяти?

#pytorch

#pytorch

Вопрос:

Я могу отлично запустить свою модель с несколькими графическими процессорами (под несколькими я подразумеваю что-то меньшее, чем 5). Когда я увеличил количество графических процессоров, скажем, 10, я получил ошибку Cuda out of memory:

 RuntimeError: CUDA out of memory. Tried to allocate 12.50 MiB (GPU 0; 10.92 GiB total capacity; 8.57 MiB already allocated; 9.28 GiB free; 4.68 MiB cached)
  

Я использовал torch.distributed.launch и DistributedDataParallel для выполнения своего скрипта. Я хотел бы знать, в чем причина такого поведения и как я могу этого избежать? Требуется ли главному узлу больше памяти? если да, то сколько ему нужно? Как я могу это вычислить? Как я могу запустить свой код с 10 графическими процессорами?

Несколько вещей, которые следует учитывать:

  • Эта проблема возникает и на графических процессорах V100
  • уменьшение размера пакета не помогает, поскольку размер моего пакета уже равен 1