Может кто-нибудь подскажет, как применить nvprof к Kinetica?
1) Я вижу, что процессами 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, и он выдает некоторые трассировки, но он вообще не использует графические процессоры.
# 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]} )"
...
Конечно, я остановил и перезапустил их.Любой комментарий будет приветствоваться.