安全公司报告
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210464650.6 (22)申请日 2022.04.29 (71)申请人 青岛海洋科学与技术国家实验室发 展中心 地址 266237 山东省青岛市 即墨区问海中 路168号 (72)发明人 魏志强 马猛飞 许佳立 贾东宁  桂琳 王玉成 俞茂学 张成峰  (74)专利代理 机构 青岛联信知识产权代理事务 所(普通合伙) 37227 专利代理师 潘晋祥 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/48(2006.01) (54)发明名称 基于众核处理器以BCSR存储格式的SpMV实 现方法与系统 (57)摘要 本发明公开了一种基于众核处理器以BCSR 存储格式的SpMV实现方法与系统, 上述方法包 括: 通过主核按任务块的大小遍历待计算的稀 疏 矩阵, 并按数据块的大小以BCSR存储格式对稀 疏 矩阵进行划分并压缩, 获得压缩后的矩阵; 根据 矩阵的规模将矩 阵按任务块的大小进行划分并 编号, 形成任务池, 并将划分好的任务按任务号 分配至各从核; 根据从核的数量划分系数向量, 并将划分后的系数向量根据从核号分配并静态 存储到各从核中; 根据分配至各从核的所述任务 中的任务数据以及获取的系数向量进行SpMV计 算, 获得各从核计算的结果向量; 整合各从核计 算的结果向量, 得到完整的结果向量。 通过上述 方法, 有效提高了SpMV的计算速度和性能。 权利要求书2页 说明书8页 附图5页 CN 114780239 A 2022.07.22 CN 114780239 A 1.一种基于众核处 理器以BCSR存 储格式的SpMV实现方法, 其特 征在于, 包括: 初始化步骤: 通过主核按任务块的大小遍历待计算的稀疏矩阵, 并按数据块的大小以 BCSR存储格式对所述稀疏矩阵进行划分并压缩, 获得压缩后的矩阵; 任务划分步骤: 根据所述矩阵的规模将所述矩阵按任务块的大小进行划分并编号, 形 成任务池, 并将划分好的任务按任务 号分配至各从核; 系数向量划分步骤: 根据所述从核的数量划分系数向量, 并将划分后的系数向量根据 从核号分配并静态存 储到各从核中; 任务处理步骤: 根据分配至各从核的所述任务中的任务数据以及获取的系数向量进行 SpMV计算, 获得 各从核计算的结果向量; 结果整合 步骤: 整合所述各从核计算的结果向量, 得到 完整的结果向量。 2.根据权利要求1所述的SpMV实现方法, 其特征在于, 所述初始化步骤包括: 将划分好 的数据块按 行依次存放到val数组中, 同时在ind数 组中记录每个数据块首个非零元素的下 标, 并且在ptr数组中存放当前任务块首个包含非零元素的数据块在ind数组中的起始下 标。 3.根据权利要求1所述的SpMV实现方法, 其特征在于, 所述初始化步骤还包括: 根据所 述BCSR存储格式通过主核对所述稀疏矩阵进 行分析, 获得压缩后的所述矩阵所需的存储空 间以及所述数据块的大小。 4.根据权利要求2所述的SpMV 实现方法, 其特征在于, 所述初始化步骤还包括: 在bcsr_ csr_data_map中记录 压缩后矩阵的结构。 5.根据权利要求1所述的SpMV实现方法, 其特征在于, 所述任务块的大小为所述数据块 的行block_x_size与所述矩阵的列co l的乘积。 6.根据权利要求2所述的SpMV实现方法, 其特 征在于, 所述任务处 理步骤包括: 系数向量查找步骤: 根据所述矩阵压缩前后任务数据的位置关系结合BCSR存储格 式查 找对应位置的数据块的系数向量是否存在于当前从核中; 系数向量获取步骤: 若存在, 则直接获取当前从核内的系数向量进行SpMV计算; 若不存 在, 则通过动态获取的方式, 根据所述ind数组中数据块的下标从其他 从核中获取所需系数 向量进行SpMV计算。 7.根据权利要求1所述的SpMV实现方法, 其特 征在于, 所述任务处 理步骤还包括: 任务数据获取步骤: 当从核处理完分配到的任务后, 从所述任务池中按任务号获取下 一任务对应的任务数据; 任务号改变步骤: 按照任务号获取到下一任务的任务数据后, 对所述任务号执行加一 操作。 8.根据权利要求7 所述的SpMV实现方法, 其特 征在于, 所述任务处 理步骤还包括: 当所有从核完成计算后, 判断当前任务号与总任务数是否相等; 若相等, 则计算结束, 获得各从核计算的结果向量; 若不相等, 则返回所述任务划分步骤, 直到任务号与总任务数 相等。 9.根据权利要求1所述的SpMV实现方法, 其特征在于, 所述结果整合步骤还包括: 对得 到的各从核计算的结果向量进行误差分析, 若误差在设定的误差范围内, 则整合所述各从 核计算的结果向量, 得到完整的结果向量; 如果误差未达到设定的所述误差范围内, 则返回权 利 要 求 书 1/2 页 2 CN 114780239 A 2所述初始化 步骤, 直至误差 达到设定的所述 误差范围内。 10.一种基于众核处 理器以BCSR存 储格式的SpMV实现系统, 其特 征在于, 包括: 初始化单元: 通过主核按任务块的大小遍历待计算的稀疏矩阵, 并按数据块的大小以 BCSR存储格式对所述稀疏矩阵进行划分并压缩, 获得压缩后的矩阵; 任务划分单元: 根据所述矩阵的规模将所述矩阵按任务块的大小进行划分并编号, 形 成任务池, 并将划分好的任务按任务 号分配至各从核; 系数向量划分单元: 根据所述从核的数量划分系数向量, 并将划分后的系数向量根据 从核号分配并静态存 储到各从核中; 任务处理单元: 根据分配至各从核的所述任务中的任务数据以及获取的系数向量进行 SpMV计算, 获得 各从核计算的结果向量; 结果整合单 元: 整合所述各从核计算的结果向量, 得到 完整的结果向量。权 利 要 求 书 2/2 页 3 CN 114780239 A 3

.PDF文档 专利 基于众核处理器以BCSR存储格式的SpMV实现方法与系统

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于众核处理器以BCSR存储格式的SpMV实现方法与系统 第 1 页 专利 基于众核处理器以BCSR存储格式的SpMV实现方法与系统 第 2 页 专利 基于众核处理器以BCSR存储格式的SpMV实现方法与系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 07:15:27上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。