当前位置:网站首页>榕树贷款GPU 硬件架构
榕树贷款GPU 硬件架构
2022-07-31 11:58:00 【dongsijia】
榕树贷款L2为所有SM都能访问到,速度比全局内存块,所以为了提高速度有些小的数据可以缓存到L2上面;L1为SM内的数据,SM内的运算单元能够共享,但跨SM之间的L1不能相互访问。
L2 可以被显式的使用(cuda 11 ),去优化性能
榕树贷款Nvida示例: Cuda 11 L2 示例
榕树贷款共享内存(shared memory)
共享内存是片内内存,被 SM 独享,SM 内的块所共享。
共享内存是片内存储, 和 L1的速度相当
榕树贷款共享内存与L1的位置、速度极其类似,区别在于共享内存的控制与生命周期管理与L1不同,共享内存的使用受用户控制,L1受系统控制,shared memory更利于block之间数据交互。
Kernel <<< * , 线程, 共享内存>>>>,kernel 执行第三个分配资源
__global__ void staticReverse(int *d, int n)
__shared__ int s[64]; // 分配的共享内存
int t = threadIdx.x;
int tr = n-t-1;
s[t] = d[t];
__syncthreads();
d[t] = s[tr];
局部内存(local memory)
榕树贷款局部内存(local memory) 是线程独享的内存资源,线程之间不可以相互访问,硬件位置是off chip状态,所以访问速度跟全局内存一样。局部内存主要是用来解决当寄存器不足时的场景,即在线程申请的变量超过可用的寄存器大小时,会将变量存储在局部内存中。
寄存器(register)
榕树贷款寄存器(register)是线程能独立访问的资源,它所在的位置与局部内存不一样,是在片上(on chip)的存储,用来存储一些线程的暂存数据。寄存器的速度是访问中最快的,但是它的容量较小。以目前最新的Ampere架构的GA102为例,每个SM上的寄存器总量256KB,使用时被均分为了4块,且该寄存器块的64KB空间需要被warp中线程平均分配,所以在线程多的情况下,每个线程拿到的寄存器空间相当小。寄存器的分配对SM的占用率(occupancy)存在影响,可以通过CUDA Occupancy Calculator 计算比较,举例:如图当registers从32增加到128时,occupancy从100%降低到了33.0。 一般 Occupancy 越高,kernel 优化的越好。
Kernel <<< * , 线程>>>>,kernel 执行第二个分配资源
边栏推荐
- 【Shader】Shader官方示例[通俗易懂]
- R 语言data.frame 中的另一行中减去一行
- ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
- Data Persistence Technology - MP
- Full GC (Ergonomics)排查分析
- AWS亚马逊云账号注册,免费申请12个月亚马逊云服务器详细教程
- Data Lake (19): SQL API reads Kafka data and writes it to Iceberg table in real time
- Power BI----几个常用的分析方法和相适应的视觉对象
- lotus-local-net 2k v1.17.0-rc4
- ESP8266-Arduino编程实例-HDC1008温度湿度传感器驱动
猜你喜欢

生信周刊第38期

最全phpmyadmin漏洞汇总

瑞吉外卖项目:新增菜品与菜品分页查询

MySQL row-level locks (row locks, adjacent key locks, gap locks)

透过开发抽奖小程序,体会创新与迭代

Experience innovation and iteration through the development of lucky draw mini-programs
502 bad gateway原因、解决方法

Summary of several defragmentation schemes for MySQL (to solve the problem of not releasing space after deleting a large amount of data)

MySQL index usage and optimization

IDEA 配置方法注释自动参数
随机推荐
Distributed id solution
MySQL模糊查询性能优化
生命不息,刷题不止,简单题学习知识点
502 bad gateway causes and solutions
Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性
JVS开发套件产品定位
串的基本概念与操作
Acwing第 62 场周赛【未完结】
imx6ull看门狗使用
想吃菌子,当然是自己上山找了
Summary of several defragmentation schemes for MySQL (to solve the problem of not releasing space after deleting a large amount of data)
在 Excel 内使用 ODBC 消费 SAP ABAP CDS view
【虚拟化生态平台】树莓派安装虚拟化平台操作流程
MySQL row-level locks (row locks, adjacent key locks, gap locks)
数据持久化技术——MP
ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
SAP Commerce Cloud Product Review 的添加逻辑
Qt鼠标穿透
瑞吉外卖项目:新增菜品与菜品分页查询
Docker practical experience: Deploy mysql8 master-slave replication on Docker