[发明专利]一种基于GPU的三阶低秩张量计算方法在审
| 申请号: | 201910195942.2 | 申请日: | 2019-03-15 |
| 公开(公告)号: | CN110059290A | 公开(公告)日: | 2019-07-26 |
| 发明(设计)人: | 张涛;李海;刘小洋 | 申请(专利权)人: | 上海大学 |
| 主分类号: | G06F17/14 | 分类号: | G06F17/14;G06F17/16;G06T1/20 |
| 代理公司: | 上海上大专利事务所(普通合伙) 31205 | 代理人: | 陆聪明 |
| 地址: | 200444*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 三阶 低秩 计算效率 实数 复数 傅里叶逆变换 傅里叶变换 并发处理 矩阵运算 输出数据 传输 | ||
本发明提供一种基于GPU的三阶低秩张量计算方法。本方法的操作步骤如下:CPU将三阶实数张量输入数据DATA1传输至GPU;GPU将DATA1进行傅里叶变换,得到三阶复数张量数据DATA2;GPU对DATA2进行矩阵运算,得到三阶复数张量数据DATA3;GPU对DATA3进行傅里叶逆变换,得到三阶实数张量输出数据DATA4;GPU将DATA4传输至CPU。本发明通过使用GPU来加速三阶低秩张量计算中高并发处理的计算任务以提高计算效率。与传统基于CPU的三阶低秩张量计算相比,计算效率有明显提高,能够在较短时间内完成相同的计算。
技术领域
本发明属于高性能计算领域,具体涉及一个基于GPU(图形处理器GraphicsProcessing Unit)的三阶低秩张量计算方法。
背景技术
在大数据处理、机器学习及物联网等众多科学领域中都需要高维数据计算。研究人员通常将真实世界的高维数据建模为低秩张量,以利用低秩性来减少数据的冗余。张量计算是高性能计算及人工智能的基础。
低秩张量模型已广泛应用于数据补全、MRI图像处理、二维字典学习、无线扫描成像等。因此,研究高性能的张量计算方法对于支持大规模、高维度、结构复杂的张量数据分析至关重要。然而,低秩张量操作是计算密集的,其计算的时间复杂度随张量的大小的增长成指数增长,传统的基于CPU的张量计算计算耗时较长,效率较低,不能满足现实应用的实时性需求,对大规模张量数据的分析分析不实用。
GPU具备众多的计算核以及高访存带宽,近年来越来越多地被用于加速并行计算。GPU的强大计算能力,为加速张量计算提供了强有力的基础。
发明内容
针对现有技术存在的问题,本发明提供一种基于GPU及低管型秩(Low-tubal-rank)张量模型的三阶低秩张量计算方法。与传统基于CPU的三阶低秩张量计算相比,计算效率可明显提高,能在较短时间内完成相同的计算。
为达到上述目的,本发明的技术方案如下:
一种基于GPU的三阶低秩张量计算方法,其特征在于,包括:
步骤1:CPU将三阶实数张量输入数据DATA1传输至GPU。
步骤2:GPU将DATA1进行傅里叶变换,得到三阶复数张量数据DATA2。
步骤3:GPU对DATA2进行矩阵运算,得到三阶复数张量数据DATA3。
步骤4:GPU对DATA3进行傅里叶逆变换,得到三阶实数张量输出数据DATA4。
步骤5:GPU将DATA4传输至CPU。
所述步骤1,包括:
步骤1.1:在GPU显存中分配空间;
步骤1.2:将CPU内存中的三阶实数张量输入数据DATA1传输至GPU显存中所分配空间。W表示DATA1中三阶张量的个数,其值由具体张量运算所需要的输入张量个数决定且W≥1。
所述步骤2,包括:
步骤2.1:在GPU上,对显存中DATA1的W个三阶实数张量T逐个进行傅里叶变换:H=fft(T,[],3),得到W个三阶复数张量。其中,T∈Rm×n×k为三阶实数张量,R表示实数,m、n,、k分别为张量T的第一维、第二维、第三维的大小。H∈Cm×n×k为傅里叶变换后得到的三阶复数张量,C表示复数,m、n,、k分别为张量H的第一维、第二维、第三维的大小,fft(T,[],3)表示沿着张量T的第三维进行傅里叶变换,即进行m×n个长度为k的数据的傅里叶变换。在显存能满足计算所需空间的情况下,此m×n个傅里叶变换在GPU上并行进行。
步骤2.2:将W个三阶复数张量保存到GPU显存中,得到三阶复数张量数据DATA2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910195942.2/2.html,转载请声明来源钻瓜专利网。





