Как использовать операцию CAS (сравнение и установка)

Как я могу читать, изменять и записывать одну и ту же переменную из нескольких потоков графического процессора? В C++AMP я использовал стандартную функцию сравнения и установки библиотеки, но я не нашел примера в AleaGPU.

Я знаю, что цель состоит в том, чтобы избежать таких вещей, но, не вдаваясь в подробности, я скажу, что это довольно необходимо для моего кода.


person Digiproc    schedule 10.07.2017    source источник


Ответы (1)


В AleaGPU есть API: http://www.aleagpu.com/release/3_0_3/api/html/64c9ca47-2e8e-265b-d968-15345e374320.htm

Использование описано здесь: http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#atomiccas

person Xiang Zhang    schedule 11.07.2017