CUDA执行模型

一、CUDA执行模型概述

二、线程束执行

1. 线程束与线程块

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

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

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

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

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

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

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

2. 线程束分化

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

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

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

相关推荐
码农小河6615 分钟前
基于SSM+JSP的高校专业信息管理系统【附源码+数据库】
java·开发语言·数据库
东鹏特饮2 小时前
系统运维(传统/通用运维)面试题
开发语言·php
风若飞2 小时前
Spring Ai 入门遇到问题1
java·后端·spring
今天要早睡_3 小时前
C++01_入门基础复习
开发语言·c++
Nuanyt3 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
黑马程序员毕设3 小时前
基于 Java 的餐饮点餐系统设计与应用报告
java·开发语言
SL_staff3 小时前
从文档工具到知识中枢:基于JVS数字底座构建企业级统一内容管理平台的技术实践
java·开源·全栈
SL_staff3 小时前
从‘连得上’到‘管得好’:JVS-IOT双引擎驱动设备运维闭环
java·物联网·产品
1-1=05 小时前
C# 委托与事件
开发语言·c#
Fuyo_11195 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试