猿代码 — 科研/AI模型/高性能计算
0

CUDA Shared Memory

摘要: 如可变内存空间规范中所述,使用__shared分配共享内存__内存空间说明符。正如线程层次结构中提到的,共享内存预计比全局内存快得多并在共享内存中详细说明。它可以用作暂存存储器(或软件管理的缓存)以最小化来自CU ...
如可变内存空间规范中所述,使用__shared分配共享内存__
内存空间说明符。
正如线程层次结构中提到的,共享内存预计比全局内存快得多
并在共享内存中详细说明。它可以用作暂存存储器(或软件管理的缓存)
以最小化来自CUDA块的全局存储器访问,如以下矩阵乘法所示
实例
以下代码示例是矩阵乘法的直接实现
利用共享内存。每个线程读取一行A和一列B并计算
C的相应元素,如图8所示。因此,A从全局读取B.宽度倍
存储器和B被读取A.高度倍

Distributed Shared Memory

计算能力9.0中引入的线程块集群为线程中的线程提供了能力
块集群,以访问集群中所有参与线程块的共享内存。此分区
共享内存称为分布式共享内存,对应的地址空间为
称为分布式共享内存地址空间。属于线程块集群的线程可以
在分布式地址空间中读取、写入或执行原子,无论地址是否属于
到本地线程块或远程线程块。内核是否使用分布式共享
内存与否,共享内存大小规范,静态或动态仍然是每个线程块。这个
分布式共享内存的大小就是每个集群的线程块数乘以
每个线程块的共享内存大小。
访问分布式共享内存中的数据需要所有线程块都存在。用户可以保证
所有线程块都已开始使用cluster Group API中的cluster.sync()执行。
用户还需要确保所有分布式共享内存操作在退出之前发生
线程块的,例如,如果远程线程块正试图读取给定线程块的共享存储器,
用户需要确保远程线程块读取的共享内存已完成,然后才能
出口

说点什么...

已有0条评论

最新评论...

本文作者
2024-3-7 22:51
  • 0
    粉丝
  • 576
    阅读
  • 0
    回复
资讯幻灯片
热门评论
热门专题
排行榜
Copyright   ©2015-2023   猿代码-超算人才智造局 高性能计算|并行计算|人工智能      ( 京ICP备2021026424号-2 )