Механизм видимости устройств в CUDA работает с помощью переменной среды CUDAVISIBLEDEVICES. 13 Она позволяет контролировать, какие графические процессоры (GPU) видны приложениям CUDA. 1
Как это работает: переменная принимает список целых чисел, разделённых запятыми, которые представляют идентификаторы GPU. 1 Эти идентификаторы соответствуют физическим GPU в системе. 1
Примеры:
- CUDAVISIBLEDEVICES=0 — видимым становится только GPU 0. 1
- CUDAVISIBLEDEVICES=1,2 — видимыми становятся GPU 1 и 2, GPU 0 игнорируется. 1
- CUDAVISIBLEDEVICES=0,2,1 — видимыми становятся GPU 0, 2 и 1 (в некоторых случаях важен порядок). 1
- CUDAVISIBLEDEVICES не установлена — видимыми становятся все GPU. 1
Некоторые области применения CUDAVISIBLEDEVICES:
- Одновременный запуск нескольких заданий по обучению. 1 Можно назначить конкретные GPU для каждого задания, чтобы избежать конфликтов и обеспечить эффективное распределение ресурсов. 1
- Распределение GPU в зависимости от размера модели и её требований. 1 Большие модели можно назначать GPU с большим объёмом памяти, а меньшие — запускать на GPU с меньшим объёмом памяти. 1
- Отладка и устранение неполадок. 1 Можно изолировать проблему на конкретном GPU, чтобы определить, связана ли проблема с самим GPU или с другими компонентами системы. 1
- Использование конкретных архитектур GPU. 1 Если в системе есть GPU с разными архитектурами или поколениями, можно выбрать GPU с желаемой архитектурой для приложения. 1