2016-02-16 4 views
1

Каков наилучший способ добавить вектор ко всем столбцам матрицы с помощью ArrayFire?Добавить вектор ко всем столбцам матрицы с ArrayFire

В данный момент я использую цикл gfor, но это кажется неправильным для такой простой задачи.

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

Есть ли лучший способ?

ответ

1

Вы можете использовать tile. Поскольку вы разбиваете одноэлементное измерение (VECTOR.dims (1) = 1), это будет выполняться как операция JIT (в том же ядре) и не вызывать другое ядро.

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