Advertisement

LLVM中矩阵的实现分析

阅读量:

背景说明与研究基础

Clang为C/C++语言引入了对矩阵的扩展支持,使得用户能够更加便捷地运用可变大小的二维数据类型进行计算。不过,该功能目前仍处于实验阶段,其设计与实现细节仍在持续调整之中。LLVM当前架构主要针对小型列矩阵(column major)进行优化,其矩阵设计依托于向量结构,并为用户提供了向量代码生成的能力,有助于降低冗余的内存访问次数,同时具备直观的操作接口。基于LLVM13版本,并以Intel X86架构作为运行平台,对LLVM编译器在矩阵运算方面的基础支持进行了实验与分析。
现阶段LLVM所支持的矩阵运算操作主要包括矩阵转置、加减运算以及乘法运算,而在除法运算方面仅允许将矩阵除以标量值,尚不支持两个矩阵之间的相除操作。

功能实现模块设计

2.1 数据实现

矩阵所支持的元素类型涵盖整数型、单精度浮点型、双精度浮点型以及半精度浮点型,用户可通过设置matrix_type属性来指定具有不同元素类型及行列维度的矩阵结构。

在这里插入图片描述

2.2 内建支持

2.2.1 Clang

Clang前端为用户提供了三

全部评论 (0)

还没有任何评论哟~