Есть большой проект на C++ с использованием Qt, как совместить с CUDA ?
main.cpp имеет вид:
#include "SomeClass1.h"
#Include "SomeClass2.h"
---- == -----
#Include "SomeClassN.h"
int main(int argc, char *argv[])
{
//Code
//Code
//Code
return app.exec();
}
Если все кидать в *.cu файл, то сразу куча ошибок о несовместимости с Qt, оно и понятно, ибо nvcc не C++, а его подобие.
Как правильно сделать?
Можно ли сделать C++ обертку над CUDA? Как я знаю __global__ в класс никак не запихать :/
Заранее спасибо.
Думаю, что можно
Думаю, что можно http://linux.vsevteme.ru/2011/03/07/blog/cuda-v-qt-proekte
У меня правда, пока кое-какие проблемы у меня.. но думаю, разберусь...
__global__ в класс пихать и не надо... надо объявить эту функцию отдельно, а уже методом класса (или функцией-членом класса) вызывать это ядро. Так вроде бы по идее должно работать. Пока у меня проект на этапе созревания, поэтому точно сказать не могу =) надеюсь, что получится.