У меня есть один и тот же загрузчик данных для передачи данных в 4 модели, каждая из которых имеет свой гиперпараметр, загруженный на отдельный графический процессор. Я хочу уменьшить узкое место, вызванное загрузкой данных, поэтому я намереваюсь загрузить один и тот же пакет, подготовленный загрузчиком данных, на все графические процессоры, чтобы они могли выполнять вычисления по отдельности и выполнять шаг обратного распространения. Я уже кэширую данные в ОЗУ, чтобы избежать узких мест на диске при создании экземпляра загрузчика данных.
Я пытаюсь:
- Отправка/трансляция одного и того же пакета данных на N графических процессоров. Я предполагаю, что это возможно, только если мы можем синхронизировать/ждать, пока все графические процессоры закончат операции для одного пакета, прежде чем мы сможем перейти к следующему.
- Бонус: предварительная выборка следующего пакета, как только один пакет будет готов (до пакетов P), может помочь обеспечить непрерывный поток данных на графические процессоры, избегая ожидания.
Я не пытаюсь добиться:
- Параллелизм данных — разделите большой пакет на N частей и вычислять каждую часть на одном графическом процессоре
- Параллелизм моделей — раздельное вычисление большой модели (которая не помещается на одном графическом процессоре). ) на N (или меньше) частей и поместите каждую часть на один GPU.
Похожие вопросы:
- Этот один посвящен выполнению операции Conv2D. охватывать несколько графических процессоров
- Этот один посвящен параллельному выполнению различных вычислений GPU, но я не не знаю, можно ли решить мою проблему с помощью torch.cuda.Stream( )а>
- Этот один примерно загрузка разных моделей, но это не касается совместного использования одной и той же партии.
- Этот один как раз о том, о чем я спрашиваю, но это CUDA /PCIe и 7 лет назад.
Обновлять:
Я нашел очень похожий вопрос в обсуждении Pytorch, где есть небольшой пример в конце с использованием прямой поддержки с использованием многопроцессорной обработки, но мне интересно, как масштабировать этот подход для загрузчиков данных факела.