如何将nvprof应用于Kinetica?

时间:2018-10-19 10:46:51

标签: nvprof

有人可以给gimme提示如何将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]} )"
...

当然,我停止并重新启动了这些程序。任何评论都将受到欢迎。

1 个答案:

答案 0 :(得分:0)

我发现可以通过如下编辑/ 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 &
...