Commit Graph

392 Commits

Author SHA1 Message Date
Robert Maynard
ff687016ee For VTK-m libs all includes of DeviceAdapterTagCuda happen from cuda files
It is very easy to cause ODR violations with DeviceAdapterTagCuda.
If you include that header from a C++ file and a CUDA file inside
the same program we an ODR violation. The reasons is that the C++
versions will say the tag is invalid, and the CUDA will say the
tag is valid.

The solution to this is that any compilation unit that includes
DeviceAdapterTagCuda from a version of VTK-m that has CUDA enabled
must be invoked by the cuda compiler.
2019-04-22 10:39:54 -04:00
nadavi
fbcea82e78 conslidate the license statement 2019-04-17 10:57:13 -06:00
nadavi
fd59fd1d4a Print error in copyright only on first mis-match 2019-04-17 10:56:31 -06:00
Robert Maynard
71018e3b52 Always export vtkm_cuda no matter VTKm_INSTALL_ONLY_LIBRARIES 2019-04-12 11:10:10 -04:00
Kenneth Moreland
23f0905a1e Support pyexpander using python 3
When you install pyexpander with pip under python 3, the executable
script is now named expander3.py instead of expander.py. Support using
either file.
2019-04-04 11:05:13 -06:00
Robert Maynard
7ea2accbc1 Correct issues when using a cuda enabled install of vtk-m. 2019-04-03 18:08:56 -04:00
Robert Maynard
001d1b0f47 VTK-m can now build and test against temporary installed vtkm.
We now have a couple of the examples also being built against
the installed version of VTK-m as a test. This allow us to verify
that VTK-m installs and can be found properly.
2019-04-03 18:08:56 -04:00
Allison Vacanti
68abfccd7e Merge topic 'cuda10.1'
0581b368f Fix issues with importing installed vtkm::cuda after refactor.
ed4374b05 diy 2019-03-13 (e8e68c7c)
b85dcf229 Add more vtkm_cont compilation units to device_sources.
9014de0eb Suppress new host/device warnings for cuda 10.1.
04a464cc4 Update cuda detection to create vtkm::cuda as an interface library.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1582
2019-03-27 12:12:02 -04:00
Robert Maynard
79ca830600 Merge topic 'CheckSourceInInstall_now_handles_dirty_build_dirs'
99727164a CheckSourceInInstall correctly installs current vtk-m files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1606
2019-03-26 16:39:34 -04:00
Allison Vacanti
0581b368fd Fix issues with importing installed vtkm::cuda after refactor. 2019-03-26 14:53:42 -04:00
Allison Vacanti
04a464cc4b Update cuda detection to create vtkm::cuda as an interface library. 2019-03-26 14:53:42 -04:00
Robert Maynard
99727164a6 CheckSourceInInstall correctly installs current vtk-m files
Previously we didn't realize that the cmake_install.cmake files
would properly walk the entire install tree. Therefore we would try
to find each one manually and invoke it. This caused problems with
dirty continuous build directories, and was actually unneeded as
just including the root cmake_install.cmake is sufficient.
2019-03-26 13:22:04 -04:00
Robert Maynard
0ce7e82d43 VTK-m now enables all new CMake policies in 3.14
This means that we opt-in to policy changes introduced in 3.14
2019-03-26 11:50:06 -04:00
Robert Maynard
963ccf98b1 Merge topic 'update_cuda_to_not_pass_wconversion_to_gcc'
e5f1479e0 Wconversion won't be past to CUDA when it is using GCC.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1569
2019-03-05 17:26:30 -05:00
Robert Maynard
e5f1479e0d Wconversion won't be past to CUDA when it is using GCC. 2019-03-05 16:21:15 -05:00
Robert Maynard
508a704d60 Document vtkm_filter 2019-03-05 15:52:14 -05:00
Dave Pugmire
d974bcb5c3 fix for gcc4.8 2019-03-04 08:52:45 -05:00
Dave Pugmire
efbc8d68b4 Change compiler flags and undo conversions. 2019-03-01 15:25:48 -05:00
Kenneth Moreland
e9591621b3 Find threads library in external build
In certain circumstances (currently, when logging is enabled), VTK-m
libraries depend on the threading library. However, when the VTK-m
package was included from an external project, it did not automatically
find the threads package. This change makes the Threads library loaded
when the VTK-m package is found.
2019-02-27 14:03:10 -07:00
Robert Maynard
4b47a4d92c Remove VTKmCheckSourceInBuild 2019-02-04 12:09:35 -05:00
Robert Maynard
45c24109af Add changelog for VTKmCheckSourceInInstall 2019-02-04 12:09:25 -05:00
Robert Maynard
9580b1921e Introduces SourceInInstall which verifies that VTK-m install its headers
Fixes #342
2019-01-29 16:48:35 -05:00
Robert Maynard
baaa47af43 Reduce verbosity of VTKmCheckCopyright
This makes it easier to find the offending files when
going through the output.
2019-01-29 12:13:52 -05:00
Robert Maynard
545a2ce91d VTKmCheckSourceInBuild now shows all missing files in a directory
Previously VTKmCheckSourceInBuild would error out after the
first missing file. Now it errors out after looking at
the whole directory.
2019-01-29 12:13:40 -05:00
Robert Maynard
24e71d251b VTK-m yet again has properly installed headers.
Fixes the install issues mentioned in #342
2019-01-24 14:26:40 -05:00
Robert Maynard
4ec5bae02d Remove VTK-m TestBuild infrastructure
The purpose of the TestBuild infrastructure was to confirm that
VTK-m didn't have any lexical issues when it was a pure header
only project. As we now move to have more compiled components
the need for this form of testing is mitigated. Combined
with the issue of TestBuilds causing MSVC issues, we should
just remove this infrastructure.
2019-01-16 10:04:33 -06:00
Robert Maynard
f1e1a524e9 Require CMake 3.8 to build VTK-m. 2019-01-09 16:01:22 -05:00
Robert Maynard
7a5e32be73 Update VTKmCompilerFlags to suppress stack-size-warnings on CUDA 9+
This will allow better suppression of cuda stack size warnings
for developers and build machines.
2018-12-27 15:42:03 -05:00
Robert Maynard
deb4946a41 Make sure vtk-m libraries under CUDA 8 are always built statically 2018-12-27 14:35:56 -05:00
Robert Maynard
2a8f7ec4c7 Fix more build system issues with separable compilation 2018-12-27 13:19:40 -05:00
Sujin Philip
7c27bedc08 Enable Separable Compilation for CUDA 2018-12-27 13:19:40 -05:00
Allison Vacanti
cdb1f5680a Add vtkm::cont::Initialize.
Also
- Renamed vtkm::cont::make_DeviceAdapterIdFromName to just overload
  make_DeviceAdapterId.
- Refactored CMake logic for unit tests
  - Since we're now querying the device tracker for the names, they
    cannot be all caps.
- Updated usages of InitLogging to use Initialize instead.
- Added changelog.
2018-12-13 10:15:44 -05:00
Allison Vacanti
8baacca525 Link vtkm_developer_flags directly into vtkm libraries.
This should properly propogate the flags to superprojects.
2018-12-06 13:56:18 -05:00
Haocheng LIU
b5e618c980 DynamicAnalysis: Blacklist third party modules and libraries
For use with sanitizer builds.
2018-11-30 13:46:01 -05:00
Haocheng LIU
0d39806f4f Rename worklet testing executable
Now it's in accordance with vtkm testing name convension as
UnitTests_vtkm_worklet_testing.
2018-11-29 15:51:41 -05:00
Haocheng LIU
9d330cb541 Fix a logic flaw in vtkm_unit_tests function
This commit fixes a logic flaw that will wrongly append `--device=`
to tests that does not specified devices.
2018-11-27 14:31:32 -05:00
Haocheng LIU
8859636672 Merge worklet testing executables into a device dependent shared library
VTK-m has been updated to replace old per device worklet testing executables with a device
dependent shared library so that it's able to accept a device adapter
at runtime.
Meanwhile, it updates the testing infrastructure APIs. vtkm::cont::testing::Run
function would call ForceDevice when needed and if users need the device
adapter info at runtime, RunOnDevice function would pass the adapter into the functor.

Optional Parser is bumped from 1.3 to 1.7.
2018-11-23 10:13:56 -05:00
Robert Maynard
ad433780f0 Properly handle FindTBB modules that don't contain TBB_LIBRARY_RELEASE
The FindTBB modules that come with packages such as OSPRay don't
provide TBB_LIBRARY_RELEASE but instead only provide TBB_LIBRARY.
If TBB_LIBRARY_RELEASE isn't found, and TBB_LIBRARY is we will use
that as the release library
2018-11-19 15:50:38 -05:00
Robert Maynard
dfa9f64436 MSVC now supports the COMPILE_LANGUAGE generator expression. 2018-11-12 15:16:13 -05:00
Robert Maynard
a423cf056c TestBuild header paths are shorter to make windows happy.
ContourTreeAugumneted paths became too long and caused msvc
to fail to construct pdb paths
2018-10-16 15:01:39 -04:00
luz.paz
d5beb69ec1 Misc. typos
Found via `codespell`
2018-10-04 10:30:33 -04:00
Robert Maynard
36ca00794d Add turing to VTK-m support hardware now that CUDA 10 is out. 2018-09-20 08:34:25 -04:00
Robert Maynard
48cc2f661a Make sure VTK-m runs all OpenMP tests serially.
Fixes issue #276.
OpenMP tests when run in parallel exhibit negative scaling as we
have N openMP processes each spawning N threads. We speculate that
this causes excessive context switching and swapping and reduces
performance.
2018-08-08 10:01:18 -04:00
Sujin Philip
8126699dc9 Update FindTBB.cmake
Add support for gcc4.7 version of the ibrary. Based on the changes from VTK's
FindTBB.cmake file.
2018-07-23 14:08:44 -04:00
Allison Vacanti
feb987fec2 Fix bad target name. 2018-07-11 11:02:13 -04:00
Allison Vacanti
e95734ef2d Fix compilation on ICC. Option/definition mismatch. 2018-07-10 10:48:19 -04:00
Robert Maynard
2ebde3806a Remove cyclic link between vtkm_developer_flags and vtkm_compiler_flags.
Fixes #263
The vtkm_developer_flags target should only be to be consumed by
vtkm_compiler_flags.
2018-07-09 08:27:41 -04:00
Sujin Philip
7d4d734e83 OpenMP compiler flags were not being set properly
The command set_target_properties over-writes any existing values of the
property. Fixed the problem by using set_property with APPEND.
2018-06-22 14:10:22 -04:00
Robert Maynard
303cf06e4c Merge topic 'cmake_set_policies_to_new'
9861cdecb Use CMake to automatically set policies to NEW.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1270
2018-06-19 17:11:58 -04:00
Robert Maynard
9861cdecb1 Use CMake to automatically set policies to NEW.
CMake 3.12 introduces a ...<max> syntax in the version given to
cmake_minimum_required to automatically set policies to NEW up
to that version. Use it to avoid listing policies explicitly.
2018-06-19 16:12:48 -04:00