System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向异构加速平台的解压缩方法技术_技高网

一种面向异构加速平台的解压缩方法技术

技术编号:40989629 阅读:2 留言:0更新日期:2024-04-18 21:32
本发明专利技术提供了一种面向异构加速平台的解压缩方法,涉及解压缩计算技术领域。本发明专利技术通过采用OpenCL高级语言完成解压缩算法的描述,然后通过Altera SDK for OpenCL高层次综合工具实现解压缩算法到ASIC硬件执行比特流的自动化映射;使用ASIC作为协处理器,能够有效的提升解压缩核心算法的执行性能,同时这种实现方式能够有效缩短将解压缩算法部署到基于ASIC的异构加速平台时的时间,降低功耗,缩短产品研发周期,并大大降低批量生产的成本。

【技术实现步骤摘要】

本专利技术涉及解压缩计算,尤其涉及一种面向异构加速平台的解压缩方法


技术介绍

1、在当下云计算,虚拟化大数据时期,海量数据传输需要占用超大的带宽,严重影响了云计算数据中心中网络传输的性能。为了降低海量数据传输时的性能,目前已经产生了各种成熟并且效果非常好的无损数据压缩算法,最经典的属于gzip压缩算法。

2、现有的研究机构均致力于研究如何采用x86芯片+asic异构加速平台对gzip压缩算法的性能进行硬件加速,但是对于gzip解压缩算法,仍采用通用的x86的cpu或gpu进行实现,虽然与gzip压缩算法相比,解压缩算法的复杂度比较低,但仍属于串行计算,当采用asic对gzip压缩算法进行硬件加速后,串行执行的解压缩算法就成为了云计算中心进行海量数据传输时的性能瓶颈。

3、另一方面,现在一般技术使用fpga技术功耗较高,而x86芯片昂贵,且不容易购买,现有的fpga也很昂贵,不便于批量生产,很难使用工业化。

4、因此,需要提供一种面向异构加速平台的解压缩方法来解决上述技术问题。


技术实现思路

1、为解决上述之一技术问题,本专利技术提供的一种面向异构加速平台的解压缩方法,运用于arm+asic异构加速平台上,首先,通过opencl高级语言完成解压缩算法的描述,并分别生成在通用处理器arm的cpu上运行的主机端程序以及面向asic平台的kernel程序;

2、然后,通过gcc编译器对主机端程序进行编译,生成可在通用处理器arm的cpu上执行的可执行程序文件;再通过采用aoc高层次综合工具对kernel程序文件进行编译综合,生成可在asic平台上运行的aocx文件;

3、最后,在通用处理器arm的cpu上运行主机端程序,调用asic平台上的解压缩算法硬件电路进行硬件加速,asic平台执行比特流的自动化映射,完成对gzip解压缩算法的异构加速系统的自动部署过程。

4、作为更进一步的解决方案,通过如下步骤实现arm的cpu作为主机端进行硬件加速过程控制:

5、步骤a1:创建主机端与asic平台进行数据通信的缓存;

6、步骤a2:主机端将待解压缩数据传输至缓存进行存储;

7、步骤a3:主机端设置asic平台运行时所需要的参数信息;

8、步骤a4:主机端发送启动指令并调用asic平台上的解压缩算法硬件电路,控制启动解压缩算法;

9、步骤a5:asic平台通过解压缩算法对待解压缩数据进行解压缩操作,得到解压缩数据;

10、步骤a6:asic平台将解压缩数据进行存储,并返回完成信号至主机端,主机端处理器接收完成信号后读取解压缩数据。

11、作为更进一步的解决方案,所述解压缩算法为gzip解压缩算法,并采用opencl高级语言对gzip解压缩算法进行描述;所述参数信息包括与待解压缩数据对应的数据信息和压缩关系表;其中,所述gzip解压缩算法包括huffman解码和lz77解压缩,所述压缩关系表为huffman码表。

12、作为更进一步的解决方案,所述解压缩算法对待解压缩数据进行解压缩操作的过程具体为:

13、步骤b1:逐个字节读取缓存中的待解压缩数据,并按照huffman码表对每个字节进行huffman解压缩,得到第二待解压缩数据,并将第二待解压缩数据进行保存;

14、步骤b2:逐个字节读取第二待解压缩数据,第二待解压缩数据中的第一个字节为标记位,判断当前字节是否为标记位;如果是,进入步骤b3;否则,进入步骤b4;

15、步骤b3:读取后续字节,并得到重复字节长度和偏移量,根据重复字节长度和偏移量进行解压缩,将解压缩后的数据进行存储;

16、步骤b4:直接将读取的数据作为解压缩后的数据进行存储;

17、步骤b5:重复步骤b2至步骤b4,直至第二待解压缩数据处理结束,得到解压缩数据。

18、作为更进一步的解决方案,所述arm+asic异构加速平台将待解压缩数据进行存储的过程具体为:将待解压缩数据存储至数据缓存buffer中;其中,所述arm的cpu与asic平台之间采用pci-e接口进行数据通信链接,并将asic平台上的ddr4内存作为数据缓存buffer。

19、与相关技术相比较,本专利技术提供的一种面向异构加速平台的解压缩方法具有如下有益效果:

20、本专利技术通过采用opencl高级语言完成解压缩算法的描述,然后通过altera sdkfor opencl高层次综合工具实现解压缩算法到asic硬件执行比特流的自动化映射;使用asic作为协处理器,能够有效的提升解压缩核心算法的执行性能,同时这种实现方式能够有效缩短将解压缩算法部署到基于asic的异构加速平台时的时间,降低功耗,缩短产品研发周期,并大大降低批量生产的成本。

本文档来自技高网...

【技术保护点】

1.一种面向异构加速平台的解压缩方法,运用于ARM+ASIC异构加速平台上,其特征在于,首先,通过OpenCL高级语言完成解压缩算法的描述,并分别生成在通用处理器ARM的CPU上运行的主机端程序以及面向ASIC平台的Kernel程序;

2.根据权利要求1所述的一种面向异构加速平台的解压缩方法,其特征在于,通过如下步骤实现ARM的CPU作为主机端进行硬件加速过程控制:

3.根据权利要求2所述的一种面向异构加速平台的解压缩方法,其特征在于,所述解压缩算法为gzip解压缩算法,并采用OpenCL高级语言对gzip解压缩算法进行描述;所述参数信息包括与待解压缩数据对应的数据信息和压缩关系表;其中,所述gzip解压缩算法包括Huffman解码和LZ77解压缩,所述压缩关系表为huffman码表。

4.根据权利要求3所述的一种面向异构加速平台的解压缩方法,其特征在于,所述解压缩算法对待解压缩数据进行解压缩操作的过程具体为:

5.根据权利要求4所述的一种面向异构加速平台的解压缩方法,其特征在于,所述ARM+ASIC异构加速平台将待解压缩数据进行存储的过程具体为:将待解压缩数据存储至数据缓存buffer中;其中,所述ARM的CPU与ASIC平台之间采用PCI-E接口进行数据通信链接,并将ASIC平台上的DDR4内存作为数据缓存buffer。

...

【技术特征摘要】

1.一种面向异构加速平台的解压缩方法,运用于arm+asic异构加速平台上,其特征在于,首先,通过opencl高级语言完成解压缩算法的描述,并分别生成在通用处理器arm的cpu上运行的主机端程序以及面向asic平台的kernel程序;

2.根据权利要求1所述的一种面向异构加速平台的解压缩方法,其特征在于,通过如下步骤实现arm的cpu作为主机端进行硬件加速过程控制:

3.根据权利要求2所述的一种面向异构加速平台的解压缩方法,其特征在于,所述解压缩算法为gzip解压缩算法,并采用opencl高级语言对gzip解压缩算法进行描述;所述参数信息包括与待解压缩数据对应的数据...

【专利技术属性】
技术研发人员:谢香刚
申请(专利权)人:四川华鲲振宇智能科技有限责任公司
类型:发明
国别省市:

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

1