【技术实现步骤摘要】
针对矩阵
‑
矩阵乘法分配处理线程
技术背景
[0001]给定的计算机系统可以包含专门的数学库,该库提供程序以支持各种工程、数据挖掘、数字处理、数据分析和机器学习应用中的算术运算。一个这样的程序可以实现广义矩阵
‑
矩阵乘法(GEMM)算法的一个版本,用于执行矩阵
‑
矩阵乘法。对于一些应用,矩阵
‑
矩阵乘法所涉及的矩阵可能相对较大(例如,给定的矩阵可能具有数万或数十万的行和列,或者更多),导致每个矩阵
‑
矩阵乘法的相对大量的浮点乘法运算。
附图说明
[0002]图1是根据示例实施方式的计算机系统的示意图。
[0003]图2是描绘由根据示例实施方式的图1的计算机系统的线程分解引擎和争用缓解引擎使用的进程的流程图。
[0004]图3是根据示例实施方式的广义矩阵
‑
矩阵乘法(GEMM)算法的嵌套处理循环的图示。
[0005]图4是根据示例实施方式的由K组处理线程进行的矩阵
‑
矩阵乘法处理的图示。
[0006]图5A和5B示出了根据示例实施方式的执行自适应K维度线程化的进程的流程图。
[0007]图6是描绘根据示例实施方式的确定用于处理线程子循环的子块大小的进程的流程图。
[0008]图7是描绘根据示例实施方式的确定是否推荐使用本地临时缓冲器以缓解处理线程争用的进程的流程图。
[0009]图8是根据示例实施方式的存储机器可执行指令的非瞬时性存储介质的图示,机器 ...
【技术保护点】
【技术特征摘要】
1.一种存储机器可读指令的非瞬时性存储介质,所述指令当由机器执行时,使得所述机器:访问表示第一矩阵的第一维度、第二矩阵的第二维度以及由所述第一矩阵和所述第二矩阵共用的第三维度的数据,确定所述第一矩阵的多个候选分解,其中所述候选分解沿着所述第一维度和所述第三维度相对彼此大小不同;确定所述多个候选分解中的每个候选分解的相关联的适应度值;基于所述适应度值,选择所述多个候选分解中的候选分解,以提供经选择的候选分解;以及提供表示所述经选择的候选分解的数据,以使得将处理线程分配给所述第一矩阵的子矩阵,其中所述处理线程基于所述第一矩阵和所述第二矩阵的乘法来确定第三矩阵。2.根据权利要求1所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器确定所述多个候选分解的块大小,使得所述多个候选分解中的每个候选分解根据所述块大小沿着第三维度被分解。3.根据权利要求2所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器基于在所述第三矩阵的确定中由所述处理线程使用的缓存存储器的特征来确定所述块大小。4.根据权利要求1所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器:对于所述适应度值中的每个适应度值:确定所述相关联的候选分解的多个条件;以及基于所述多个条件确定所述每个适应度值。5.根据权利要求4所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器:对于所述每个适应度值:归一化所述多个条件中的每个条件,以提供多个经归一化的条件值;以及组合所述多个经归一化的条件值以确定所述每个适应度值。6.根据权利要求1所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器:对所述适应度值排序,以提供所述多个候选分解的相应排序;以及基于所述排序选择所述经选择的候选分解。7.根据权利要求6所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器:基于所述排序,选择第一候选分解;确定所述第一候选分解不满足选择标准;基于所述排序,选择除所述第一候选分解之外的第二候选分解;确定所述第二候选分解满足所述选择标准;以及确定所述第二候选分解为所述经选择的候选分解。8.根据权利要求1所述的存储介质,其中,所述经选择的候选分解对应于被细分为多个
子矩阵的所述第三矩阵,其中所述多个子矩阵中的每个子矩阵与所述多个进程的一组进程相关联,并且所述指令当由所述机器执行时,还使得所述机器:确定多个候选子矩阵分解,其中所述候选子矩阵分解沿着所述第一维度和所述第二维度相对彼此大小不同;确定所述多个候选子矩阵分解中的每个候选子矩阵分解的相关联的第二适应度值;基于所述第二适应度值,选择所述多个候选子矩阵分解中的候选子矩阵分解,以提供经选择的候选子矩阵分解;以及提供表示所述经选择的候选子矩阵分解的数据,以使得所述处理线程的每个处理线程基于所述经选择的子矩阵分解进行子循环。9.根据权利要求1所述的存储介质,其中,所述经选择的候选分解对应于被细分为多个子矩阵的所述第三矩阵,其中所述多个子矩阵中的每个子矩阵与所述多个进程的一组进程相关联,并且所述指令当由所述机器执行时,还使得所述机器:确定所述多个子矩阵的子矩阵分解;以及提供表示所述子矩阵分解的数据,以使得所述处理线程的每个处理线程基于所述子矩阵分解进行子循环。10.根据权利要求1所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器基于所述经选择的候选分解的至少一个特征以确定是否建议使用缓冲器来存储所述乘法的初步结果,其中,例程使用来自存储在所述缓冲器中的内容的添加更新来更新所述第三矩阵。11.根据权利要求10所述的存储介质,其中,所述指令当由所述机器执行时,还使得所述机器基于以下中的至少一项确定是否推荐使用所述缓冲器:沿着所述第一维度的所述候选分解的第一块大小与沿着所述第一维度的第一缓存最优块大小的比较,沿着所述第二维度的所述候选分解的第二块大小与沿...
【专利技术属性】
技术研发人员:A,
申请(专利权)人:慧与发展有限责任合伙企业,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。