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