1

如何解决在nvprof可用空间相对较少的磁盘上运行时发生的崩溃?

具体来说,在分析我的 cuda 内核时,我使用以下两个命令:

# Generate the timeline
nvprof -f -o ~/myproj/profiling/timeline-`date -I`.out ~/myproj/build/myexe
# Generate profiling data
nvprof -f --kernels ::mykernel:1 --analysis-metrics -o ~/myproj/profiling/analysis-metrics-`date -I`.out ~/myproj/build/myexe

第一个nvprof命令工作正常。第二个nvprof需要写入一个 12GB 的临时文件/tmp才能继续。由于我的 38GB 云盘只有 6GB 可用,所以nvprof崩溃了。假设我无法释放更多磁盘空间,我该如何解决这个问题?

旁注: 这与诊断问题几乎无关,但 nvprof 报告的Error: Application received signal 7是“总线错误(内存访问错误)”(参见http://man7.org/linux/man-pages/man7/signal.7 .html了解更多信息)。

4

1 回答 1

2

可以通过设置环境变量来直接nvprof使用不同的临时目录。TMPDIR这很有帮助,因为从 Linux 内核 2.6 开始,您很有可能拥有可用的 RAM 磁盘/dev/shm(有关更多信息,请参阅https://superuser.com/a/45509/363816)。因此,在 [ ] 脚本的开头添加以下内容bash可能会解决您的问题。

export TMPDIR=/dev/shm
于 2019-05-31T18:50:24.077 回答