Распределение нагрузки на 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