CUDA执行模型

一、CUDA执行模型概述

二、线程束执行

1. 线程束与线程块

线程束是SM中基本的执行单元。

当一个线程块的网格被启动后,网格中的线程块分布在SM中。

一旦线程块被调度到一个SM中,线程块中的线程会被进一步划分成线程束。

一个线程束由32个连续的线程组成,在一个线程束中,所有的线程按照单指令多线程方式执行。

所有线程都执行相同的指令,每个线程在私有数据上进行操作。

从逻辑角度看,线程块是线程的集合,可以被组织成一维、二维或三维布局。

从硬件角度看,线程块是一维线程束的集合。在线程块中线程被组织成一维布局,每32个连续线程组织成一个线程束。

2. 线程束分化

GPU是相对简单的设备,没有复杂的分支预测机制。

一个线程束中的所有线程在同一周期中必须执行相同的指令,如果一个线程执行一条指令,那么线程束中的所有线程都必须执行该指令。

为了获得最佳的性能,应该避免在同一个线程束中有不同的执行路径,以确保同一个线程束中所有的线程在一个应用程序中使用同一个控制路径。

相关推荐
Gerardisite几秒前
企业微信自动化开发新思路: RPA 接入方案
java·python·自动化·企业微信·rpa
小谢小哥1 分钟前
49-缓存一致性详解
java·后端·架构
青槿吖2 分钟前
Sentinel 进阶实战:Feign 整合 + 全局异常 + Nacos 持久化,生产环境直接用
java·开发语言·spring cloud·微服务·云原生·ribbon·sentinel
穿条秋裤到处跑2 分钟前
每日一道leetcode(2026.04.21):执行交换操作后的最小汉明距离
java·算法·leetcode
疯狂打码的少年2 分钟前
内存管理三雄对决:C、Java、Python 的堆区、栈区、常量区、静态区深度解析
java·c语言·python
Seven973 分钟前
Tomcat组件管理源码详解
java
AI技术社区3 分钟前
Claude Code源码分析之提示词工程
java·开发语言·ai·ai编程
StackNoOverflow4 分钟前
Sentinel服务保护框架完全指南:从原理到实践
java·数据库·sentinel
敖正炀5 分钟前
阻塞队列-0-2-全景分析
java
TeDi TIVE10 分钟前
mysql-connector-java 和 mysql-connector-j的区别
android·java·mysql