Использование нескольких графических процессоров с C ++ cntk

Я пытаюсь постепенно перейти от Brainscript к интерфейсу C ++ для cntk. Полное отсутствие документации не помогает. Мой последний проект — обучение мульти-GPU. Есть пример для тренировки с одним GPU. Какова лучшая стратегия для обучения мульти-GPU. Есть ли c ++ эквивалент python data_parallel_distributed_learner? (или другие методы распараллеливания), или вам придется самостоятельно кодировать его на низком уровне (выбор данных, комбинация параметров модели и т. д.). Как это работает с MPI? Является ли нить / OpenMP опцией как при оценке (в каком случае выбрать графический процессор / объединить распределенные модели).

-2

Решение

API-интерфейсы Python в основном соответствуют API-интерфейсам C ++. Итак, если вы понимаете, как тренироваться на нескольких графических процессорах с Python, C ++ — это прямой перевод с Python. Для распределенного обучения вам понадобится
CreateDataParallelDistributedLearnerи указать количество работников в MinibatchSource а также убедитесь, что каждый работник читает различную часть данных, как это может сделать workerRank аргумент GetNextMinibatch, Как и в Python, вам понадобится реализация MPI и для вызова вашей программы на C ++ с помощью mpirun.

0

Другие решения

Других решений пока нет …