NV and AMD
来源:互联网 发布:linux挂载光驱命令 编辑:程序博客网 时间:2024/06/10 22:44
zz https://www.zhihu.com/question/35361192/answer/62410540?from=profile_answer_card
要弄清楚这个问题需要充分理解现代 GPU 的架构。受限于篇幅,就不展开了。
从硬件调度的角度上来看:
1. Grid:GPU (GPC) 级别的基本调度单位。
2. Block (CTA):SM 级别的基本调度单位。
3. Warp:ALU 级别的基本调度单位。
从资源分配和通信的角度来看:
1. Grid:共享同样的 Kernel 和 Context。
2. Block (CTA):同一 CTA 的线程运行在同一个 SM,因此同一 CTA 中的不同线程可以通过 Shared Memory 通信,并共享 L1 cache(只读)。
3. Warp:32 宽度的 SIMD,占用同一块向量寄存器,线程间可以通过特殊指令交换寄存器中的数据。
从硬件调度的角度上来看:
1. Grid:GPU (GPC) 级别的基本调度单位。
2. Block (CTA):SM 级别的基本调度单位。
3. Warp:ALU 级别的基本调度单位。
从资源分配和通信的角度来看:
1. Grid:共享同样的 Kernel 和 Context。
2. Block (CTA):同一 CTA 的线程运行在同一个 SM,因此同一 CTA 中的不同线程可以通过 Shared Memory 通信,并共享 L1 cache(只读)。
3. Warp:32 宽度的 SIMD,占用同一块向量寄存器,线程间可以通过特殊指令交换寄存器中的数据。
一个 warp 对应一条指令流,等价于一个同时操作 32 个数据的 thread。所以出现 warp 的地方直接换成 thread 理解也没问题。
以 block 的形式组织 warp 是为了实现可扩展性。全局同步开销太大,但是如果让一个 block 中的 warp 通过 barrier 同步来通信开销就小得多,这样设计出来的程序性能才有可能随着 ALU 数量的增加线性增长。
以 block 的形式组织 warp 是为了实现可扩展性。全局同步开销太大,但是如果让一个 block 中的 warp 通过 barrier 同步来通信开销就小得多,这样设计出来的程序性能才有可能随着 ALU 数量的增加线性增长。
作者:程亦超
链接:https://www.zhihu.com/question/35361192/answer/62415387
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
0 0
- NV and AMD
- NV Quadro and Leadtek
- OpenCL简测,AMD与NV平台对比
- Intel and AMD Manuals
- 20纳米还早!探究AMD/NV坚持28nm的原因
- Intel and AMD CPU标识
- AMD Polaris and Nvidia Pascal
- Intel 386 and AMD x86-64 Options
- AMD Radeon HD5870 memory capacity and performance
- AMD
- AMD
- AMD
- AMD
- AMD
- NV操作
- The second generation: Intel's EPT and AMD's NPT
- VMware Products and Hardware-Assisted Virtualization (VT-x/AMD-V)
- Intel 386 and AMD x86-64 Options for GCC
- ThreadPoolExecutor源码解析(基于Java1.8)
- 【例题】【矩阵乘法】NKOJ 3124 珍珠吊坠
- 【POJ1436】Horizontally Visible Segments-线段树区间更新
- Android Activity切换动画 overridePendingTransition
- B - Bear and Five Cards
- NV and AMD
- KindEditor--开源的在线HTML编辑器
- android studio 加入easeui后一直有错
- EL表达式的使用解析
- win32 DLL中创建的的对话框资源被应用程序调用无法识别的问题
- windows下如何下载并安装Python 3.5.
- hibernate参数设置
- Qt-5.5.1 设置界面字体为微软雅黑
- 贪心算法