我一直在atomicCAS
循环中使用do-while
来在我的第一个并行程序中需要时执行各种算术运算。我看到还有其他操作,例如atomicInc
,这与使用atomicCAS
do-while
中的atomicCAS
递增相同,是正确的吗?这会更有效(就时钟周期而言),还是过度使用过度使用 vault server -config C:\vault_0.6.2\config.hcl
没有意义?
答案 0 :(得分:3)
这个问题的唯一明智的答案是“每个场景都有一个专门用于执行相同操作的原子基元”。
在nVIDIA GPU上,使用atomicCAS作为算术运算的人造互斥体只有在没有其他选择时才有意义。即使今天没有明显的性能差异,通过使用转换为PTX指令的原子原语,随着NVIDIA改进其实现,您可以为未来的硬件和未来工具链提供性能提升的代码。