数据并行写入、读取方法、装置及系统制造方法及图纸

技术编号:19744571 阅读:19 留言:0更新日期:2018-12-12 04:37
本发明专利技术提供数据并行写入、读取方法、装置及系统,所述方法包括:将待写入数据向量的写入数据索引变换为一维写入地址;根据所述一维写入地址和预设写入数据个数,获取所述待写入数据向量的写入数据使能向量、第一存储索引向量和第一存储地址向量;根据所述第一存储索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序,根据重排序后的所述写入数据使能向量和所述第一存储地址向量将重排序后的所述待写入数据向量存入所述并行存储器。本发明专利技术支持数据从一个或多个维度进行并行写入,提高了数据写入的灵活性和写入效率。

【技术实现步骤摘要】
数据并行写入、读取方法、装置及系统
本专利技术属于数据存取
,更具体地,涉及数据并行写入、读取方法、装置及系统。
技术介绍
近年来,人工智能在各个领域得到广泛的应用。人工智能算法通常都是数据量很大的算法,因此为了加快人工智能算法的执行速度,不仅需要优化运算系统,还需要优化存储系统。GPU是被大量使用的人工智能算法的硬件平台,GPU的存储有着特定的针对矩阵计算的多级缓存结构来优化存储系统。在嵌入式应用领域,由于功耗等的约束,通常使用定制化的可编程芯片而不是GPU来实现人工智能算法。在这些嵌入式芯片中有一类是向量计算机芯片,也很适合进行人工智能算法加速,这类计算机芯片通常使用向量存储器作为存储系统。但是,对于GPU来说,尺寸、功耗都很大。因此,在嵌入式应用领域的使用受到很大的限制。人工智能算法需要进行大量矩阵运算,因此处理的数据常常是多维的数据块,包括一维和多维。不同的算法需要从一个或多个维度对数据进行并行连续读写。而向量存储器每次只能固定地存取一个特定长度的向量数据,数据存取的灵活度不足,无法满足复杂多变的人工智能算法对数据存取的需求。
技术实现思路
为克服上述现有的数据存取系统尺寸和功耗大,且数据存取不灵活的问题或者至少部分地解决上述问题,本专利技术提供一种数据并行写入、读取方法、装置及系统。根据本专利技术的第一方面,提供一种数据并行写入方法,包括:将待写入数据向量的写入数据索引变换为一维写入地址;其中,所述待写入数据向量为待写入的多维数据矩阵中的一个一维或多维向量,所述写入数据索引为所述待写入数据向量的所有元素中第一个待写入元素在所述待写入的多维数据矩阵中的索引待写入的多维数据矩阵中的索引;根据所述一维写入地址和预设写入数据个数,获取所述待写入数据向量的写入数据使能向量、第一存储索引向量和第一存储地址向量;其中,所述写入数据使能向量中的每个元素用于表示所述待写入数据向量中相应位置的元素是否写入;所述第一存储索引向量为所述待写入数据向量中各元素对应的并行存储器中各存储子单元的索引所构成的向量;所述第一存储地址向量为所述待写入数据向量中各元素对应的各存储子单元中的地址所构成的向量;根据所述第一存储索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序,根据重排序后的所述写入数据使能向量和所述第一存储地址向量将重排序后的所述待写入数据向量存入所述并行存储器。根据本专利技术第二方面提供一种数据并行读取方法,包括:将待读取数据向量的读取数据索引变换为一维读取地址;其中,所述待读取数据向量为待读取的多维数据矩阵中的一个一维或多维向量;所述读取数据索引为所述待读取数据向量的所有元素中第一个待读取元素在所述待读取的多维数据矩阵中的索引;根据所述一维读取地址和预设读取数据个数,获取所述待读取数据向量的读取数据使能向量、第二存储索引向量和第二存储地址向量;其中,所述读取数据使能向量中的每个元素用于表示所述待读取数据向量中相应位置的元素是否读取;所述第二存储索引向量为所述待读取数据向量中各元素在并行存储器中各存储子单元的索引所构成的向量;所述第二存储地址向量为所述待读取数据向量中各元素在各所述存储子单元中的地址所构成的向量;根据所述第二存储索引向量,对所述读取数据使能向量和所述第二存储地址向量进行重排序,根据重排序后的所述读取数据使能向量和所述第二存储地址向量从所述并行存储器中读取存储数据向量,根据所述第二存储索引向量对所述存储数据向量进行重排序,获取所述待读取数据向量。根据本专利技术第三方面提供一种数据并行写入装置,包括:第一变换模块,用于将待写入数据向量的写入数据索引变换为一维写入地址;其中,所述待写入数据向量为待写入的多维数据矩阵中的一个一维或多维向量,所述写入数据索引为所述待写入数据向量的所有元素中第一个待写入元素在所述待写入的多维数据矩阵中的索引待写入的多维数据矩阵中的索引;第一获取模块,用于根据所述一维写入地址和预设写入数据个数,获取所述待写入数据向量的写入数据使能向量、第一存储索引向量和第一存储地址向量;其中,所述写入数据使能向量中的每个元素用于表示所述待写入数据向量中相应位置的元素是否写入;所述第一存储索引向量为所述待写入数据向量中各元素对应的并行存储器中各存储子单元的索引所构成的向量;所述第一存储地址向量为所述待写入数据向量中各元素对应的各存储子单元中的地址所构成的向量;存入模块,用于根据所述第一存储索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序,根据重排序后的所述写入数据使能向量和所述第一存储地址向量将重排序后的所述待写入数据向量存入所述并行存储器。根据本专利技术第四方面提供一种数据并行读取装置,包括:第二变换模块,用于将待读取数据向量的读取数据索引变换为一维读取地址;其中,所述待读取数据向量为待读取的多维数据矩阵中的一个一维或多维向量,所述读取数据索引为所述待读取数据向量的所有元素中第一个待读取元素在所述待读取的多维数据矩阵中的索引;第二获取模块,用于根据所述一维读取地址和预设读取数据个数,获取所述待读取数据向量的读取数据使能向量、第二存储索引向量和第二存储地址向量;其中,所述读取数据使能向量中的每个元素用于表示所述待读取数据向量中相应位置的元素是否读取;所述第二存储索引向量为所述待读取数据向量中各元素对应的并行存储器中各存储子单元的索引所构成的向量;所述第二存储地址向量为所述待读取数据向量中各元素对应的各存储子单元中的地址所构成的向量;读取模块,用于根据所述第二存储索引向量,对所述读取数据使能向量和所述第二存储地址向量进行重排序,根据重排序后的所述读取数据使能向量和所述第二存储地址向量从所述并行存储器读取存储数据向量,根据所述第二存储索引向量对所述存储数据向量进行重排序,获取所述待读取数据向量。根据本专利技术第五方面提供一种数据并行读写系统,包括:并行存储器,以及上述数据并行写入装置和上述数据并行读取装置。本专利技术提供一种数据并行写入、读取方法、装置及系统,该方法通过将待写入数据向量的写入数据索引变换为一维写入地址,根据一维写入地址和预设写入数据个数,获取待写入数据向量的写入数据使能向量、第一存储索引向量和第一存储地址向量,根据所述第一存储索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序,根据重排序后的所述写入数据使能向量和所述第一存储地址向量将重排序后的所述待写入数据向量存入所述并行存储器,从而支持数据从一个或多个维度进行并行写入,提高了数据写入的灵活性和写入效率。附图说明图1为本专利技术实施例提供的数据并行写入方法整体流程示意图;图2为本专利技术实施例提供的数据并行写入方法中对四维待写入数据向量在两个维度进行并行写入的示意图;图3为本专利技术实施例提供的数据并行写入方法中对四维待写入数据向量在一个维度进行并行写入的示意图;图4为本专利技术实施例提供的数据并行写入方法中将写入数据索引变换为一维写入地址的示意图;图5为本专利技术实施例提供的数据并行写入方法中将写入重排序网络结构示意图;图6为本专利技术实施例提供的数据并行读取方法整体流程示意图;图7为本专利技术实施例提供的数据并行写入装置整体结构示意图;图8为本专利技术实施例提供的数据并行读本文档来自技高网...

【技术保护点】
1.一种数据并行写入方法,其特征在于,包括:将待写入数据向量的写入数据索引变换为一维写入地址;其中,所述待写入数据向量为待写入的多维数据矩阵中的一个一维或多维向量,所述写入数据索引为所述待写入数据向量的所有元素中第一个待写入元素在所述待写入的多维数据矩阵中的索引;根据所述一维写入地址和预设写入数据个数,获取所述待写入数据向量的写入数据使能向量、第一存储索引向量和第一存储地址向量;其中,所述写入数据使能向量中的每个元素用于表示所述待写入数据向量中相应位置的元素是否写入;所述第一存储索引向量为所述待写入数据向量中各元素对应的并行存储器中各存储子单元的索引所构成的向量;所述第一存储地址向量为所述待写入数据向量中各元素对应的各存储子单元中的地址所构成的向量;根据所述第一存储索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序,根据重排序后的所述写入数据使能向量和所述第一存储地址向量将重排序后的所述待写入数据向量存入所述并行存储器。

【技术特征摘要】
1.一种数据并行写入方法,其特征在于,包括:将待写入数据向量的写入数据索引变换为一维写入地址;其中,所述待写入数据向量为待写入的多维数据矩阵中的一个一维或多维向量,所述写入数据索引为所述待写入数据向量的所有元素中第一个待写入元素在所述待写入的多维数据矩阵中的索引;根据所述一维写入地址和预设写入数据个数,获取所述待写入数据向量的写入数据使能向量、第一存储索引向量和第一存储地址向量;其中,所述写入数据使能向量中的每个元素用于表示所述待写入数据向量中相应位置的元素是否写入;所述第一存储索引向量为所述待写入数据向量中各元素对应的并行存储器中各存储子单元的索引所构成的向量;所述第一存储地址向量为所述待写入数据向量中各元素对应的各存储子单元中的地址所构成的向量;根据所述第一存储索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序,根据重排序后的所述写入数据使能向量和所述第一存储地址向量将重排序后的所述待写入数据向量存入所述并行存储器。2.根据权利要求1所述的方法,其特征在于,将待写入数据向量的写入数据索引变换为一维写入地址的步骤具体包括:对所述写入数据索引进行重排序,将重排序的所述写入数据索引中进行并行写入的各预设维度对应的索引值分别拆分为多个索引值;对拆分后的所述写入数据索引再次进行重排序,根据再次重排序的所述写入数据索引进行计算,获取所述一维写入地址。3.根据权利要求1所述的方法,其特征在于,根据所述一维写入地址和预设写入数据个数,获取所述待写入数据向量的写入数据使能向量、第一存储索引向量和第一存储地址向量的步骤具体包括:根据所述预设写入数据个数,确定所述写入数据使能向量中值为1的元素的个数,根据所述待写入数据向量的长度与所述预设写入数据个数之间的差值,确定所述写入数据使能向量中值为0的元素的个数;根据所述待写入数据向量中各元素在所述待写入数据向量中的索引、所述一维写入地址和所述待写入数据向量的长度,获取所述第一存储索引向量和所述第一存储地址向量。4.根据权利要求1-3任一所述的方法,其特征在于,根据所述第一存储索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序的步骤具体包括:根据所述第一存储索引向量,获取各所述存储子单元的索引对应的元素在所述待写入数据向量中的索引所构成的写入数据索引向量;根据所述写入数据索引向量,对所述写入数据使能向量、所述第一存储地址向量和所述待写入数据向量进行重排序。5.一种数据并行读取方法,其特征在于,包括:将待读取数据向量的读取数据索引变换为一维读取地址;其中,所述待读取数据向量为待读取的多维数据矩阵中的一个一维或多维向量,所述读取数据索引为所述待读取数据向量的所有元素中第一个待读取元素在所述待读取的多维数据矩阵中的索引;根据所述一维读取地址和预设读取数据个数,获取所述待读取数据向量的读取数据使能向量、第二存储索引向量和第二存储地址向量;其中,所述读取数据使能向量中的每个元素用于表示所述待读取数据向量中相应位置的元素是否读取;所述第二存储索引向量为所述待读取数据向量中各元素在并行存储器中各存储子单元的索引所构成的向量;所述第二存储地址向量为所述待读取数据向量中各元素在各所述存储子单元中的地址所构成的向量;根据所述第二存储索引向量,对所述读取数据使能向量和所述第二存储地址向量进行重排序,根据重排序后的所述读取数据使能向量和所述第二存储地址向量从所述并行存储器中读取存储数据向量,根据所述第二存储索引向量对所述存储数据向量进行重排序,获取所述待读取数据向量。6.根据权利要求5所述的方法,其特征在于,将待读取数据向量的读取数据索引变换...

【专利技术属性】
技术研发人员:刘大可苗志东
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

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

1