Я играю с кудой.Использование переменной устройства несколькими потоками на CUDA
На данный момент у меня есть проблема. Я тестирую большой массив для конкретных ответов, и когда я получаю ответ, мне приходится копировать данные на другой массив.
Например, мой тестовый массив из 5 элементов выглядит следующим образом:
[] [] [v1] [] [] [v2]
Результат должен выглядеть следующим образом:
[v1] [v2 ]
Проблема заключается в том, как вычислить адрес второго массива для хранения результата? Все элементы первого массива проверяются параллельно.
Я имею в виду, чтобы объявить переменную устройства Int адр = 0. Каждый раз, когда я найду ответ, я буду увеличивать эл. Но я не уверен в этом, потому что это означает, что addr может быть доступен несколькими потоками одновременно. Это вызовет проблемы? Или поток будет ждать, пока другой поток не закончит использование этой переменной?