I maintain a CUDA build for GMP-ECM, which is a program for factoring large integers. The build, which uses Visual Studio, Nsight and CUDA, is stable and has been working on CUDA versions up to 11.2 but now fails with CUDA version 11.3 with the error message:
“A single input file is required for a non-link phase when an output file is specified”
The only difference in my build files is that the string “11.2” has been replaced by “11.3” in 10 places - no other changes of any kind have been made.
The command line that leads to this failure is quoted below. It is complex to say the least but (apart from a duplicated include) I have been unable to see what is wrong with it. I would much appreciate any advice that can be offered on what might be causing a failure with CUDA 11.3, given that the build has been working fine with no issues on previous versions.
with my regards,
Brian Gladman
1>C:\Users\brg\Documents\Visual Studio 2019\Projects\gmp-ecm\build.vs\libecm_gpu>
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin\nvcc.exe"
--use-local-env
-ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29910\bin\HostX86\x64"
-x cu
-I..
-I..\..\..\mpir\lib\x64\Release
-I..\
-I..\..\
-I..\assembler
-I..\..\..\mpir\lib\x64\Release\
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\include"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\include"
--keep-dir x64\Release
-maxrregcount=0
--ptxas-options=-v
--machine 64
--compile
-cudart static
-DWIN32
-DWITH_GPU
-DGPU_CC50
-D_WIN64
-DNDEBUG
-D_LIB
-DUSE_ASM_REDC
-Xcompiler
"/EHsc
/W3
/nologo
/Ox
/Fd"C:\Users\brg\Documents\Visual Studio 2019\Projects\gmp-ecm\build.vs\..\lib\x64\Release\libecm_gpu.pdb"
/FS
/MT " -o x64\Release\cudakernel.cu.obj "C:\Users\brg\Documents\Visual Studio 2019\Projects\gmp-ecm\cudakernel.cu"
------------------------------------