在 CUDA C/C++ 中使用共享內存
文章结尾有最新热度的文章,感兴趣的可以去看看。
本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容,不涉及任何偏颇观点,用中立态度客观事实描述事情本身
文章有点长(4700字),期望您能坚持看完,并有所收获,阅读时长:10分钟
导读
共享内存由于它位于芯片上,共享内存比局部内存和全局内存要快得多。实际上,共享内存的延迟大约比未缓存的全局内存延迟低100倍(前提是线程之间没有存储冲突,我们将在本文后面讨论)。共享内存是按线程块分配的,因此同一块中的所有线程都可以访问相同的共享内存。线程可以访问其他线程从全局内存加载到共享内存中的数据。这种能力(结合线程同步)有许多用途,例如用户管理的数据缓存、高性能协作并行算法(例如并行归约)以及在其他情况下不可能的情况下促进全局内存合并。
线程同步
在线程之间共享数据时&#