C++ Kokkos передает список функторов в качестве аргумента функцииC++

Программы на C++. Форум разработчиков
Anonymous
C++ Kokkos передает список функторов в качестве аргумента функции

Сообщение Anonymous »

У меня есть функторы, определенные следующим образом:

Код: Выделить всё

struct f1{
KOKKOS_INLINE_FUNCTION
void operator()() const{
printf("Functor 1\n");
};
};

struct f2{
KOKKOS_INLINE_FUNCTION
void operator()() const{
printf("Functor 2\n");
};
};
Мне нужно передать список этих функторов в качестве аргумента функции, чтобы этот список функторов можно было использовать в среде Kokkos.
Я сделал то же самое для хост-среды без использования Kokkos, используя вектор указателей функций с функциями, определенными следующим образом:

Код: Выделить всё

void f1()
{
printf("Function 1\n");
}

void f2()
{
printf("Function 2\n");
}
Я создал массив указателей функций следующим образом:

Код: Выделить всё

std::vector f_list;
f_list.push_back(&f1);
f_list.push_back(&f2);
Этот список передается в качестве аргумента функции, определенной следующим образом:

Код: Выделить всё

void function(std::vector f_list)
{
....
....
for(int i = 0; i

Подробнее здесь: [url]https://stackoverflow.com/questions/78690544/c-kokkos-passing-list-of-functors-as-argument-to-a-function[/url]

Вернуться в «C++»