如何将 nvprof 应用于 Kinetica?



有人可以给我一个关于如何将 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]} )"
...

当然,我停止并重新启动了这些。 欢迎任何评论。

我发现nvprof可以通过编辑/opt/gpudb/core/bin/gpudb来应用,如下所示。

[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 &
...

相关内容

  • 没有找到相关文章

最新更新