在Compute Visual Profiler用户指南第51页上,它指出:
注意,如果内核中的块数小于或不小于多处理器数的倍数,则多个运行期间的计数器值将不一致。
这是一种包容的或排他性的“或”陈述吗?它总是必须是倍数吗?
发布于 2010-10-27 02:19:46
文档中提到的不一致性是由多处理器之间的负载不平衡造成的。
例如,如果您正在运行一个在特斯拉C2050上有15个块的内核,它有14个多处理器,其中一个多处理器将从一个“额外”块运行线程。如果分析器碰巧从运行两个块的多处理器线程收集数据,但从一个只运行另一个分析块的线程中,结果显然会发生偏差。
为了回答你所问的问题,“或”是包容性的,这在自然语言中通常是这样的。
虽然我不记得文档中提到过,但我可以想象,即使这些条件都是假的,当数据本身造成不平衡时(算术/数据或内存寻址模式的数量取决于某些数据),也会出现分析不一致。
https://stackoverflow.com/questions/3987903
复制相似问题