"A single input file is required for a non-link phase when an output file is specified"

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"
------------------------------------

My guess would be that the problem is arising due to the inner quotes on the /Fd switch which is within quotes for the parameter(s) to -Xcompiler switch. Something similar to what is described here.

I don’t have a solution for you, though. It might be a project configuration issue, a bug in VS, or a bug in the Nsight VSE integration.

Since the issue seems to come about with migration from 11.2 to 11.3, you might wish to file a bug using the instructions linked in a sticky post at the top of this sub-forum. If you do that, I think it’s likely that the bug attendants will ask you for more information than what you have provided here.

Thank you for your rapid response to my issue. I thought about reporting a possible bug but it seemed worth posting here first in case there was a fix that is known about.