本地与全局数据共享制造技术

技术编号:4971635 阅读:209 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭露一种图形处理单元,该图形处理单元具有处理器,该处理器具有一个或多个SIMD处理单元,以及对应该一个或多个SIMD处理单元之一的本地数据共享,该本地数据共享包括供分配至一个或多个执行波阵面(wavefront)的各线程群组的一个或多个低延迟可访问存储区,以及全局数据共享,该全局数据共享包括供各线程群组的一个或多个低延迟存储区。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及优化图形处理单元中执行线程之间的数据共享。
技术介绍
图形处理单元(graphics processing unit ;GPU)是为图形处理操作优化的专用 集成电路。在执行具有苛刻的图形处理需求的应用,例如视频游戏应用,的计算设备中(例 如个人电脑、渲染农场(rendering farm)或服务器、手持设备、数字电视等)经常包含有图 形处理单元(GPU)。为提升处理效率,图形处理单元(GPU)通常利用单指令多数据(single instruction multiple data ;“SIMD”,或“向量”)指令执行并行线程,以实现数据级并行。 这使得SIMD处理器能够例如通过对单个SIMD通道(lane)上的各像素运行独立的线程操 作而对多个像素数据执行相同的指令。但是,在未执行计算复杂且成本昂贵的数据存储和 检索指令的情况下,在任一 SIMD通道内生成的数据通常无法被其他SIMD通道访问。因此,需要提供一种改进技术,以实现SIMD通道之间的数据共享。
技术实现思路
本专利技术实施例包含一种图形处理单元,该图形处理单元包括多个SIMD处 理单元,各SIMD处理单元包括多个线程处理器,多个通用寄存器(general purpose register ;GPR)文件,各GI3R文件与该多个线程处理器之一通信,以及本地数据共享(local data share ;LDQ,该本地数据共享与该多个线程处理器的各线程处理器通信;以及全局数 据共享(glcAal data share ;⑶幻,该全局数据共享与该多个SIMD处理单元的各SIMD处 理单元中该多个线程处理器的各线程处理器通信。本专利技术实施例还包含一种制造方法,其包括多个SIMD处理单元,各SIMD处理单 元包括多个线程处理器,多个通用寄存器(GPR)文件,各GI3R文件与该多个线程处理器之 一通信,以及本地数据共享(LDQ,该本地数据共享与该多个线程处理器的各线程处理器通 信;以及形成全局数据共享(⑶幻,该全局数据共享与该多个SIMD处理单元的各SIMD处理 单元中该多个线程处理器的各线程处理器通信。本专利技术实施例还包含一种计算机可读介质,其上存储有计算机可执行指令,若由 计算设备执行该些指令,则使该计算设备执行一种方法,该方法包括将图像的一组像素分 配至一组SIMD处理器;将该组像素的像素子集分配至各该组SIMD处理器的各SIMD处理器 的各处理通道;将该像素子集存储在与各处理通道关联的通用寄存器(GPR)文件中;基于 该像素子集计算逐通道(per-lane)本地结果;以及将该逐通道本地结果自该GI5R文件写 入与该处理通道关联的本地数据共享(LDQ的私有区域,该LDS仅与包含该处理通道的该 SIMD处理器关联。下面参照附图进一步详细描述本专利技术的特征和优点,以及本专利技术不同实施例的结 构和操作。应当注意的是,本专利技术并不限于这里所述的特定实施例。这里所提出的实施例仅仅是出于说明目的。基于这里所包含的教导,其他实施例对于相关领域的技术人员将显 而易见。附图说明包含于此并构成说明书一部分的附图显示本专利技术实施例,并进一步与书面描述一 起用于解释本专利技术的原理,并使相关领域的技术人员能够制造和使用本专利技术。图1显示依据本专利技术实施例的计算架构;图2显示依据本专利技术实施例的本地数据共享;图3显示依据本专利技术实施例的全局数据共享;图4显示依据本专利技术实施例的利用该计算架构改进图像处理算法的步骤流程图; 以及图5显示可实施本专利技术实施例的示例计算机系统。下面参照附图进一步详细描述本专利技术的特征和优点,以及本专利技术不同实施例的结 构和操作。应当注意的是,本专利技术并不限于这里所述的特定实施例。这里所提出的实施例 仅仅是出于说明目的。基于这里所包含的教导,其他实施例对于相关领域的技术人员将显 而易见。具体实施例方式I 介绍以下参照附图对本专利技术示例实施例作详细描述,所述附图说明与本专利技术一致的示 例实施例。本专利技术还可具有其他实施例,并可在本专利技术的精神和范围内修改该些实施例。因 此,所作详细描述并非意图限制本专利技术。相反,本专利技术的范围由所附权利要求定义。对于本领域技术人员显而易见的是,如下所述的本专利技术可在软件、硬件、固件和/ 或附图所示的实体等诸多不同的实施例中实施。专门控制硬件以实施本专利技术的任意实际的 软件代码并不限制本专利技术。因此,对本专利技术的操作行为描述的前提是在给定的详细程度下 可对所述实施例进行修改和变更。此外,对于本领域的技术人员显而易见的是,可通过使 用计算机可读代码(如上所述),包含通用编程语言(例如C或C++),Verilog HDL、VHDL、 Altera HDL(AHDL)等硬件描述语言(HDL),或其他可用的编程和/或原理图撷取工具(例 如电路撷取工具)部分地实施本专利技术的各种实施例的模拟、综合和/或制造。该计算机可读代码可设置于任意已知的计算机可用介质中,包含半导体、磁盘、光 盘(例如CD-ROM、DVD-ROM),并作为计算机数据信号实施于计算机可用(例如可读)传输 介质中(例如载波或任意其他介质,包含数字介质、光学介质或基于模拟的介质)。因此,该 代码可在包含hternet以及互联网的通信网络上传输。应当理解,由上述系统和技术实现 的功能和/或提供的结构可表示在以程序代码实施的核心中(例如GPU核心),并可转换成 硬件作为集成电路生产的一部分。图1显示依据本专利技术实施例的计算架构100。架构100包含一个或多个SIMD 处理器l(^a-102m。依据本专利技术实施例,各SIMD处理器包含一个或多个线程处理器,在 SIMD 0102a 中显示为 104a0-104an,在 SIMD m 102m 中显示为 104m0_104mn。此外,依据 本专利技术实施例,各线程处理器也关联一通用寄存器(GPR)文件,在SIMD 0 10 中显示为6106a0-106an,在SIMD m 102m中显示为106m0_106mn。尽管该些附图标记显示本专利技术的范 围内考虑了多个SIMD处理器,各具有多个线程处理器和GI3R文件,但文中偶尔会通过引用 基本附图标记(例如102、104和106)而涉及单个SIMD处理器、线程处理器和GPR文件。通常将单个线程处理器104和与其关联的GPR文件106的结合称作SIMD处理通 道(或简称为“通道”或“SIMD通道”)。相关领域的技术人员应了解,与该线程处理器104 和GPR文件106关联的其他元素可构成单个SIMD通道的一部分,并且图1所示的特定实施 例仅为示例,而非限制本专利技术。依据本专利技术实施例,架构100进一步包含多个本地数据共享(“LDS”) 108a-108m, 各SIMD处理器102关联一 LDS 108。而且,架构100包含一全局数据共享(“⑶S”) 110,其 可由各SIMD处理器102的各线程处理器104访问。该LDS和⑶S将在后面进一步详细讨 论。在架构100上执行一进程(process)时,该进程可生成线程集(collection of thread)以在一 SIMD处理器102上执行。在SIMD处理器102中,为该线程集中的各线程分 配一特定的SIMD通道,因而将各线程分配至一特定的线程处理器104和GPR文件106。依 据本文档来自技高网...

【技术保护点】
一种图形处理单元,包括:  多个SIMD处理单元,各SIMD处理单元包括:  多个线程处理器,  多个通用寄存器(GPR)文件,各GPR文件与该多个线程处理器之一通信,以及  本地数据共享(LDS),该本地数据共享与该多个线程处理器的各线程处理器通信;以及  全局数据共享(GDS),该全局数据共享与该多个SIMD处理单元的各SIMD处理单元中该多个线程处理器的各线程处理器通信。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:MJ曼托B恩贝林
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1