Смежная вставка элементов в массив внутри ядра в CUDA - PullRequest
0 голосов
/ 31 марта 2020

Мне интересно, как вставить значения в ядро ​​CUDA таким образом, чтобы все они были смежными. Позвольте мне объяснить: представьте, что у меня есть два массива (или выделения памяти) «a» и «b», и «a» в начале примерно так:

a = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Длина a равна 10. Вычисление выполняется с использованием другого массива b с равным размером (в данном случае 10). Я должен проверить условие (на значениях "b"), и если оно истинно, я должен поместить значения в первый массив (а). Допустим, что b:

b = [1, 17, 15, 12, 16, 7, 3, 8, 10, 11]

И, скажем, мне нужно проверить, какое число четное, и поместить его в «a», начиная с первой свободной позиции (я знаю, это потому, что у меня есть индекс для этого) до следующих n позиций (где n - это число значений, которые проверили условие, и у меня также есть «n»), все смежные, поэтому, в этом примере, конечный результат будет быть:

a = [12, 16, 8, 10, 0, 0, 0, 0, 0, 0]

Порядок вставки не важен, то есть:

a = [12, 16, 8, 10, 0, 0, 0, 0, 0, 0]

эквивалентен:

a = [8, 12, 10, 16, 0, 0, 0, 0, 0, 0]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...