Я пытаюсь написать эквивалентный код CUDA C++ для следующего кода C++. Я попробовал несколько способов, но не нашел способа реализовать этот код параллельно.
void func(result, parents, parentslength, matchparents, matchlength) {
int j = 0;
for (int i = 0; i < parentslength; i++) {
if (j < matchlength && parents == matchparents[j]) {
result = j;
++j;
}
else {
result = -1;
}
}
}
Это пример входных данных и ожидаемого результата:
parentslength = 12,
parents = [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3],
matchlength = 6,
matchparents = [0, 0, 0, 2, 2, 3],
result = [0, 1, 2, -1, -1, -1, -1, 3, 4, -1, 5, -1]
Подробнее здесь: https://stackoverflow.com/questions/787 ... is-a-match