В модели программирования CUDA все потоки внутри основы работают параллельно.Но фактическое выполнение в аппаратном обеспечении может не быть параллельным, потому что число ядер в SM (потоковом мультипроцессоре) может быть меньше 32. Например, архитектура GT200 имеет 8 ядер на SM, а потокам в деформации потребуется 4 тактовых цикла.чтобы завершить выполнение.
Если несколько потоков записывают в одно и то же место (совместно используемую память или глобальную память), и если вы не хотите состязаться, то вы должны использовать атомарные операции или блокировки, потому что программирование CUDAМодель не гарантирует, какой поток собирается написать.