我正在运行 nvprof 来分析 TensorRT 服务器-客户端模型的 GPU 使用情况。这就是我正在做的事情:
在启用了 TensorRT 的 docker 容器内的终端 1 上运行 nvprof,
nvprof --profile-all-processes -o results%p.nvvp
在与第一步相同的 docker 容器中在终端 2 上运行 TensorRT 服务器
作为前两个步骤,在不同的 docker 容器中请求终端 3 上的服务。
当第三步完成时,客户端正常存在,但服务器和 nvprof 保持运行。所以很自然地,我用 ctrl-c 关闭了 TensorRT 服务器。当我这样做时,在终端 1(运行 nvprof)上,它告诉我应用程序出现内部分析错误,并且生成的输出文件上没有任何时间线信息。(它只有 380KB 大,而其他文件运行的持续时间大致相同,2-3 分钟,至少大约几 MB)
似乎用 ctrl-C 结束 TensorRT 服务器是问题所在,所以我尝试给 nvprof 一个超时选项,即nvprof --profile-all-processes -o results%p.nvvp --timeout 200
在第一步中(200 秒足以完成整个过程)但这确实使 nvprof 提高此消息:Execution timeout, stopping the application...
,它实际上并没有停止 TensorRT 服务器。
基本上,我想知道是否有任何方法可以在不使用 ctrl-C 的情况下正常停止正在运行的 TensorRT 服务器退出,或者是否有使用 nvprof 和 TensorRT 一起解决此问题的解决方法。
任何帮助或朝着正确的方向推动将不胜感激。谢谢!
PS原始问题大约3小时前在这里发布。