Атомарно найдите максимум между заданным значением и переменной в глобальной памяти или общей памяти
[A,oldA] = gpucoder.atomicMax(
сравнивает A
,B
)B
к значению A
в глобальной памяти или общей памяти и записях max(A,B)
назад в A. Операция является атомарной в некотором смысле, что целая операция "чтение изменяет запись", как, гарантируют, будет выполнен без интерференции от других потоков. Порядок аргументов ввода и вывода должен совпадать с обеспеченным синтаксисом.
Вход указателя на функцию к gpucoder.stencilKernel
прагма не может содержать вызовы атомарных функций. Например,
out1 = gpucoder.stencilKernel(@myAtomicMax,A,[3 3],'same',B);