我正在开发一个MPI+cuda项目,我尝试用nvvp和nvprof来分析我的应用程序,但是,在这两种情况下,它都没有给出配置文件。该应用程序完全可以工作,但没有生成任何配置文件。
nvprof mpirun -np 2 MPI_test
[...]
======== Warning: No CUDA application was profiled, exiting我尝试使用simpleMPI cuda示例,结果是相同的。
我在580 GTX和openMPI 1.7.3中使用CUDA5.0(功能强大,还没有发布,因为我正在测试CUDA感知选项)
有什么想法吗?非常感谢。
发布于 2013-12-18 17:10:12
mpirun本身并不是一个数据自动化系统应用程序。您必须像mpirun -np 2 nvprof MPI_test一样运行分析器。但是,您还必须确保nvprof的每个实例(在这种情况下是两个实例)都写入不同的输出文件。Open导出OMPI_COMM_WORLD_RANK环境变量,该变量在MPI_COMM_WORLD中给出进程级别。这可以只用于另一个包装,例如wrap_nvprof。
#!/bin/bash
nvprof -o profile.$OMPI_COMM_WORLD_RANK $*这应该像mpirun -n 2 ./wrap_nvprof executable <arguments>一样运行,在它完成后,应该有两个包含配置文件信息的输出文件:级别0的profile.0和级别1的profile.1。
编辑:有一个示例nvprof包装器脚本,它以更优雅的方式执行同样的操作,并在nvvp文档中同时处理Open和MVAPICH2。脚本的一个版本在this answer中被复制到一个问题上,你的问题或多或少是重复的。
https://stackoverflow.com/questions/20661323
复制相似问题