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