使用 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));
使用 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));