Как остановить работу сервера TensorRT без использования ctrl- c (для профилирования с помощью nvprof) - PullRequest
0 голосов
/ 16 марта 2020

Я запускаю nvprof для профилирования использования графическим процессором модели сервера-клиента TensorRT. Вот что я делаю:

  1. Запустите nvprof на терминале 1 в контейнере docker с включенным TensorRT, nvprof --profile-all-processes -o results%p.nvvp

  2. Выполнить Сервер TensorRT на терминале 2 в том же контейнере docker, что и первый шаг

  3. Запросить услугу на терминале 3 в другом контейнере docker в качестве первых двух шагов.

Когда третий шаг завершается, клиент существует нормально, но сервер и nvprof продолжают работать. Естественно, я закрыл сервер TensorRT с помощью ctrl- c. Когда я делаю это, на терминале 1 (работающем nvprof) он сообщает мне, что в приложении произошла внутренняя ошибка профилирования, а в полученном выходном файле нет информации о временной шкале. (Его размер составляет всего 380 КБ, тогда как другие файлы имеют примерно одинаковую длительность, 2-3 минуты, по крайней мере около нескольких МБ) *

Казалось, что завершение работы сервера TensorRT с помощью ctrl- C проблема, поэтому я попытался дать nvprof опцию тайм-аута, а именно nvprof --profile-all-processes -o results%p.nvvp --timeout 200 на первом шаге (200 секунд более чем достаточно для завершения всего процесса sh) Но хотя это заставляет nvprof выдать это сообщение: Execution timeout, stopping the application..., на самом деле он не останавливает сервер TensorRT.

По сути, я хотел бы знать, есть ли какой-нибудь способ остановить обычное завершение работы сервера TensorRT без использования ctrl- C, или если есть Обойти эту проблему, используя nvprof и TensorRT вместе.

Любая помощь или pu sh в правильном направлении будет принята с благодарностью. Спасибо!

PS Оригинальный вопрос был размещен здесь около 3 часов go.

1 Ответ

0 голосов
/ 18 марта 2020

Оказывается, TensorRT не был проблемой. При создании и первом запуске контейнера docker для сервера я не добавил привилегированный параметр.

Запуск контейнера docker с docker run --rm -it -d --gpus all --privileged ... помогает nvprof профилировать поведение сервера, даже когда программа сервера убивается с помощью Ctrl- C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...