CUDA: атомарные операции с неподписанными символами - PullRequest
1 голос
/ 27 марта 2011

Я новичок в CUDA. У меня есть пиксельный буфер неподписанных символов в глобальной памяти, который может обновляться любым потоком. Поэтому, чтобы избежать странностей в значениях пикселей, я хочу выполнить atomicExch, когда поток пытается его обновить. Но в руководстве по программированию сказано, что эта функция работает только с 32- или 64-битными словами, тогда как я просто хочу атомарно обмениваться одним 8-битным байтом. Есть ли способ сделать это?

Спасибо.

1 Ответ

1 голос
/ 22 апреля 2011

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

get_the_lock
exch_data
release

http://forums.nvidia.com/index.php?showtopic=185809

Реализация критической секции в CUDA

...