一种基于OpenCL的稠密矩阵乘GPU加速方法

    公开(公告)号:CN109976810A

    公开(公告)日:2019-07-05

    申请号:CN201910191263.8

    申请日:2019-03-13

    IPC分类号: G06F9/38 G06F9/50 G06T1/20

    摘要: 本发明公开了一种基于OpenCL的稠密矩阵乘GPU加速方法,先在CPU上对稠密矩阵A和稠密矩阵B进行边界补齐,矩阵A和B的尺寸为OpenCL工作组的倍数;然后CPU将填充后矩阵A和B的数据传送给GPU;进行任务分配和设备内存优化,采用矩阵分块思想将矩阵待计算数据缓存至GPU局部存储器;采用向量计算合并多个矩阵元素;采用单个工作项计算多个数据方式;最后GPU按照划分的子矩阵计算每个子矩阵的运算结果,去除补齐的边界部分,将计算结果返回CPU完成加速。本发明针对稠密矩阵乘这一计算任务,在GPU上进行了多层次优化,极大提升了任务计算速度。

    一种基于Kernel合并的GPU任务调度系统及方法

    公开(公告)号:CN109522108A

    公开(公告)日:2019-03-26

    申请号:CN201811279163.2

    申请日:2018-10-30

    IPC分类号: G06F9/48 G06F9/50

    摘要: 本发明公开了一种基于Kernel合并的GPU多任务调度系统及方法。包括任务分析模块、Kernel合并模块、任务调度模块和任务存储队列。用户提交GPU任务至任务存储队列,任务分析模块计算任务间的合并加速比,任务调度模块计算最优的合并调度顺序,并交至Kernel合并模块合并执行,获得最大任务吞吐率;本发明采用一般图的最大匹配计算最优合并调度顺序。通过任务分析模块计算任务的合并加速比;其次根据任务合并加速比构造有向图;通过二分图匹配算法计算最优的任务合并调度顺序;根据顺序调度任务组完成任务计算。本发明完成了上述功能的设计细节、实现算法和编码工作,提升了多任务下GPU的资源利用率。

    一种基于OpenCL的稠密矩阵乘GPU加速方法

    公开(公告)号:CN109976810B

    公开(公告)日:2021-07-13

    申请号:CN201910191263.8

    申请日:2019-03-13

    IPC分类号: G06F9/38 G06F9/50 G06T1/20

    摘要: 本发明公开了一种基于OpenCL的稠密矩阵乘GPU加速方法,先在CPU上对稠密矩阵A和稠密矩阵B进行边界补齐,矩阵A和B的尺寸为OpenCL工作组的倍数;然后CPU将填充后矩阵A和B的数据传送给GPU;进行任务分配和设备内存优化,采用矩阵分块思想将矩阵待计算数据缓存至GPU局部存储器;采用向量计算合并多个矩阵元素;采用单个工作项计算多个数据方式;最后GPU按照划分的子矩阵计算每个子矩阵的运算结果,去除补齐的边界部分,将计算结果返回CPU完成加速。本发明针对稠密矩阵乘这一计算任务,在GPU上进行了多层次优化,极大提升了任务计算速度。

    一种基于OpenCL内核任务的调度框架

    公开(公告)号:CN109542596A

    公开(公告)日:2019-03-29

    申请号:CN201811231275.0

    申请日:2018-10-22

    IPC分类号: G06F9/48 G06F9/50 G06N20/00

    摘要: 本发明公开了一种基于OpenCL内核任务的调度框架。该框架包括经LLVM编译器对OpenCL内核任务进行特征提取与特征选择,得到内核代码的编译时静态特征与运行时特征;在特征提取过程中,使用Greedy Feature Selection算法选出最重要的几个特征,避免过拟合现象;然后将选择出来的特征使用机器学习中的静态分类器预测CPU与GPU的任务划分比例;最后使用调度算法对获得的任务划分比例与平台可利用设备信息,对任务进行实际的调度,本发明完成了上述功能的设计细节、实现算法和编码工作,实现了在异构系统中通过机器学习与调度算法结合,实现对计算资源的最大化利用的一种自动化调度,提高异构系统资源利用率。

    一种基于OpenCL内核任务的调度方法

    公开(公告)号:CN109542596B

    公开(公告)日:2023-09-12

    申请号:CN201811231275.0

    申请日:2018-10-22

    IPC分类号: G06F9/48 G06F9/50 G06N20/00

    摘要: 本发明公开了一种基于OpenCL内核任务的调度框架。该框架包括经LLVM编译器对OpenCL内核任务进行特征提取与特征选择,得到内核代码的编译时静态特征与运行时特征;在特征提取过程中,使用Greedy Feature Selection算法选出最重要的几个特征,避免过拟合现象;然后将选择出来的特征使用机器学习中的静态分类器预测CPU与GPU的任务划分比例;最后使用调度算法对获得的任务划分比例与平台可利用设备信息,对任务进行实际的调度,本发明完成了上述功能的设计细节、实现算法和编码工作,实现了在异构系统中通过机器学习与调度算法结合,实现对计算资源的最大化利用的一种自动化调度,提高异构系统资源利用率。

    一种基于Kernel合并的GPU任务调度系统及方法

    公开(公告)号:CN109522108B

    公开(公告)日:2020-10-27

    申请号:CN201811279163.2

    申请日:2018-10-30

    IPC分类号: G06F9/48 G06F9/50

    摘要: 本发明公开了一种基于Kernel合并的GPU多任务调度系统及方法。包括任务分析模块、Kernel合并模块、任务调度模块和任务存储队列。用户提交GPU任务至任务存储队列,任务分析模块计算任务间的合并加速比,任务调度模块计算最优的合并调度顺序,并交至Kernel合并模块合并执行,获得最大任务吞吐率;本发明采用一般图的最大匹配计算最优合并调度顺序。通过任务分析模块计算任务的合并加速比;其次根据任务合并加速比构造无向图;通过二分图匹配算法计算最优的任务合并调度顺序;根据顺序调度任务组完成任务计算。本发明完成了上述功能的设计细节、实现算法和编码工作,提升了多任务下GPU的资源利用率。