Использование нескольких видеокарт¶
Если на физическом сервере установлено несколько видеокарт, вы можете создать дополнительные экземпляры findface-extract-api-gpu
или findface-video-worker-gpu
и распределить их по одному экземпляру на карту.
В этом разделе:
Распределение экземпляров findface-extraction-api-gpu
по видеокартам¶
Для распределения экземпляров findface-extraction-api-gpu
по нескольким видеокартам выполните следующие действия:
Остановите исходный сервис
findface-extraction-api-gpu
.sudo service findface-extraction-api stop
Создайте несколько копий файла конфигурации
findface-extract-api-gpu
, в зависимости от того, какое количество видеокарт будет использоваться для извлечения биометрических образцов. Добавьте соответствующие номера устройств GPU к именам новых файлов конфигурации, как показано в примере ниже (устройства GPU №0 и №6)./etc/findface-extraction-api@0.ini /etc/findface-extraction-api@6.ini
Откройте новые файлы конфигурации. Укажите номера устройств GPU, а также номера слушающих портов.
sudo vi /etc/findface-extraction-api@0.ini listen: 127.0.0.1:18666 ... gpu_device: 0 ...
sudo vi /etc/findface-extraction-api@6.ini listen: 127.0.0.1:18667 ... gpu_device: 6 ...
Запустите новые сервисы.
sudo service findface-extraction-api@0 start sudo service findface-extraction-api@6 start
Привязка findface-video-worker-gpu
к дополнительной видеокарте¶
Для создания дополнительного экземпляра findface-video-worker-gpu
и его привязки к свободной видеокарте выполните следующие действия:
Отобразите статус исходного сервиса
findface-video-worker-gpu
, выполнив команду:sudo systemctl status findface-video-worker-gpu.service
Найдите полный путь к сервису в строке
Loaded: loaded (/lib/systemd/system/findface-video-worker-gpu.service; enabled; vendor preset: enabled
. В приведенном примере этоfindface-video-worker-gpu.service
(имя может быть другим). Создайте копию сервиса под новым именем.sudo cp /lib/systemd/system/findface-video-worker-gpu.service /lib/systemd/system/findface-video-worker-gpu2.service`
Таким же образом создайте под новым именем копию исходного файла конфигурации.
sudo cp /etc/findface-video-worker-gpu.ini /etc/findface-video-worker-gpu2.ini
Откройте только что созданный файл конфигурации и актуализируйте номер используемого GPU-устройства.
sudo vim /etc/findface-video-worker-gpu2.ini ## cuda device number device_number = 1
Откройте новый сервис и укажите только что созданный файл конфигурации.
sudo vim /lib/systemd/system/findface-video-worker-gpu2.service ExecStart=/usr/bin/findface-video-worker-gpu --config /etc/findface-video-worker-gpu2.ini
Для применения изменений перезагрузите демон
systemd
.sudo systemctl daemon-reload
Добавьте новый сервис в автозагрузку.
sudo systemctl enable findface-video-worker-gpu2.service Created symlink from /etc/systemd/system/multi-user.target.wants/findface-video-worker-gpu2.service to /lib/systemd/system/findface-video-worker-gpu2.service
Запустите новый сервис.
sudo systemctl start findface-video-worker-gpu2.service
Проверьте статус обоих сервисов
findface-video-worker-gpu
.sudo systemctl status findface-video-worker-* | grep -i 'Active:' -B 3 ● findface-video-worker-gpu2.service - findface-video-worker-gpu daemon Loaded: loaded (/lib/systemd/system/findface-video-worker-gpu2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-07-18 10:32:02 MSK; 1min 11s ago ... ● findface-video-worker-gpu.service - findface-video-worker-gpu daemon Loaded: loaded (/lib/systemd/system/findface-video-worker-gpu.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-07-15 15:18:33 MSK; 2 days ago