[发明专利]AIGPU架构中URF寄存器的数据写入方法有效
申请号: | 202111646826.1 | 申请日: | 2021-12-29 |
公开(公告)号: | CN114281414B | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 葛建明;李甲;满新攀;常亮;王磊;徐立宝;姚飞;仇小钢 | 申请(专利权)人: | 海飞科(南京)信息技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/30 |
代理公司: | 南京天华专利代理有限责任公司 32218 | 代理人: | 刘畅;竞存 |
地址: | 210000 江苏省南京市建*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | aigpu 架构 urf 寄存器 数据 写入 方法 | ||
本发明公开了一种AIGPU架构中URF寄存器的数据写入方法,其特征在于通过设置指令,将SIMT线程寄存器的数据直接写入URF寄存器;所述指令规定:‑SIMT线程寄存器A,‑URF寄存器C,‑线程i。选择线程i将其SIMT线程寄存器A中的数据直接写入URF寄存器C中。本发明提出的一条专用的指令可以将数据直接从SIMT线程寄存器搬到URF寄存器中,而无需经由存储器转运。
技术领域
本发明涉及数据存储领域,具体是一种AIGPU架构中URF寄存器的数据写入方法。
背景技术
SIMT并行计算
SIMT(单指令流多线程)是一种高性能计算机架构,特别适合数据并行计算。SIMT是由nVidia公司首先引入的,是SIMD(单指令流多数据流)架构的一种扩展。
·基本执行单元是线程(thread),多个线程可以组合成一个块(block)。一个块中的全部线程执行相同的指令序列。
·SIMT把在长向量的每个元素上进行操作的指令序列看作是是一个线程,一个块中的线程同步执行同样的指令,因此实现数据并行计算。
·SIMT中的数据计算通道也可以并发执行几个线程,每个属于不同的warp或者不同的block,每个有自己的寄存器堆。
·SIMT计算机允许单个线程的分支执行,每个线程执行的指令序列因各个线程的状态不同而不同。
SIMT对应的是数据并行编程模型,享有从任意向量到固定结构机器的灵活映射方式。出于对性能的考虑,需要减少SIMT计算中的线程分支,进而维持系统的利用率并降低功耗。SIMT架构可以通过warp切换和流处理来降低存取延迟。
AIGPU架构简介
AIGPU芯片的顶层架构如图1所示。AIGPU芯片的特点在于,
·它采用了片上虚拟存储,一种与众不同的存储系统。
·它使用了粗颗粒的计算分割与数据管理来解决数据相关性,这不同于超标量硬件机器或者codelet软件数据流。
·AIGPU粗颗粒的相关性管理方式允许使用命令来实现,为软件架构师和程序员提供了自主控制和优化程序的手段。
芯片由主机(host)及其运行时来控制。主机将需要执行的命令发送到AIGPU器件,其中的SP对命令做出分析,然后将一系列的操作交给PE和DMA执行。
AIGPU的重要特点是片上虚拟存储采用分段结构,可以直接支持张量存储,存储数据结构化而且具有明确的张量语义。一个张量一般存储在一个段中。使用数个张量的Kernel程序可以拥有数个段。一种实现是每个程序有16个段。
一个kernel可以分配到几个PEs上执行,每个PE执行部分计算并使用段的一部分。
·每个段都有自己独立的地址空间。
·每个段可以定义一个1D、2D、3D或者4D的张量存储结构。
·存储地址的构成是segment_id:RFoffset:immediate offset一个段含包含数个页。
·每个页是多维的,1D,2D,3D,或者4D;是与段的维数相同的张量。
·每个页在页表中都有一项,可以用来做地址翻译,以及检查该页是否准备完毕;在一个PE使用完该页后,将v-counter的值递减。
段存储结构–存储段结构为Kernel程序使用。
1.虚拟存储按照段(segment)来组织,每个Kernel可以使用几个段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海飞科(南京)信息技术有限公司,未经海飞科(南京)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111646826.1/2.html,转载请声明来源钻瓜专利网。