Пытаюсь разобраться, как работает reduction на CUDA.
Читаю вот это http://steps3d.narod.ru/tutorials/cuda-2-tutorial.html И соответственно, первую часть мануала http://steps3d.narod.ru/tutorials/cuda-tutorial.html
Пример оттуда у меня работает. И вроде бы даже правильно.
Но мне он не очень подходит. Мне нужно считать интеграл. Методом Монте-Карло.
Есть набор случайных точек (которые я нашёл каким-то образом, например, через генератор псевдослучайных чисел). Нужно складывать не все подряд точки (не весь массив, что есть), а вот только их. Тем самым как бы экономя время... на случай, если точек ну очень много.
В общем, скопировать можно и целиком весь массив... но складывать его надо выборочно. Не пойму, как мне это сделать... куда условие нужное записать. Если точнее, есть отдельный массив (целых чисел), массив индексов. например, x назовём его, длины N. И сам массив, что сложить надо - пусть будет X.
и нужно к сумме прибавить каждый X[x[N]] элемент... вот как-то так.