nvprof 正在崩溃,因为它将一个非常大的文件写入 /tmp/ 并用完磁盘 space
nvprof is crashing as it writes a very large file to /tmp/ and runs out of disk space
如何解决 运行 在可用 space 相对较少的磁盘上时发生的 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
崩溃了。假设我无法释放更多磁盘 space,我该如何解决这个问题?
旁注:
它与诊断问题几乎无关,但 nvprof 报告了 Error: Application received signal 7
,即 "Bus error (bad memory access)"(有关详细信息,请参阅 http://man7.org/linux/man-pages/man7/signal.7.html)。
可以通过设置 TMPDIR
环境变量来指示 nvprof
使用不同的临时目录。这很有用,因为从 Linux 内核 2.6 开始,您很有可能在 /dev/shm
有可用的 RAM 磁盘(有关更多信息,请参阅 https://superuser.com/a/45509/363816)。因此,在 [bash
] 脚本的开头添加以下内容可能会 work-around 您的问题。
export TMPDIR=/dev/shm
如何解决 运行 在可用 space 相对较少的磁盘上时发生的 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
崩溃了。假设我无法释放更多磁盘 space,我该如何解决这个问题?
旁注:
它与诊断问题几乎无关,但 nvprof 报告了 Error: Application received signal 7
,即 "Bus error (bad memory access)"(有关详细信息,请参阅 http://man7.org/linux/man-pages/man7/signal.7.html)。
可以通过设置 TMPDIR
环境变量来指示 nvprof
使用不同的临时目录。这很有用,因为从 Linux 内核 2.6 开始,您很有可能在 /dev/shm
有可用的 RAM 磁盘(有关更多信息,请参阅 https://superuser.com/a/45509/363816)。因此,在 [bash
] 脚本的开头添加以下内容可能会 work-around 您的问题。
export TMPDIR=/dev/shm