[发明专利]一种基于GPU的L1最小化问题快速求解方法在审
申请号: | 201610116008.3 | 申请日: | 2016-03-01 |
公开(公告)号: | CN105739951A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 高家全;李泽界;王宇 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵;黄美娟 |
地址: | 310014 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于GPU的L1最小化问题快速求解方法,在NVIDIA的Maxwell架构GPU设备上,采用CUDA并行计算模型,利用GPU新特征及内核合并和优化技术,提供了一种L1最小化问题快速求解方法。该求解方法中不仅包含了自适应优化的矢量运算、非转置矩阵矢量乘和转置矩阵矢量乘的设计,而且能够仅通过简单的CUDA线程分配设置不同,实现单个或并发多个L1最小化问题的并行求解。实验结果表明,本发明提出的求解方法是有效的,而且具有极高的并行度和适应性。与现有的并行求解方法相比,性能大幅度提高。 | ||
搜索关键词: | 一种 基于 gpu l1 最小化 问题 快速 求解 方法 | ||
【主权项】:
1.一种基于GPU的L1最小化问题快速求解方法,其特征在于,基于快速迭代收缩阈值算法,在NVIDIA的Maxwell架构GPU设备上,采用CUDA并行计算模型,并行加速求解L1最小化问题;设计了自适应优化的矢量运算、非转置矩阵矢量乘和转置矩阵矢量乘,并通过合理的CUDA线程分配实现了单个L1最小化问题并行求解器和并发多个L1最小化问题的并行求解器;所述求解方法的具体步骤如下:1)根据数据字典的维度和GPU设备的计算资源设置,完成线程束分配设置和线程分配设置;2)采用32字节对齐填充的方式,保存数据字典至0开始索引的按行存储的矩阵中;传输数据字典和矢量从主机端到GPU设备端,所述的矢量是数据项b和稀疏表示x;3)同时在主机端上,异步计算FISTA的输入参数;4)根据需要求解的L1最小化问题的个数,如果仅求解单个L1最小化问题,在GPU设备端上启发调用单个L1最小化问题并行求解器的设置;如果求解并发多个L1最小化问题,在GPU设备端上启发调用并发多个L1最小化问题的并行求解器的设置;启用单个L1最小化问题并行求解器设的具体方法是:一个GPU设备仅求解一个L1最小化问题,非转置矩阵矢量乘并行设计、转置矩阵矢量乘并行设计和融合矢量操作的流式并行设计由三个CUDA内核函数分别实现完成。启用并发多个L1最小化问题的并行求解器设置的具体方法是:一个GPU设备能够并发求解多个L1最小化问题;每一个L1最小化问题的求解由一个或多个线程块完成,并且非转置矩阵矢量乘并行设计、转置矩阵矢量乘并行设计和融合矢量操作的流式并行设计仅由一个CUDA内核函数实现;另外,使用CUDA提供的内置函数将数据字典矩阵的访问缓存在只读数据缓存中,提高访问效率。5)在GPU设备端上,使用自适应优化的非转置矩阵矢量乘并行设计,实现FISTA中的非转置矩阵矢量乘;6)在GPU设备端上,使用自适应优化的转置矩阵矢量乘并行设计,实现FISTA中的转置矩阵矢量乘;7)在GPU设备端上,融合剩余的矢量操作,使用流式并行设计,融合方式计算FISTA中剩余的矢量操作;8)同时在主机端上,异步计算标量值;9)如果达到收敛条件,停止迭代,传输稀疏表示从GPU设备端到主机端,否则返回步骤5),继续迭代。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610116008.3/,转载请声明来源钻瓜专利网。