当前位置:网站首页>榕树贷款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 执行第二个分配资源
边栏推荐
- Acwing第 62 场周赛【未完结】
- JVS函数公式使用场景介绍
- Addition logic for SAP Commerce Cloud Product Review
- How to correctly write the binary stream of the file returned by the server to the local file and save it as a file
- Shengxin Weekly Issue 38
- Standard SQL/JSON - the sobering part
- Distributed id solution
- Life is endless, there are more questions, simple questions to learn knowledge points
- ESP8266-Arduino编程实例-MCP9808数字温度传感器驱动
- VBA实现双击单元格自动输出对号再次双击取消对号
猜你喜欢

Cloudera Manager —— 端到端的企业数据中心管理工具

生信周刊第38期

Docker installs canal and mysql for simple testing and achieves cache consistency between redis and mysql

kubernetes之服务发现

无法将“node.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

Distributed id solution

线程池 ThreadPoolExecutor 详解

初始JDBC 编程

学习爬虫之Scrapy框架学习(1)---Scrapy框架初学习及豆瓣top250电影信息获取的实战!

Acwing第 62 场周赛【未完结】
随机推荐
R语言:文本(字符串)处理与正则表达式
SAP Commerce Cloud Product Review 的添加逻辑
瑞吉外卖项目:新增菜品与菜品分页查询
kubernetes之服务发现
栈和队列的基本概念
JVS开发套件产品定位
【虚拟化生态平台】树莓派安装虚拟化平台操作流程
Shengxin Weekly Issue 38
JVM 运行时数据区与JMM 内存模型详解
Full GC (Ergonomics)排查分析
imx6ull看门狗使用
JVS设置不同应用的登录时效时间
St. Regis Takeaway Project: File Upload and Download
ESP8266-Arduino编程实例-HDC1008温度湿度传感器驱动
Detailed tutorial on distributed transaction Seata
deeplab实现自己遥感地质分割数据集
Use Excel to read data exposed by SAP ABAP CDS View through ODBC
Use jOOQ to write vendor-agnostic SQL with JPA's native query or @Formula.
Read through the interface to call the artifact RestTemplate
立方体IV(暑假每日一题 10)