Я искал всю информацию о том, как именно использовать классы с CUDA, и хотя существует общее мнение, что это можно сделать и, по-видимому, делают люди, мне было трудно узнать как это сделать на самом деле.
У меня есть класс, который реализует базовый битсет с перегрузкой оператора и тому подобное. Мне нужно иметь возможность создавать объекты этого класса как на хосте, так и на устройстве, копировать между ними и т.д. Я определяю этот класс в .cu? Если да, то каким образом я могу использовать его в своем коде на С++ на стороне хоста? Функции класса не нуждаются в доступе к специальным переменным CUDA, таким как threadId; он просто должен быть способен использовать хост и устройство.
Спасибо за любую помощь, и если я подхожу к этому совершенно неправильно, я бы хотел услышать альтернативы.