Как скомпилировать .cu с динамическим параллелизмом?

У меня 2 cpp файла настроить а также функции, 6 .cu файлов главный, наводнение, шаг времени, разряд, непрерывность а также копия.
Я пытаюсь скомпилировать это для основного вызова файлов CPP и поэтому ядро ​​флуд Глобальный а затем флуд вызова timetep, разряда, непрерывности и копирования всех ядер устройство.

Что-то вроде этого:

Главный
~ функции
~ установка
~ потоп
~~ временного шага
~~ разряда
~~ непрерывность
~~ копия

Я использую плату GK110 с CUDA 5.5, но я не знаю, как компилировать в отдельных источниках (я получил ошибку, что функции устройства требуют режима компиляции с разделением).
Я также не знаю, как использовать -dc или -rtc = {true} и флаги для динамического параллелизма.

Я пытался сделать это, но не работает:

g++  -c functions.cpp -std=c++0x
g++  -c setup.cpp -std=c++0x
nvcc -arch=sm_35 -dc timestep.cu copy.cu continuity.cu discharge.cu
nvcc -arch=sm_35 -dlink timestep.o copy.o continuity.o discharge.o -o link.o -lcudadevrt
nvcc -dc flood.cu -arch sm_35

Когда я дошел до пятой линии, я получил сообщение об ошибке, что вызов функции устройства не может быть настроен.

Кто-то может мне помочь?

1

Решение

Пытаться:

g++  -c functions.cpp -std=c++0x
g++  -c setup.cpp -std=c++0x
nvcc timestep.cu copy.cu continuity.cu discharge.cu flood.cu -arch=sm_35 -lcudadevrt -rdc=true -c
nvcc timestep.o copy.o continuity.o discharge.o flood.o -arch=sm_35 -lcudadevrt -dlink -o dlink.o
g++ functions.o steup.o dlink.o -o a.out -std=c++0x -L/<path>/cuda/lib<64,32> -lcudart -lcudadevrt
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]