[发明专利]用于并行线程子集的一致加载处理无效

专利信息
申请号: 201310069394.1 申请日: 2013-03-05
公开(公告)号: CN103309702A 公开(公告)日: 2013-09-18
发明(设计)人: 迈克尔·费特曼;斯图尔特·格伦·卡尔顿;道格拉斯·J·哈恩;拉杰史沃拉·塞尔瓦桑;瑟利斯·加德雷;史蒂文·詹姆斯·海因里希 申请(专利权)人: 辉达公司
主分类号: G06F9/445 分类号: G06F9/445
代理公司: 北京市磐华律师事务所 11336 代理人: 徐丁峰;魏宁
地址: 美国加利*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 并行 线程 子集 一致 加载 处理
【说明书】:

技术领域

发明总地涉及并行处理,并且更具体地,涉及用于利用减少的带宽访问一致(uniform)数据的并行架构。

背景技术

在单指令多线程(SIMT)处理环境中,将线程组织为执行同一个程序、称为线程束(warp)的P个并行线程的组。尽管线程组的P个线程并行执行程序的每个指令,但是线程组的每个线程使用其自己的数据和寄存器来独立地执行指令。线程组的每个指令顺序地执行程序指令序列。常见的并行编程模式涉及包括用于加载两单元数据的两个分开的加载指令和用于进一步处理两单元数据的算术指令的指令序列。因此,当处理指令序列时,P个线程的组在处理加载指令时发出2P个存储器读请求。

可以对许多并行算法包括平铺矩阵乘法、图像卷积滤波器和图像运动估计进行组织,以使得对于指令序列中的一个加载指令来说,相应的存储器地址对于P个线程的组中的每个线程是相同的。当处理加载指令时,P个线程的组中的每个线程发出分开的存储器读请求以从存储器检索相应单元的数据。然而,因为由每个线程所提供到加载指令的存储器地址在整个线程组是相同的,所以每个分开的存储器读请求在被处理时导致从存储器对同一单元的数据进行检索。在这类情况下,存储器检索带宽被不必要地浪费用来检索同一单元的数据P次,对于P个线程的组中的每个线程检索一次。

因此,本领域所需的是用于有效地处理从并行线程的组中的每个线程所接收的、用于从存储器检索相同数据的多个读请求的方法。

发明内容

一种用于当线程组的并行线程的子集请求相同存储器地址时处理用于并行线程的加载指令的系统和方法可以减少读请求的数目和经传送以处理加载指令的数据。加载/存储单元基于一个或多个一致模式来确定用于并行线程的每个子集的存储器地址是否匹配。当对于一致模式中的至少一个达到匹配时,加载/存储单元传送读请求以检索用于并行线程的子集的数据。与对于子集中的每个线程实施分开的读请求相比,所传送的读请求的数目减少。可以基于呈现于程序指令中的公共访问模式来定义各种一致模式。当无法获得完整的交叉开关互连时还可以基于加载/存储单元与存储器之间的互连约束来定义各种一致模式。

用于从存储器检索与加载指令相关联的数据的本发明的方法的各实施例包括接收用于由线程组中的每个线程并行执行的第一加载指令,其中第一加载指令为线程组中的每个各自的线程指定单独存储器地址。识别仅包括线程组中的线程的一部分的并行线程子集。基于一致模式来比较包括第一存储器地址的、与包括在并行线程子集中的线程的一部分相关联的单独存储器地址以生成比较结果。当比较结果指示并行线程子集的单独存储器地址符合一致模式时将读请求传送到存储器以检索存储在第一存储器地址处的数据。

本发明的各实施例包括用于从存储器检索与加载指令相关联的数据的处理子系统。处理子系统包括配置为接收用于由线程组中的每个线程并行执行的第一加载指令的一致加载单元,其中第一加载指令为线程组中的每个各自的线程指定单独存储器地址。一致加载单元识别仅包括线程组中的线程的一部分的并行线程子集。一致加载单元基于一致模式来比较包括第一存储器地址的、与包括在并行线程子集中的线程的一部分相关联的单独存储器地址以生成比较结果。耦连在一致加载单元与存储器之间的加载/存储单元在一致加载单元确定比较结果指示与并行线程子集相关联的单独的存储器地址符合一致模式时,传送读请求到存储器以检索存储在第一存储器地址处的数据。

所公开方法的一个优势是请求读取相同存储器地址的多个线程仅执行单个存储器读请求,从而节省了存储器带宽。此外,因为由加载/存储单元基于一个或多个一致模式来检测一致加载,所以编译器具有灵活性以即使当编译器不能保证线程组中的每个线程在执行期间将访问相同存储器地址时也指示加载指令可以一致。

附图说明

因此,可以详细地理解本发明的上述特征,并且可以参考实施例得到对如上面所简要概括的本发明更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本发明的典型实施例,因此不应被认为是对其范围的限制,本发明可以具有其他等效实施例。

图1是示出了配置为实现本发明的一个或多个方面的计算机系统的框图;

图2是根据本发明的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;

图3A是根据本发明的一个实施例的、图2的前端的框图;

图3B是根据本发明的一个实施例的、图2的并行处理单元之一内的通用处理集群的框图;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310069394.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top