Compilation errors when compiling VTK with enbaled CUDA

Hello,

I’m unsuccusessfully trying to compile VTK using CUDA. Following output is produced when I compile using the --verbos option on nvcc:

output.txt (212.7 KB)

The full output is a bit massive so I posted only part of what seems to be a repeating pattern here, above you can find the full file:

104>                      Die Erstellung des Projekts "AcceleratorsVTKm.vcxproj" ist abgeschlossen -- FEHLER.
104>                      CUDACOMPILE : nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
104>                      CUDACOMPILE : nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
104>                      nvcc fatal   : A single input file is required for a non-link phase when an outputfile is specified
104>                      nvcc fatal   : A single input file is required for a non-link phase when an outputfile is specified
104>                      CUDACOMPILE : nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
104>                      nvcc fatal   : A single input file is required for a non-link phase when an outputfile is specified
104>                      C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 11.0.targets(772,9): error MSB3721: Der Befehl ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin\nvcc.exe" -gencode=arch=compute_50,code=\"sm_50,compute_50\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64" -x cu -rdc=true  -IC:\vtk\bin\Accelerators\Vtkm -IC:\vtk\src\Accelerators\Vtkm -IC:\vtk\bin\Common\Core -IC:\vtk\src\Common\Core -IC:\vtk\bin\Common\DataModel -IC:\vtk\src\Common\DataModel -IC:\vtk\bin\Common\Math -IC:\vtk\src\Common\Math -IC:\vtk\bin\Common\Transforms -IC:\vtk\src\Common\Transforms -IC:\vtk\bin\Common\ExecutionModel -IC:\vtk\src\Common\ExecutionModel -IC:\vtk\bin\Filters\General -IC:\vtk\src\Filters\General -IC:\vtk\bin\Common\Misc -IC:\vtk\src\Common\Misc -IC:\vtk\bin\Filters\Core -IC:\vtk\src\Filters\Core -IC:\vtk\bin\Filters\Geometry -IC:\vtk\src\Filters\Geometry -IC:\vtk\bin\Imaging\Core -IC:\vtk\src\Imaging\Core -IC:\vtk\bin\ThirdParty\vtkm\vtkvtkm -IC:\vtk\src\ThirdParty\vtkm\vtkvtkm -I"C:\vtk\src\ThirdParty\vtkm\vtkvtkm\vtk-m" -I"C:\vtk\bin\ThirdParty\vtkm\vtkvtkm\vtk-m\include" -I"C:\vtk\src\ThirdParty\vtkm\vtkvtkm\vtk-m\vtkm\thirdparty\optionparser" -I"C:\vtk\src\ThirdParty\vtkm\vtkvtkm\vtk-m\vtkm\thirdparty\diy" -I"C:\vtk\src\ThirdParty\vtkm\vtkvtkm\vtk-m\vtkm\thirdparty\lcl\vtkmlcl" -IC:\vtk\bin\Utilities\KWIML -IC:\vtk\src\Utilities\KWIML -IC:\vtk\bin\Utilities\KWSys -IC:\vtk\src\Utilities\KWSys -IC:\vtk\bin\ThirdParty\vtkm -IC:\vtk\src\ThirdParty\vtkm -I"C:\vtk\src\ThirdParty\vtkm\vtkvtkm\vtk-m\vtkm\thirdparty\diy\vtkmdiy\include" -I"C:\vtk\bin\ThirdParty\vtkm\vtkvtkm\vtk-m\vtkm\thirdparty\diy\vtkmdiy\include\vtkmdiy\mpi" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include"     --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static -Xnvlink -w -Xcudafe --diag_suppress=extra_semicolon /wd4702 /wd4512 /wd4510 /wd4503 --expt-relaxed-constexpr -Xcompiler="/EHsc -Zi -Ob0 /Gy /bigobj" -g   -D_WINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DVTK_IN_VTK -DVTKMDIY_NO_THREADS -DVTKMDIY_MPI_AS_LIB -DVTKMDIY_MPI_STATIC_BUILD -D"CMAKE_INTDIR=\"Debug\"" -DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DVTK_IN_VTK -DVTKMDIY_NO_THREADS -DVTKMDIY_MPI_AS_LIB -DVTKMDIY_MPI_STATIC_BUILD -D"CMAKE_INTDIR=\"Debug\"" -D_MBCS -Xcompiler "/EHsc /W4 /nologo /Od /FdAcceleratorsVTKm.dir\Debug\AcceleratorsVTKm.pdb /FS /Zi /RTC1 /MDd /GR" -o AcceleratorsVTKm.dir\Debug\CellSetConverters.obj "C:\vtk\src\Accelerators\Vtkm\vtkmlib\CellSetConverters.cxx"" wurde mit Code 1 beendet.

CUDA Version:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:48_Pacific_Daylight_Time_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.relgpu_drvr445TC445_37.28540450_0

GPU: GTX 970

This is what I don’t understand:
A single input file is required for a non-link phase when an outputfile is specified

CMake warns me about the fact that VTKm_Accelerators will be build as static, can this cause an issue like this?

I really haven’t got a clue on what to look at right now so im thankful for any advice and pointers towards an solution.

Best regards,
David McDermott