谁能给我一个提示,如何将nvprof应用到Kinetica?
1)我看到运行在GPU上的Kinetica进程的名字是gpudb_cluster_cuda,它的父进程是gpudb_host_manager。我发现gpudb_host_manager是由/etc/rc.d/init.d/gpudb_host_manager启动的。
2)因此,我将其修改如下。这应该是可行的--即使对于它的子进程也是如此。但事实并非如此。没有为gpudb_cluster_cuda生成性能分析数据。
# vi /etc/rc.d/init.d/gpudb_host_manager
...
# $START_PROG"$GPUDB_EXE start-host-manager 2>&1 | tee -a ${STARTUP_LOG}; ( exit \${PIPESTATUS[0]} )"
$START_PROG"/usr/local/cuda-9.2/bin/nvprof --log-file /tmp/nvprof/%p.txt --export-profile /tmp/nvprof/%p.nvvp --print-gpu-trace --profile-child-processes $GPUDB_EXE start-host-manager 2>&1 | tee -a ${STARTUP_LOG}; ( exit \${PIPESTATUS[0]} )"
...我将nvprof应用于/etc/rc.d/init.d/gpudb,它会生成一些跟踪,但它根本不使用GPU。
# vi /etc/rc.d/init.d/gpudb
...
# $START_PROG"$GPUDB_EXE start 2>&1 | tee -a ${STARTUP_LOG}; ( exit \${PIPESTATUS[0]} )"
$START_PROG"/usr/local/cuda-9.2/bin/nvprof --log-file /tmp/nvprof/%p.txt --export-profile /tmp/nvprof/%p.nvvp --print-gpu-trace --profile-child-processes $GPUDB_EXE start 2>&1 | tee -a ${STARTUP_LOG}; ( exit \${PIPESTATUS[0]} )"
...当然,我停止并重新启动了这些。欢迎任何评论。
发布于 2018-10-22 15:20:49
我发现可以通过编辑/opt/gpudb/core/bin/gpudb来应用nvprof,如下所示。
[root@localhost ~]# vi /opt/gpudb/core/bin/gpudb
...
# nohup $HOST_MANAGER_CMD >> $HOST_MANAGER_LOG_FILENAME 2>&1 &
nohup /usr/local/cuda-9.2/bin/nvprof --log-file /tmp/nvprof/%p.txt --export-profile /tmp/nvprof/%p.nvvp --print-gpu-trace --profile-child-processes $HOST_MANAGER_CMD >> $HOST_MANAGER_LOG_FILENAME 2>&1 &
...https://stackoverflow.com/questions/52890841
复制相似问题