Опишите проблему
Я использую 2 графических процессора GTX 1080 TI, 11 ГБ, с версией CUDA / cuDNN 9.1. cudnn 7.1 на ОС (Debian 9).
Я хотел бы запустить две модели для прогнозирования в двух разных графических процессорах, чтобы ускорить время выполнения (путем создания двух экземпляров сеансов в двух графических процессорах).
первая модель вычисляет на первом GPU, а вторая — на втором GPU, выполняя каждый сеанс для определенного устройства, что-то вроде этого в python «с tf.device (‘/ gpu: 0’)»
Исходный код
int GPUID = std :: stoi (params-> getGpuDeviceStr ());
setenv («CUDA_VISIBLE_DEVICES», «», GPUID);
станд :: соиЬ << «Initial visible_device_list:»<set_allow_growth (истина);
session_options.config.mutable_gpu_options () -> set_per_process_gpu_memory_fraction (
params-> getGpuMemoryRatio ());
выход
2018-04-30 10: 18: 56.625199: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1208] Найдено устройство 0 со свойствами:
название: GeForce GTX 1080 Ti мажор: 6 минорных: 1 памятьClockRate (ГГц): 1,668
pciBusID: 0000: 09: 00.0
общая память: 10,91 ГБ бесплатная память: 10,75 ГБ
2018-04-30 10: 18: 56.750435: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1208] Найдено устройство 1 со свойствами:
название: GeForce GTX 1080 Ti мажор: 6 минорных: 1 памятьClockRate (ГГц): 1,668
pciBusID: 0000: 42: 00.0
общая память: 10,91 гигабайт свободная память: 10,42 гигабайт
2018-04-30 10: 18: 56.751296: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1223] Одноранговая матрица устройства
2018-04-30 10: 18: 56.751324: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1229] DMA: 0 1
2018-04-30 10: 18: 56.751332: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1239] 0: Y Y
2018-04-30 10: 18: 56.751337: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1239] 1: Y Y
2018-04-30 10: 18: 56.751345: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1308] Добавление видимых устройств GPU: 0, 1
2018-04-30 10: 18: 57.110046: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 989] Создание устройства TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 0 with 10055 МБ памяти) -> физический графический процессор (устройство: 0, имя: GeForce GTX 1080 Ti, идентификатор шины PCI: 0000: 09: 00.0, вычислительные возможности: 6.1)
2018-04-30 10: 18: 57.110819: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 989] Создание устройства TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 1 with 10050 МБ памяти) -> физический графический процессор (устройство: 1, имя: GeForce GTX 1080 Ti, идентификатор шины PCI: 0000: 42: 00.0, вычислительные возможности: 6.1)
Запуск tenorflow в версии 1.5.0
обсуждение
я не вижу никакого улучшения в затратах времени, запустив две модели одновременно, создав два потока для запуска двух моделей в двух графических процессорах. Время, затрачиваемое на запуск двух моделей на двух графических процессорах, примерно такое же, как на использовании только одного графического процессора.
Задача ещё не решена.
Других решений пока нет …