我有2个cpp文件设置和功能,6 .cu文件主要,泛滥, timetep ,放电,连续性和复制。 我试图将其编译为主调用cpp文件,因此泛洪内核全局然后泛洪调用时间步,放电,连续性和复制内核所有设备
这样的事情:
主要
〜功能
〜设置
〜洪水
~~时间步
~~放电
~~连续性
~~复制
我使用的是带有CUDA 5.5的GK110主板,但我不知道如何在不同的源代码中编译(我收到错误,设备功能需要分离编译模式)。 我也不知道如何使用-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
当我到达第五行时,我收到错误消息,指出无法配置设备函数调用。
有人可以帮助我吗?
答案 0 :(得分: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