我有一个矩阵乘法,如下所示:
void gemm_nn(int N, int K, float *A, float *B, float *C) {
int j, k;
for (k = 0; k < K; k++)
for (j = 0; j < N; j++)
C[j] += A[k] * B[k * N + j];
}
浮点数是单个4字节32位。
我想使用armv8-64位优化循环。
我可以在单个128位寄存器中加载4个连续的浮点数,并执行一次乘法累加运算吗?
您能指出我应该尝试实现的指示吗?
答案 0 :(得分:1)
需要本地SIMD ld1 {v16.4s}和fmla指令。