高性能计算例程:GEMM (零)
一、背景:
- GEMM(General Matrix Multiplication)全称为“通用矩阵乘法”;
- GEMM是BLAS(Basic Linear Algebra Subprograms)中Level 3的例程,也是整个BLAS最重要的例程之一;
二、例程(以double类型为例):
1.功能:
计算 α∗A′∗B′+β∗C\alpha*A'*B'+\beta*Cα∗A′∗B′+β∗C的值,然后将结果存入C中,
即:
C⟵α∗A′∗B′+β∗CC\longleftarrow \alpha*A'*B'+\beta*CC⟵α∗A′∗B′+β∗C
其中:
(1)α和β为标量常数\alpha \text{和} \beta \text{为标量常数}α和β为标量常数
(2)A′=op(A)={
A,op is no transposeAT,op is transpose A'=op(A)=\left\{ \begin{aligned} &A & , & \text{op is no transpose} \\ &A^T& , & \text{op is transpose} \\ \end{aligned} \right. A′=

本文深入解读了GEMM在BLAS库中的关键作用,介绍了double类型下的计算流程,包括矩阵乘法规则、CBLAS函数cblas_dgemm的参数解析及leading dimension概念。适合理解矩阵运算和高性能计算的开发者。
最低0.47元/天 解锁文章
1万+





