Skip to content

Распределение нагрузки на GPU-CPU#

LUNA CARS API позволяет распределить нагрузку между GPU и CPU, для этого необходимо изменить параметры в конфигурационном файле «.env» и «docker-compose.yml».

1․ Откройте файл «.env» в рабочей директории:

nano .env

2․ Выставите для переменных API1_PLATFORM и API2_PLATFORM необходимые значения.

3․ Выставите необходимое количество экземпляров CARS API в переменных API1_COUNT и API2_COUNT. Каждый экземпляр работает через отдельный Docker контейнер.

Описание переменных файла «.env» находится в документации LUNA CARS Installer, Приложение 2.

4․ Откройте файл «docker-compose.yml» в рабочей директории:

nano docker-compose.yml

4․ Раскомментируйте (уберите по 1 символу #) необходимые секции api-worker1 и api-worker2.

Доступные режимы работы:

Режим работы Значения в .env Значения в docker-compose.yml
CPU-CPU API1_PLATFORM=cpu, API2_PLATFORM=cpu Редактирование не требуется
GPU-CPU API1_PLATFORM=gpu, API2_PLATFORM=cpu Раскомментировать строки в начале раздела api-worker1
GPU-GPU API1_PLATFORM=gpu, API2_PLATFORM=gpu Раскомментировать строки в начале раздела api-worker1 и api-worker2

Пример конфигураций в файле «docker-compose.yml» для работы LUNA CARS API в режиме GPU-CPU:

 api-worker1:
    image: ${DOCKER_REGISTRY}/api-worker-${API1_PLATFORM}:${API_VERSION}
    hostname: api-worker
    ## Uncoment below if API1_PLATFORM=gpu in .env file
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
    #          count: all
              device_ids: ['0']
              capabilities: [gpu]

В переменной device_ids укажите GPU id, который можно узнать с помощью команды:

nvidia-smi