Я пытаюсь использовать флаг relocatable-device-code
. У меня есть большой проект, который было бы легче поддерживать с помощью небольших блоков кода.
Мне удалось скомпилировать проект. При попытке запустить его я получаю жесткий сбой. При использовании отладчика:
(gdb) where
#0 0x0000000000000001 in ?? ()
#1 0x00007fffffffe39c in ?? ()
#2 0x0000000000000000 in ?? ()
Я никогда не видел такой трассировки стека! Затем я уменьшил объем кода, пока не пришел к сингулярности: main.cu
файл содержит только
#include <iostream>
int main(void) {
std::cout << "hello, world" << std::endl;
return 0;
}
Что все равно не получается. Я использую следующие флаги для компиляции файла main.cu
.
nvcc -shared -rdc=true -arch=sm_20 -Xcompiler -fPIC -g -G
Есть ли в этом смысл? Почему ошибка сегментации для такой простой программы?