# Unable to build vtkAcceleratorsVTKm with CUDA using VTK Release on Visual Studio 2015 / Windows 10

**URL:** https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133
**Category:** Support
**Created:** [January 25, 2019, 12:54pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133 "2019-01-25T12:54:46Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![Shan](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/7ab992/32.png) [@Shan](https://discourse.vtk.org/u/Shan)
#### Post date: [January 25, 2019, 12:54pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/1 "2019-01-25T12:54:46Z")

</div>

I am getting the following output/error in Visual Studio 2015 when trying to build the vtkAcceleratorsVTKm project generated by cmake:

90\> D:\VTK\_build\Accelerators\Vtkm\>“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc.exe” -ccbin “C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86\_amd64” -x cu -I"D:\VTK\_build\Accelerators\Vtkm" -I"D:\VTK\Accelerators\Vtkm" -I"D:\VTK\_build\Common\Core" -I"D:\VTK\Common\Core" -I"D:\VTK\_build\Utilities\KWIML" -I"D:\VTK\Utilities\KWIML" -I"D:\VTK\_build\Utilities\KWSys" -I"D:\VTK\Utilities\KWSys" -I"D:\VTK\_build\ThirdParty\utf8" -I"D:\VTK\ThirdParty\utf8" -I"D:\VTK\_build\Common\DataModel" -I"D:\VTK\Common\DataModel" -I"D:\VTK\_build\Common\Math" -I"D:\VTK\Common\Math" -I"D:\VTK\_build\Common\Misc" -I"D:\VTK\Common\Misc" -I"D:\VTK\_build\Common\System" -I"D:\VTK\Common\System" -I"D:\VTK\_build\Common\Transforms" -I"D:\VTK\Common\Transforms" -I"D:\VTK\_build\Common\ExecutionModel" -I"D:\VTK\Common\ExecutionModel" -I"D:\VTK\_build\Filters\General" -I"D:\VTK\Filters\General" -I"D:\VTK\_build\Common\ComputationalGeometry" -I"D:\VTK\Common\ComputationalGeometry" -I"D:\VTK\_build\Filters\Core" -I"D:\VTK\Filters\Core" -I"D:\VTK\_build\Filters\Geometry" -I"D:\VTK\Filters\Geometry" -I"D:\VTK\_build\Imaging\Core" -I"D:\VTK\Imaging\Core" -I"D:\VTK\_build\ThirdParty\vtkm" -I"D:\VTK\ThirdParty\vtkm" -I"D:\VTK\ThirdParty\vtkm\vtk-m" -I"D:\VTK\_build\ThirdParty\vtkm\vtk-m\include" -I"D:\VTK\ThirdParty\vtkm\vtk-m\vtkm\thirdparty\diy" -I"D:\VTK\_build\ThirdParty\vtkm\vtk-m\vtkm\thirdparty\diy" -I"D:\VTK\ThirdParty\vtkm\vtk-m\vtkm\thirdparty\taotuple" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin…\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -Xnvlink -w -Xcudafe --diag\_suppress=extra\_semicolon -wd4702 -wd4512 -wd4510 --expt-relaxed-constexpr -Xcompiler="/EHsc -Ob2 /bigobj" -D\_WINDOWS -DNDEBUG -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 -D"CMAKE\_INTDIR=“Release”" -DvtkAcceleratorsVTKm\_EXPORTS -DWIN32 -D\_WINDOWS -DNDEBUG -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 -D"CMAKE\_INTDIR=“Release”" -DvtkAcceleratorsVTKm\_EXPORTS -D\_WINDLL -D\_MBCS -Xcompiler “/EHsc /W3 /nologo /O2 /FS /Zi /MD /GR” -o vtkAcceleratorsVTKm.dir\Release\vtkmAverageToCells.obj “D:\VTK\Accelerators\Vtkm\vtkmAverageToCells.cu” -clean  
85\>Execution of the MSBuild task completed.  
90\> nvcc fatal : Unknown option ‘wd4702’

Does anyone know how to fix this?

Thanks.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [January 25, 2019, 2:05pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/2 "2019-01-25T14:05:22Z")

</div>

@RobertMaynard Looks like we’re applying MSVC options to CUDA files as well. Should they be turned into source file properties instead of target defines?

---

<div class="post-metadata">

### Author: ![RobertMaynard](https://discourse.vtk.org/user_avatar/discourse.vtk.org/robertmaynard/32/24_2.png) [@RobertMaynard](https://discourse.vtk.org/u/RobertMaynard)
#### Post date: [January 25, 2019, 3:10pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/3 "2019-01-25T15:10:48Z")

</div>

The msvc flags should be wrapped in -XCompiler, generally through using a generator expression.

like:

```auto
if(TARGET vtkm::cuda)
    target_compile_options(<target> INTERFACE $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-wd4512,-wd4510>)
  endif()

```

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [January 25, 2019, 3:33pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/4 "2019-01-25T15:33:59Z")

</div>

`$<COMPILE_LANGUAGE>` support for VS gated behind CMake 3.11. Do we care about that?

---

<div class="post-metadata">

### Author: ![RobertMaynard](https://discourse.vtk.org/user_avatar/discourse.vtk.org/robertmaynard/32/24_2.png) [@RobertMaynard](https://discourse.vtk.org/u/RobertMaynard)
#### Post date: [January 25, 2019, 3:38pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/5 "2019-01-25T15:38:56Z")

</div>

VTK-m will error out if using MSVC Generator and you don’t have 3.11. So VTK can use the same logic

---

<div class="post-metadata">

### Author: ![RobertMaynard](https://discourse.vtk.org/user_avatar/discourse.vtk.org/robertmaynard/32/24_2.png) [@RobertMaynard](https://discourse.vtk.org/u/RobertMaynard)
#### Post date: [February 4, 2019, 4:49pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/6 "2019-02-04T16:49:45Z")

</div>

@ben.boeckel Did you get a fix into VTK for this?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [February 4, 2019, 5:01pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/7 "2019-02-04T17:01:34Z")

</div>

Wasn’t aware you were expecting me to do it. MR is here: [https://gitlab.kitware.com/vtk/vtk/merge\_requests/5154](https://gitlab.kitware.com/vtk/vtk/merge_requests/5154)

---

<div class="post-metadata">

### Author: ![Shan](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/7ab992/32.png) [@Shan](https://discourse.vtk.org/u/Shan)
#### Post date: [April 4, 2019, 1:13pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/9 "2019-04-04T13:13:37Z")

</div>

The latest commits, seem to have fixed the previous problem. But now, when I try to configure the project with cmake (3.14.0), I get the following error:

> ```
> CMake Error at Accelerators/Vtkm/CMakeLists.txt:118 (get_property):
> INTERFACE_LIBRARY targets may only have whitelisted properties. The
> property "VTKm_CUDA_Architecture_Flags" is not allowed.
> 
> ```

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [April 4, 2019, 1:16pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/10 "2019-04-04T13:16:15Z")

</div>

@RobertMaynard Is there something else to do if/when `vtkm::cuda` is an interface target? Why would it be `INTERFACE`?

---

<div class="post-metadata">

### Author: ![RobertMaynard](https://discourse.vtk.org/user_avatar/discourse.vtk.org/robertmaynard/32/24_2.png) [@RobertMaynard](https://discourse.vtk.org/u/RobertMaynard)
#### Post date: [April 9, 2019, 6:04pm UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/11 "2019-04-09T18:04:43Z")

</div>

@Shan @ben.boeckel

So in VTK-m master the `vtkm::cuda` target was converted over to be an interface target instead of an imported target. This was done to fix issues we had with getting the Visual Studio CUDA integration to work properly ( spaces in path issue ).

Currently VTK is using a version of VTK-m that doesn’t have these changes, but if you build VTK with VTK-m master you will need to update the `Accelerators/Vtkm/CMakeLists.txt` to pull the `INTERFACE_CUDA_Architecture_Flags` target property.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [May 14, 2019, 11:27am UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/12 "2019-05-14T11:27:04Z")

</div>

I have the same issue on VTK master, using ArchLinux.

---

<div class="post-metadata">

### Author: ![RobertMaynard](https://discourse.vtk.org/user_avatar/discourse.vtk.org/robertmaynard/32/24_2.png) [@RobertMaynard](https://discourse.vtk.org/u/RobertMaynard)
#### Post date: [May 14, 2019, 11:50am UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/13 "2019-05-14T11:50:52Z")

</div>

@mwestphal The issue with `INTERFACE_CUDA_Architecture_Flags`? Is your vtk-m submodule up to date?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [May 14, 2019, 11:52am UTC](https://discourse.vtk.org/t/unable-to-build-vtkacceleratorsvtkm-with-cuda-using-vtk-release-on-visual-studio-2015-windows-10/133/14 "2019-05-14T11:52:17Z")

</div>

It wasn’t, sorry about the noise.
