使用 ArrayFire 将向量添加到矩阵的所有列

Add a vector to all columns of a matrix with ArrayFire

使用 ArrayFire 将向量添加到矩阵的所有列的最佳方法是什么?

目前我正在使用 gfor 循环,但对于这样一个简单的任务来说这似乎是错误的。

gfor(af::seq i, M.dims(1)) {
    M(af::span, i) += VECTOR;
}

有没有更好的方法?

您可以使用 tile。由于您正在平铺单例维度 (VECTOR.dims(1) = 1),这将作为 JIT 操作(在同一内核中)完成,而不是调用不同的内核。

M += af::tile(VECTOR, 1, M.dims(1));