CUDA threadfence和块级同步

CUDA threadfence和块级同步,cuda,gpu,Cuda,Gpu,我碰巧在CUDA手册中遇到了threadfence()!什么是_threadfence(),它有什么用处?我们还可以使用uu threadfence()来模拟块级同步吗?现代体系结构有一个宽松的内存模型,这意味着内存访问不一定按照它们在程序中出现的顺序执行 Threadfence指令实际上是一个内存围栏-它确保在围栏之前出现的内存访问在围栏之前实际执行。正如您可能在手册中看到的,围栏有3种变体,分别处理共享(块)内存、全局内存和主机内存 __另一方面,syncthreads提供块级同步,即块中的

我碰巧在CUDA手册中遇到了threadfence()!什么是_threadfence(),它有什么用处?我们还可以使用uu threadfence()来模拟块级同步吗?

现代体系结构有一个宽松的内存模型,这意味着内存访问不一定按照它们在程序中出现的顺序执行

Threadfence指令实际上是一个内存围栏-它确保在围栏之前出现的内存访问在围栏之前实际执行。正如您可能在手册中看到的,围栏有3种变体,分别处理共享(块)内存、全局内存和主机内存

__另一方面,syncthreads提供块级同步,即块中的线程将等待。请注意,同步线程还充当同一块中线程的内存围栏

手册中的示例是一个很好的说明

查看nv论坛的回复