关于Compute Visual Profiler和用于分析的块数

时间:2010-10-21 13:27:01

标签: cuda opencl profiler

在Compute Visual Profiler用户指南的第51页上,它指出:

  

请注意,如果是这个号码   内核中的块小于或不是多处理器数量的倍数   多次运行的计数器值不一致。

这是一个包容性或排他性的“或”陈述吗?它总是必须是倍数吗?

1 个答案:

答案 0 :(得分:1)

文档中提到的不一致是由多处理器之间的负载不平衡引起的。

例如,如果您在具有14个多处理器的Tesla C2050上运行具有15个块的内核,则其中一个多处理器将最终从一个“额外”块运行线程。如果探查器恰好在这个多处理器中运行数据,在一次性能分析运行中运行两个块的线程,但是从一个仅运行另一个块中的单个块的线程,结果将明显偏离。

要回答你提出的问题,“或”是包容性的,就像通常用自然语言一样。

虽然我不记得在文档中被提及,但我可以想象即使这些条件都是错误的,当数据本身导致不平衡时也会发生分析不一致(算术/数据或内存寻址模式的数量取决于某些条件)数据)。