[发明专利]基于片上分块的大规模三维矩阵转置的众核并行优化方法在审
申请号: | 201910918612.1 | 申请日: | 2019-09-26 |
公开(公告)号: | CN112559435A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 王礼生;孙唯哲;王臻;陈德训;刘鑫;赵朋朋;李芳;陈鑫;郭恒 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F15/173 | 分类号: | G06F15/173 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分块 大规模 三维 矩阵 并行 优化 方法 | ||
1.一种基于片上分块的大规模三维矩阵转置的众核并行优化方法,其特征在于:包括以下步骤:
S1、按三维数组中最不连续的一维,即最高维进行分块,分块过程如下:假设三维数组三个维度的大小分别为L、M、N,且在内存中优先存储大小为N的那一维数据,则大小为L的那一维是最不连续的一维即最高维;对L进行分块,要求分成的每一块的大小,假设为l,与其余两维大小的乘积不超过异构众核架构中每个计算核心的缓存大小,即l×M×N不超过异构众核架构中每个计算核心的缓存大小,若超过,则将分块大小设为1;
S2、每个计算核心根据S1中的分块结果和自己的编号,计算自己计算的数据在异构众核架构的控制核心的内存中的位置,并从控制核心的内存中将数据加载到自己的缓存中;
S3、每个计算核心计算S2中加载到自己缓存的数据,计算时依次计算分块的那一维,即S1中的l上的每一个值对应的二维矩阵,即S1中的M×N;
S31、在计算一个M×N时,对其按8×8进行分块,对每个8×8分块利用异构众核片上快速转置接口进行转置运算;
S32、在分块过程中,若M不能被8整除,设m为M被8除的余数,则对M×N分块中(M-m)×N的部分直接进行转置运算,不使用异构众核片上快速转置接口;
S33、若N不能被8整除,则对M×N分块中8×(N-8)的部分使用异构众核片上快速转置接口进行转置运算;
S4、计算核心完成自己缓存上所有数据的转置运算后,将运算结果写回控制核心的内存中的对应位置;
S5、重复S2到S4直到完成整个三维矩阵转置运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910918612.1/1.html,转载请声明来源钻瓜专利网。