运行带有ECC的CUDA设备的性能成本是多少? GPU的峰值性能通常用ECC关闭引用,如何找出ECC的理论限制?
@edit 为了这个问题,假设我有一个完全内存限制的内核,它只是简单地移动数据。任何算术都与运行时间无关,因为它可以在内存单元繁忙时进行调度。关闭ECC,理论上,我可以获得设备规范中引用的峰值内存带宽。使用ECC可以获得什么峰值?
谢谢!
答案 0 :(得分:3)
除了对这个问题的有用评论之外,我引用 Nicholas Wilt的书籍the CUDA Handbook中的 5.2.13:ECC(纠错码)部分的相关部分/ em>的。您可能会发现它们很有帮助。
为了换取更少的内存(因为一些内存用于记录一些冗余)和更低的带宽,启用了ECC的GPU可以静默地纠正单比特错误并报告双比特错误。
ECC具有以下特征:
- 它将可用内存量减少了12.5% - 它使上下文同步更加昂贵 - 启用ECC时,未合并的内存事务更昂贵。