To be honest, any MSVC custom flag breaks the compilation. Somehow NVCC doesn't put it in -Xcompiler option, but directly puts it to its command-line args.
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" --use-local-e
nv -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64" -x cu
-rdc=true -I"D:\00-Home\Work\Projects\bsmp\src" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -I"C
:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include\cccl" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUD
A\v13.0\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -std=c++14 --generat
e-code=arch=compute_75,code=[compute_75,sm_75] /W4 -Xcompiler="/EHsc -Ob2" -D_WINDOWS -DNDEBUG -DBSMP_BLOCK_SIZE=4 -D"CM
AKE_INTDIR=\"Release\"" -D_MBCS -DWIN32 -D_WINDOWS -DNDEBUG -DBSMP_BLOCK_SIZE=4 -D"CMAKE_INTDIR=\"Release\"" -Xcompiler "/
EHsc /W4 /nologo /O2 /FS /MD /GR" -Xcompiler "/FdD:\00-Home\Work\Projects\bsmp\build\Release\bsmp.pdb" -o bsmp.dir\Relea
se\generalized_eigen.obj "D:\00-Home\Work\Projects\bsmp\src\generalized_eigen.cu"
nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
To be honest, any MSVC custom flag breaks the compilation. Somehow NVCC doesn't put it in -Xcompiler option, but directly puts it to its command-line args.