Ошибка соединения при сборке GPU разгрузки библиотеки C ++ с G CC для Python - PullRequest
1 голос
/ 24 февраля 2020

Я собираю внешнюю библиотеку C ++ для моего сценария python, используя g cc -7.3.0 с openmp4.x, который выгружается в графические процессоры NVIDIA. Я успешно собрал g cc как для хоста linux (CentOS-7), так и для целевого GPU (код openmp C ++ "hello world" выполнялся на GPU), но у меня возникла проблема на этапе компоновки библиотеки:

g++ -O3 -fPIC -no-pie -fopenmp -Wno-write-strings -I/usr/include/python3.6m -Wno-unused-result -Wsign-compare -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -D_GNU_SOURCE -fwrapv -o mylpy.so .mylpy.cpp libdep.a -L$(cuda_dir)/lib64 -L/$(gcc-offload_dir)/lib64 -lm -L/usr/lib64 -lpython3.6m -lpthread -ldl  -lutil -lm  -Xlinker -export-dynamic -lfftw -lgomp -fpic
/lib/../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
make: *** [pylib] Error 1

Может кто-нибудь сказать мне, что я здесь пропустил? Я очень ценю любые предложения или намеки.

У меня были установлены cuda-10.2 и python -3.6. Я также попробовал python -3.7 и получил ту же ошибку.

...