您好,我正在使用CAPS OpenACC编译器,但当我试图获得一些初步的配置文件结果时,出现了一些问题。
首先,我通过声明HMPPRT_LOG_LEVEL="info“来运行代码,这将生成一些带有时间戳的配置文件结果。
[ 2.612337] ( 0) INFO : Upload edgelengths[0:129600] (element_size=8, queue=none, location=gravity_openacc.c:50)
[ 2.613485] ( 0) INFO : Call __hmpp_acc_region__2ha750yb (queue=none, location=gravity_openacc.c:50)
[ 2.614367] ( 0) INFO : Free edgelengths[0:129600] (element_size=8, queue=none, location=gravity_openacc.c:50)所以我猜内核执行时间的计算公式是2.614367-2.613485=0.000882秒。
但是,当我声明CUDA_PROFILE=1时,将显示以下配置文件
method=[ __hmpp_acc_region__2ha750yb_parallel_region_1 ] gputime=[ 492.480 ] cputime=[ 13.000 ] occupancy=[ 0.250 ] 所以我对这两个结果很困惑,哪个是真的?
有人有什么解决方案吗?
谢谢!
发布于 2013-03-21 00:13:19
CUDA分析器只显示执行CUDA内核所需的时间,而使用HMPPRT_LOG_LEVEL="info“获得的日志显示执行区域所需的总时间,这并不完全相同,例如,您可能有一些在主机上执行的代码。
https://stackoverflow.com/questions/15382876
复制相似问题