Używam Tesli K20 z funkcją obliczeniowej 35 na Linuksie z CUDA 5.With proste jądro potomne nazwać daje błąd kompilacji: Unresolved extern function cudaLaunchDevice
cuda 5.0 błąd równoległości dynamicznej: ptxas fatal. nierozwiązane funkcja extern „cudaLaunchDevice
Mój wiersz polecenia wygląda tak:
nvcc --compile -G -O0 -g -gencode arch=compute_35 , code=sm_35 -x cu -o fill.cu fill.o
Widzę cudadevrt.a
w lib64 .. Czy musimy go dodać lub co należy zrobić, aby go rozwiązać? Bez wywołania jądra potomnego wszystko działa poprawnie.
Już dodałem bibliotekę w bibliotekach eclipse cuda nvcc linker, ale wciąż daje błąd. – Zahid
Teraz linia poleceń wygląda nvcc --compile -G -O0 -g -gencode arch = compute_35, code = sm_35 -x cu -o "fill.o" ../fill.cu -lcudadevrt Próbowałem zarówno ścieżki biblioteki, jak i kopiowania cudadevrt lib do pliku projektu. nadal występuje błąd. – Zahid
@Zahid: Polecenie, które piszesz, kompiluje kod urządzenia tylko do pliku obiektowego. Musisz dodać -lcudadevrt do polecenia, które łączy aplikację. Czy przeczytałeś plik pdf, do którego się przyłączyłem? – talonmies