Commit Graph

602 Commits

Author SHA1 Message Date
Robert Maynard
97944e59be Correctly handle when to use DEVICE_LINK generator expression 2021-04-02 13:45:15 -04:00
Vicente Adolfo Bolea Sanchez
486c5de95c TESTING: Set C++14 as minimum standard for install test
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-03-25 18:59:13 -04:00
nadavi
f70ecd4354 implement PointLocator without virtual methods 2021-02-17 17:16:17 +00:00
Kenneth Moreland
3aa2c7521a Merge topic 'cell-locators-not-virtual'
047d79672 Fix CUDA compilation error with Lagrangian filter
aec9890e9 Remove check for CellLocator.h in SourceInInstall test
2399741a9 Change Probe filter to use CellLocatorChooser
e61c54f87 Add CellLocatorChooser
23c823d4b Fix compile errors and warnings related to new CellLocator structure
47429a316 Fix export issues with CellLocatorBase
8922f600e Use GNU attributes for deprecated
0a5f5d55c Remove virtual methods from cell locators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nickolas Davis <nadavi@sandia.gov>
Merge-request: !2271
2021-02-16 19:16:01 -05:00
Kenneth Moreland
aec9890e96 Remove check for CellLocator.h in SourceInInstall test
The CellLocator.h header file is deprecated and not installed if virtual
methods are turned off. So just avoid checking it.
2021-02-16 13:04:08 -07:00
Chuck Atkins
78e7645fcb cmake: Fix FindMPI getting consumed by newer CMake versions 2021-02-16 10:34:48 -05:00
Vicente Adolfo Bolea Sanchez
bbe36d8c33 cmake: set c++14 as minimum c++ rev
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-02-08 17:13:05 +01:00
Li-Ta Lo
ff0b8fd0bb changed to CMake files based on Robert's feedback 2021-01-14 14:23:05 -07:00
Li-Ta Lo
ca0ce4de7b Merge branch 'master' into hdf5_image_io 2021-01-14 14:08:00 -07:00
Li-Ta Lo
23a95f864a exclude header files from install check when it is not enabled 2021-01-05 13:43:16 -07:00
Robert Maynard
7897d23c39 Cleanup some minor CMake style issues 2020-12-28 10:36:00 -05:00
Kenneth Moreland
932c8e5ec0 Wrap test_equal_ArrayHandles into a precompiled library
The previous implementation of test_equal_ArrayHandles was several
templates that had to be resolved by any test that used them, which
could be costly for unknown array types. Simplify this a bit by moving
the implementation of testing unknown arrays into a library.

Another advantage of the new implementation is that is handles more
cases. Thus, you should not need to `ResetTypes` on the unknown/
uncertain arrays.
2020-12-22 17:17:19 -07:00
Robert Maynard
004f320e20 Merge topic 'expand_kokkos_device_to_support_hip'
7475c318b VTK-m now uses CMake's future HIP lang for Kokkos+HIP

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2351
2020-12-16 08:58:17 -05:00
Robert Maynard
f5b776b747 VTK-m Properly computes frameworks on mojave / big sur
Fixes #587

This works around issues in CMake 3.19 and lower which aren't
aware of the new 'tbd' files that should be used for GLUT
2020-12-11 13:20:18 -05:00
Robert Maynard
7475c318be VTK-m now uses CMake's future HIP lang for Kokkos+HIP 2020-12-11 09:13:12 -05:00
nadavi
b883b2d92b support adding images to the gitlab ci archive for regression tests 2020-12-02 16:24:08 +00:00
nadavi
a1c3752dfb split -Wchar-subscripts out from clang compile flags 2020-12-02 16:24:08 +00:00
Robert Maynard
bcc840eaf6 Add support for the Ampere line of NVIDIA GPU's 2020-10-21 10:15:52 -04:00
Robert Maynard
461616a771 Refactor some VTK-m device adapter to be alphabetical 2020-09-24 09:10:03 -04:00
Kenneth Moreland
11996f133f Remove virtual methods from ColorTable
Virtual methods are being deprecated, so remove their use from the
ColorTable classes. Instead of using a virtual method to look up a value
in the ColorTable, we essentially use a switch statement. This change
also simplified the code quite a bit.

The execution object used to use pointers to handle the virtual objects.
That is no longer necessary, so a simple `vtkm::exec::ColorTable` is
returned for execution objects. (Note that this `ColorTable` contains
pointers that are specific for the particular device.) This is a non-
backward compabible change. However, the only place (outside of the
`ColorTable` implementation itself) was a single worklet for converting
scalars to colors (`vtkm::worklet::colorconversion::TransferFunction`).
This is unlikely to affect anyone.

I also "fixed" some names in enum structs. There has been some
inconsistencies in VTK-m on whether items in an enum struct are
capitolized or camel case. We seem to moving toward camel case, so
deprecate some old names.
2020-09-14 13:26:16 -06:00
Kenneth Moreland
b27e4c7ea6 Ignore files for deprecated virtual classes for SourceInInstall test
If `VTKm_NO_DEPRECATED_VIRTUAL` is on, then these classes are not
installed. Thus, add exceptions for these files to avoid test failures.

We could get fancier by only checking if `VTKm_NO_DEPRECATED_VIRTUAL` is
off, but that seems heavy-handed to make a regression test for something
that will go away.

These exceptions should be removed once the files are removed.
2020-09-09 06:13:07 -06:00
Vicente Bolea
42009394fc Merge topic 'fix-xl-warnings'
e3d734708 IBM XL: disable unused-template pragma for xl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2230
2020-08-21 17:36:52 -04:00
Vicente Adolfo Bolea Sanchez
e3d7347080 IBM XL: disable unused-template pragma for xl
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-08-21 15:40:05 -04:00
Robert Maynard
1d6d812922 VTKmConfig: Only modify vtkm::cuda when it is an installed target 2020-08-21 11:59:24 -04:00
Robert Maynard
96fc02ebca VTK-m when using CMake 3.18 can propagate cuda flags cleanly 2020-08-20 13:12:05 -04:00
Robert Maynard
78a6631026 Correct cuda compiler flag ordering for clang as CUDA host compiler 2020-08-20 08:34:23 -04:00
Vicente Adolfo Bolea Sanchez
afd394377e cmake: split vtkm_filter into common|extra|contour|gradient
There is a limitation in Windows builds using VS2019 where libraries cannot be
bigger than 4GiB. This is normally not an issue but in `VTKm` due to its strong
template usage libraries can reach that size.

The `VTKm` filter library is can easily reach that size and it will halt the
build

This MR tries to avoid reaching those sizes for now by splitting the filter
library into four smaller libraries.

The proposal scheme is:

It splits vtkm-filter into:

  - vtkm-common, Classes that are dependencies of other filter libs.
  - vtkm-contour, Contour class and its instantiations.
  - vtkm-contour, Gradient class and its instantiations.
  - vtkm-extra, Classes other than Contour or Gradient that are
    not dependencies.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-08-19 19:20:43 -04:00
Nick
4e72eb0437 Don't apply pyexpander fix on Windows. 2020-08-17 16:39:47 -04:00
Nick
959db40aae Find expander.py on the syspath, do not call it from a Python interpreter. 2020-08-15 11:24:30 -04:00
Robert Maynard
7692485831 Make sure we use c++14 when using CUDA 11+ 2020-08-13 16:02:24 -04:00
Robert Maynard
64efa64015 Kokkos: make sure we don't pass multiple rdc flags 2020-08-13 16:02:24 -04:00
Sujin Philip
b2f4c8e5ef Switch -O3 to -O2 on Linux with Cuda 10 2020-08-12 13:55:24 -04:00
Sujin Philip
452f61e290 Add Kokkos backend 2020-08-12 13:55:24 -04:00
Robert Maynard
477d225415 Always have VTK-m tests enable vtkmdiy mpi environment 2020-08-11 17:02:19 -04:00
Robert Maynard
7092bb9210 Make sure we don't leak our findmpi module
Consumers of VTK-m shouldn't use VTK-m find mpi module unless
they explicitly want to. This makes sure that by default only
VTK-m uses it.
2020-06-19 11:43:36 -04:00
Sujin Philip
b7d0c94f1b Merge topic 'diy-mpi-nompi'
934f085e0 Build diy as a library
f0a37ac6a Merge branch 'upstream-diy' into diy-mpi-nompi
7687aabf8 diy 2020-06-05 (b62915aa)
6ca2b9f87 Point to new version of Diy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2123
2020-06-08 21:25:54 -04:00
Sujin Philip
934f085e09 Build diy as a library
Support both mpi and nompi versions simultaneously.
2020-06-08 15:57:51 -05:00
Robert Maynard
a652f7fe1e Update vtk-m doxygen to generate less warnings 2020-06-01 16:58:32 -04:00
Robert Maynard
565d5a3a2e Remove CMake workarounds for version < 3.12 2020-05-29 17:15:06 -04:00
NAThompson
331b80a783 More understandable VTKm options for symbol visibility. 2020-05-12 16:02:16 -04:00
Robert Maynard
b3924ef302 Add an asan to our gitlab ci suite 2020-04-20 11:26:26 -04:00
Ben Boeckel
e890a98023 FindTBB: synchronize with VTK 2020-04-17 08:30:02 -04:00
Sujin Philip
c102ea556c Update cmake minimum required version to 3.12 2020-04-13 12:42:28 -05:00
James
95ba497bb2 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-24 10:53:06 -04:00
Kenneth Moreland
75a46dc2eb Remove tao tuple from third party libraries
We are no longer using this code. It has been replaced by vtkm::Tuple.
2020-03-16 17:12:17 -06:00
James
8579d54cb9 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-12 10:10:03 -04:00
James
7a73b0f547 Updating testing 2020-03-11 13:55:14 -04:00
James
6162fdc591 Moving new test code to the Testing.h header. 2020-01-08 14:32:15 -05:00
Robert Maynard
53158aa2ea Don't allow ninja job pool sizes to be negative
If the job pool size becomes negative, ninja treats
it as an absurdly large positive integer and
errors out.
2019-12-19 08:44:12 -05:00
James
743094ffc9 Adding parser for arguments. 2019-12-17 11:07:47 -05:00
James
b38fadc310 Updates to get test data path. 2019-12-11 14:38:16 -05:00
James
7e3178ffe4 Starting to add data directory to unit tests. 2019-12-10 13:56:31 -05:00
Allison Vacanti
07b55a9546 Fix MSVC flags for CUDA builds.
Fixes #443.
2019-12-05 14:02:55 -05:00
Robert Maynard
f457cf30f8 correct setting up job pool for tests 2019-12-03 14:08:52 -05:00
Robert Maynard
f578c90685 Make sure vtkm_setup_job_pool() doesn't output any status 2019-12-03 11:32:14 -05:00
Robert Maynard
7fc7c61a9b VTK-m use a jobs pool for compiling large compilation units.
When building with the ninja generator VTK-m now uses a job pool
to help limit the chances of a machine going out of memory
when compiling VTK-m.
2019-11-29 15:49:54 -05:00
Kenneth Moreland
8c5b76f761 Remove invalid device argument for unit tests
Previously, the vtkm_unit_tests CMake function added a "NONE" argument
to the test when no device was specified. However, the correct thing to
do is to add no argument. Fixed this so that strict parsing of the test
arguments works.
2019-10-02 07:12:29 -06:00
Robert Maynard
a265d1f8a9 Document vtkm_filter and vtkm_source have compiled components 2019-09-23 18:49:58 -04:00
Robert Maynard
e6a2089d8e Require CMake 3.12+ for using OpenMP backend 2019-09-18 07:59:32 -04:00
Robert Maynard
5c56ff945f Label tests which exercise a given Device Adapter
This allows developers an easy way to run all OpenMP tests
2019-09-13 15:52:40 -04:00
Robert Maynard
d29f5ba376 Update doxyfile to suppress documenting unnecessary components.
We don't want to have our thirdparty libraries doxygen in
the VTK-m doxygen. We also don't want to document internal classes,
and export macros.
2019-09-12 17:29:05 -04:00
nadavi
cc86740c9a bad whitespace fix 2019-09-11 16:12:18 -06:00
nadavi
8917bbe72b Supply the default log level only through cmake args 2019-09-11 16:12:18 -06:00
nadavi
a0b164b42c remove static var, directly init logging to INFO level for testing inside Run Function 2019-09-11 16:12:18 -06:00
nadavi
effef1b6ec make copyright exceptions found message more clear 2019-09-11 16:12:18 -06:00
nadavi
a7aae5fc3c rely solely on the SetStderrLogLevel function call instead of manually passing in -v flag 2019-09-11 16:12:18 -06:00
nadavi
3a81321b16 formatting 2019-09-11 16:12:18 -06:00
nadavi
9f49bbab86 additional cmake fixes, improve default log level setting 2019-09-11 16:12:18 -06:00
nadavi
1fc542d068 add simple unit tests for Error 2019-09-11 16:12:18 -06:00
nadavi
d2d98dc5e0 Supply default logging level of INFO for tests 2019-09-11 16:12:18 -06:00
Robert Maynard
1bfcce19dd VTK-m builds with separate function sections to allow smaller binaries
Consumers of VTK-m when enabling of dropping of unused functions
will see VTK-m functions dropped. Previously this didn't happen
as VTK-m didn't build object files with the correct flags for this.

By allowing the linker to remove unused symbols we see a significant
saving the file size of VTK-m tests, examples, and benchmarks.
An OpenMP build of the tests and benchmarks goes from 168MB to
141MB which is roughly a 16% filesize reduction.

Initially I had presumed that these changes would increase link times.
But in measurements the total wall time for compilation of VTK-m has
stayed about the same ( seeing a decrease of 1.5% ). Presumably the
increased computation is offset by the reduction in file writing.
2019-09-11 13:34:25 -04:00
Robert Maynard
e37c2061cf vtkm_add_target_information now supports multiple targets
Instead of having to be called for each target you can now
pass multiple targets at once. Do note that if you pass multiple
targets you will need to pass all the sources from those targets
that need to be 'device' compiled.
2019-09-11 09:17:52 -04:00
Robert Maynard
a65afa11ba Export CUDA static library requirements properly
This is a work around while we wait on requiring CMake 3.15 for all
cuda builds. At that point we can replace this with setting
`requires_static_builds` as part of the EXPORT_PROPERTIES of the
vtkm_cuda target.

This has been tested with the ascent proxy
2019-08-27 13:34:49 -04:00
Robert Maynard
6b0614e577 EXTEND_VTKM used to determine consumers by vtkm_add_target_information
The EXTEND_VTKM is now checked to determine when a shared library
consumer of VTK-m is allowed.
2019-08-27 13:32:29 -04:00
Robert Maynard
064f59692b Merge topic 'yet_again_export_cuda_flags'
3c1339504 Another turn on the wheel to get VTK-m to export CUDA flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1812
2019-08-26 17:25:40 -04:00
Robert Maynard
3c1339504f Another turn on the wheel to get VTK-m to export CUDA flags
This is a work around while we wait on requiring CMake 3.15 for all
cuda builds. At that point we can replace this with setting
`cuda_architecture_flags` as part of the EXPORT_PROPERTIES of the
vtkm_cuda target.

This has been tested with the ascent proxy
2019-08-26 16:54:43 -04:00
Robert Maynard
683f2a2c10 Correct a bug which stopped VTK-m from testing against all devices
The testing code wouldn't generate tests except for the first
device, when multiple devices had been enabled.
2019-08-26 12:28:49 -04:00
Robert Maynard
2dcfacc42a Merge topic 'find_mpi_work_with_older_cmake_version_when_cuda_disabled'
978650b06 FindMPI works with CMake 3.8's separate_arguments
1f99fbc35 FindMPI will now work when CUDA is disabled and CMake <= 3.11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1787
2019-08-21 14:35:32 -04:00
Robert Maynard
978650b063 FindMPI works with CMake 3.8's separate_arguments
CMake 3.8 separate_arguments command doesn't support NATIVE_COMMAND
so we have to do that logic for it.
2019-08-21 09:55:15 -04:00
Robert Maynard
1f99fbc357 FindMPI will now work when CUDA is disabled and CMake <= 3.11
This was causing issues for downstream users of VTK-m as it exposed
a bug in CM ( cmake#17952 ) where it was evaluating against the set of
enabled languages instead of possible languages.
2019-08-21 09:25:32 -04:00
Robert Maynard
267f963d32 Opt into all CMake 3.15 policies 2019-08-20 15:38:27 -04:00
Kenneth Moreland
7321f71752 Increase timeout for example install build tests
When both examples and tests are on, there are a few tests created that
will install VTK-m and build the example against the install to make
sure that all expected components are installed. Since it requires the
full compile of a VTK-m application (and some VTK-m applications can
take a while to compile), increase the timeout for these tests.

The timeout is currently set to 10 minutes (600 seconds).
2019-08-07 09:42:30 -06:00
Robert Maynard
8f36811718 When importing VTK-m don't recheck the CUDA host architecture 2019-07-31 18:16:22 -04:00
Allison Vacanti
5af957ec81 Error out when native CUDA flag detection fails.
Ref #388.
2019-07-25 12:17:46 -04:00
Robert Maynard
c18f762697 Merge topic 'add_odr_warning_flag'
736664612 Cleanup VTK-m warning flags and add in Wodr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1732
2019-07-18 16:16:51 -04:00
Robert Maynard
736664612d Cleanup VTK-m warning flags and add in Wodr
This was done to help us catch ODR violations quicker
2019-07-18 13:33:18 -04:00
Robert Maynard
b4662c5718 Merge topic 'find_mpi_is_required'
772e36ba0 When VTKm_ENABLE_MPI is enabled finding MPI is always required

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1727
2019-07-17 14:02:56 -04:00
Robert Maynard
6de7d07d28 VTK-m requires CMake 3.13 to compile CUDA
This is to resolve issues related to FindThreads and CUDA
compilation.
2019-07-16 16:39:50 -04:00
Robert Maynard
772e36ba0c When VTKm_ENABLE_MPI is enabled finding MPI is always required
Previously we had logic where find_package(MPI) wasn't required
2019-07-16 14:33:26 -04:00
Robert Maynard
c80c1d09c0 Merge topic 'refactor_vtkm_buildsystem_to_provide_better_consumer_experience'
28484fc6a Update examples and benchmarks to use new VTK-m CMake helper function
ea50e82aa Move VTK-m CMake testing wrappers to the testing folder
0b7dd7c38 Add CMake vtkm_add_target_information() to make using vtk-m easier
e934e2273 vtkm_library WRAP_FOR_CUDA renamed to clarify the intent of the property
a2e6660fd Remove unused vtkm_compile_as_cuda CMake function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1718
2019-07-16 08:46:22 -04:00
Robert Maynard
7fa94e53e2 Merge topic 'proper_vectorization_flags'
4a5ef8c6a VTKmCPUVectorization GCC native supports ppc64le
68a9167ab VTKmCPUVectorization now uses -march=<cpu_arch>
d0d678049 Correctly enable vectorization of avx512 when using gcc.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1719
2019-07-11 08:08:12 -04:00
Robert Maynard
ea50e82aac Move VTK-m CMake testing wrappers to the testing folder
The VTK-m testing infrastructure isn't public facing so it doesn't
need to be installed or clutter the main VTKmWrappers file.

At the same time I have refactored the code to make it clearer
to understand, and remove unused options.
2019-07-09 13:32:23 -04:00
Robert Maynard
0b7dd7c38e Add CMake vtkm_add_target_information() to make using vtk-m easier
The function allows consumers to modify an existing target to allow
for correct compilation with VTK-m.
2019-07-09 13:32:23 -04:00
Robert Maynard
e934e2273c vtkm_library WRAP_FOR_CUDA renamed to clarify the intent of the property
We want the option name to be clear that it might be applicable for
more than just CUDA. If VTK-m ever supported something like SYCL
it would not be clear that those sources should go in `WRAP_FOR_CUDA`.
2019-07-09 13:04:07 -04:00
Robert Maynard
a2e6660fdd Remove unused vtkm_compile_as_cuda CMake function 2019-07-09 13:04:07 -04:00
Robert Maynard
65f169b311 VTK-m now will now error when mixing CUDA and shared builds 2019-07-09 11:48:22 -04:00
Robert Maynard
4a5ef8c6ad VTKmCPUVectorization GCC native supports ppc64le
The PowerPC front end uses mcpu instead of march.
2019-07-09 11:45:54 -04:00
Robert Maynard
68a9167ab2 VTKmCPUVectorization now uses -march=<cpu_arch>
The cpu architectures mode to -march is a better approach as it
maps to a more complete side of optimization flags. This makes
it easier going forward for VTK-m to support new CPU ISA's.
2019-07-09 11:36:46 -04:00
Robert Maynard
d0d6780490 Correctly enable vectorization of avx512 when using gcc.
The previous logic would incorrectly capture all GCC versions
as only have avx and avx2.
2019-07-09 09:35:00 -04:00
Robert Maynard
bbb3912268 VTKmTestInstall properly propagates compiler flags 2019-06-25 16:04:54 -04:00
Robert Maynard
86df1d27be Update VTKmMPI to handle CMake 3.13+ 2019-06-24 16:58:31 -04:00
Robert Maynard
118583dea5 Test compilations against installed VTK-m work with CUDA enabled 2019-06-24 14:48:01 -04:00
Robert Maynard
8f1589c96f Correct license on FindMPI.cmake 2019-06-24 14:48:01 -04:00
Robert Maynard
fb6235e0e9 VTK-m and DIY now properly export MPI requirements.
Previously an installed version of VTK-m wasn't relocatable as
it had system MPI paths. Additionally the installed vtkm_diy target
would depend on MPI but not `find_package(MPI)`
2019-06-24 14:48:01 -04:00
Robert Maynard
e8f3b1233d Merge topic 'correct_undefined_behavior_in_TaskTiling'
3c85f7f40 Correct undefined behavior from missing export on ErrorMessageBuffer
e298e05bc Test will now fail if programs such as UBSAN output "runtime error"
feb66f970 Make VTK-m use consistent symbol visibility for benchmarks
b43d61533 Make VTK-m use consistent symbol visibility for tests.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1699
2019-06-19 08:32:51 -04:00
Robert Maynard
7454242e58 Cleanup unnecessary thirdparty exclusions 2019-06-18 15:13:44 -04:00
Robert Maynard
e298e05bc9 Test will now fail if programs such as UBSAN output "runtime error" 2019-06-18 13:53:32 -04:00
Robert Maynard
b43d615334 Make VTK-m use consistent symbol visibility for tests. 2019-06-17 15:19:17 -04:00
Robert Maynard
2a7ef30116 CMake: Don't presume the cuda compilers is always NVCC. 2019-05-29 09:24:01 -04:00
Robert Maynard
7184648c44 Add support for clang-cl compilation on windows 2019-05-14 11:47:21 -04:00
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