GPU для нейронной сети

Обучаю нейронную сеть с применением CUDA на Python. Для данной задачи рассматривается два варианта GPU:

  • RTX 3090 (количество CUDA 10496, частота ядра 1400 МГц, память GDDR6X, Технологический процесс 8 нм);
  • Tesla A100 (количество CUDA 7936, частота ядра 1100 МГц, память HBM2e, Технологический процесс 7 нм).

Если не вдаваться в нюансы, в первом приближении какой GPU подойдет лучше? Критерий выбора - скорость работы (количество операций в ед. времени или задержка) при прочих равных условиях. Объём памяти для меня не является приоритетным критерием. Понимаю, что вопросы подбора железа нельзя здесь задавать, но у проблематично их где-либо сравнить. Можно, конечно попробовать облака, но хотелось бы узнать в теории.


Ответы (1 шт):

Автор решения: Alex Kart

Основные преимущества "A100" - тензорные ядра и память. При использовании TensorFlow на "A100", вы можете получить заметный прирост производительности в определённых случаях, за счёт тензорных ядер.

  • A100 features 6912 CUDA Cores and 432 Tensor cores
  • RTX3090 features 10496 CUDA Cores and 328 Tensor cores

Тензорные ядра работают только данными float16, что несколько уменьшает пользу от них в целом. Если вы можете правильно их использовать, то покупка "A100" оправдана. Кроме того, "A100" для PCI-ex несёт 40GB памяти с 512-битной шиной, в то время как "RTX3090" имеет лишь 24GB памяти с 384-битной шиной. В итоге, выбор должен основываться на том, как много данных вам надо загрузить в быструю память и насколько хорошо ваш софт утилизирует тензорные ядра.

→ Ссылка