У меня есть большая кодовая база, к которой я пытаюсь добавить вычисления на GPU через RAJA. В настоящее время я вижу
main.o:24:16: error: invalid preprocessing directive #\
Как мне проверить это, чтобы узнать, откуда может появиться эта ошибка?
Компилятор:
.../cuda-10.1.243/bin/nvcc
Соответствующие флаги:
CXX = /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc
LINK = time $(CXX) -std=c++11 \
-DENABLE_RAJA \
-DENABLE_CUDA=On \
-DENABLE_OPENMP=Off \
--expt-extended-lambda \
-x cu \
-arch=sm_70 \
Я использовал команду
grep -r --include=\*.h --include=\*.cpp --include=\*.o '#\\' *
Чтобы найти источник этой проблемы, но я не получил никаких обращений.
Вот некоторые примеры вывода Make (сокращенно)
time /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc -std=c++11 -DENABLE_RAJA -DENABLE_CUDA=On -DENABLE_OPENMP=Off --expt-extended-lambda -x cu -arch=sm_70 -c -I/includestuff main.cpp -o main.o
time /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc -std=c++11 -DENABLE_RAJA -DENABLE_CUDA=On -DENABLE_OPENMP=Off --expt-extended-lambda -x cu -arch=sm_70 -c -I/includestuff /somepath/Funcs.cpp -o /somepath/Funcs.o
......some other lines like the one above.....
time /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc -std=c++11 -DENABLE_RAJA -DENABLE_CUDA=On -DENABLE_OPENMP=Off --expt-extended-lambda -x cu -arch=sm_70 main.o ~GIANT LIST OF .o FILES~ -o prog.exe