Commit Graph

7910 Commits

Author SHA1 Message Date
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
Robert Maynard
62c2938b0e Merge topic 'make_sure_cuda_kokkos_builds_use_sccache'
da1fec67b Kokkos CUDA builds now use sccache for CUDA compilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2222
2020-08-19 11:56:14 -04:00
Robert Maynard
da1fec67b9 Kokkos CUDA builds now use sccache for CUDA compilation 2020-08-19 09:44:58 -04:00
Nick Thompson
89ccd828df Merge topic 'benchmark_ode_2'
7b17e3889 Benchmark ODE integrators.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Merge-request: !2220
2020-08-19 09:43:50 -04:00
Kenneth Moreland
a709f63e72 Merge topic 'base-device-tests'
ed41874cc Consolidate tests for base vtkm code that is device-specific

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2219
2020-08-18 18:53:04 -04:00
Dave Pugmire
6c44bbb9cb Merge topic 'mpiStreamlines2'
d13a08b6a Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into mpiStreamlines2
530c4504d Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into mpiStreamlines2
6bfb91aac try to fix/debug the windows builds.
8b1520fdb address link errors in windows and gcc4.8 dashboard compile errors
5fa93a64f fix build errors
ec796445c Remove some print statements.
9bf49101c Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into mpiStreamlines2
4722dc67b Code review cleanup.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2210
2020-08-18 17:07:27 -04:00
Kenneth Moreland
ed41874cc8 Consolidate tests for base vtkm code that is device-specific
Some of the code in the base `vtkm` namespace is device specific. For
example, the functions in `Math.h` are customized for specific devices.
Thus, we want this code to be specially compiled and run on these
devices.

Previously, we made a header file and then added separate tests to each
device package. That was created before we had ways of running on any
device. Now, it is much easier to compile the test a single time for all
devices and use the `ALL_BACKENDS` feature of `vtkm_unit_tests` CMake
function to automatically create the test for all devices.
2020-08-18 14:30:25 -06:00
dpugmire
d13a08b6ae Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into mpiStreamlines2 2020-08-18 16:06:41 -04:00
NAThompson
7b17e38892 Benchmark ODE integrators. 2020-08-18 15:47:13 -04:00
Nick Thompson
88a0cff7cb Merge topic 'refactor_integrators'
8124fe81f Add missing #include.
6ea07cc1e Missing #include.
024ab1cff Put each ODE integrator in it's own file.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2213
2020-08-18 15:36:54 -04:00
Nick
8124fe81fd Add missing #include. 2020-08-18 15:32:39 -04:00
NAThompson
6ea07cc1e8 Missing #include. 2020-08-18 15:32:39 -04:00
Nick
024ab1cff8 Put each ODE integrator in it's own file. 2020-08-18 15:32:39 -04:00
dpugmire
530c4504d7 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into mpiStreamlines2 2020-08-18 13:58:49 -04:00
Nick Thompson
aefc18151e Merge topic 'pyexpander_fix'
4e72eb043 Don't apply pyexpander fix on Windows.
959db40aa Find expander.py on the syspath, do not call it from a Python interpreter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2214
2020-08-18 10:48:54 -04:00
dpugmire
6bfb91aac5 try to fix/debug the windows builds. 2020-08-18 09:38:32 -04:00
dpugmire
8b1520fdb7 address link errors in windows and gcc4.8 dashboard compile errors 2020-08-18 08:55:49 -04:00
dpugmire
5fa93a64ff fix build errors 2020-08-17 22:32:56 -04:00
dpugmire
ec796445cc Remove some print statements. 2020-08-17 16:57:09 -04:00
Nick
4e72eb0437 Don't apply pyexpander fix on Windows. 2020-08-17 16:39:47 -04:00
dpugmire
9bf49101ca Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into mpiStreamlines2 2020-08-17 16:35:40 -04:00
dpugmire
4722dc67b7 Code review cleanup. 2020-08-17 16:32:27 -04:00
dpugmire
240483ce96 make namespaces consistent. 2020-08-17 16:21:59 -04:00
dpugmire
58d8119f2a Addressing code review comments. 2020-08-17 15:33:29 -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
Kenneth Moreland
38a6fe22f8 Merge topic 'arraycopy-with-buffer'
8983154e9 Add DeepCopy to ArrayHandle
694ba7e92 Change ArrayCopy to deep copy Buffer objects where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2212
2020-08-14 15:48:51 -04:00
Sujin Philip
0beb0f650b Merge topic 'add-kokkos-backend'
2d1b609b3 Use Ubuntu instead of rhel8 for cuda+kokkos
769248583 Make sure we use c++14 when using CUDA 11+
64efa6401 Kokkos: make sure we don't pass multiple rdc flags
b2f4c8e5e Switch -O3 to -O2 on Linux with Cuda 10
db57ed26a Fix warnings
452f61e29 Add Kokkos backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2164
2020-08-14 09:35:46 -04:00
Kenneth Moreland
8983154e9e Add DeepCopy to ArrayHandle
`ArrayHandle::DeepCopy` creates a new `ArrayHandle` of the same type and
deep copies the data into it.

This functionality is similar to `ArrayCopy`. However, it can be used
without having to compile for the device on which the copy happens.
2020-08-13 16:56:06 -06:00
Kenneth Moreland
694ba7e92c Change ArrayCopy to deep copy Buffer objects where possible
Now that the data in an `ArrayHandle` is stored in `Buffer` objects, we
now have a more efficient way of doing deep copies of memory. Rather
than call `Algorithm::Copy`, which iterates over the array and copies
each item, `ArrayCopy` now uses the `Buffer` interface to do direct
device-to-device (or host-to-host) mem copies. This should be more
efficent and take less time to compile.

Note that this direct `Buffer` copy only works if the two `ArrayHandle`s
are of the same type. If they are different, `ArrayCopy` still has to
fall back to using `Algorithm::Copy`.

Also note that not all `ArrayHandle`s are using the new `ArrayHandle`
interface (and therefore not using `Buffer` objects). Thus, a fallback
is still available for old `ArrayHandle` types.
2020-08-13 16:56:06 -06:00
dpugmire
68020589c3 Code cleanup for merge. 2020-08-13 17:05:22 -04:00
Robert Maynard
2d1b609b34 Use Ubuntu instead of rhel8 for cuda+kokkos
The rhel8 image would never upload to gitlab-ci completed artifacts.
2020-08-13 16:02:45 -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
05e9d43f84 Merge topic 'exclude-contour-tree-test'
801d62527 Exclude a failing test until it is resolved

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2208
2020-08-13 11:23:56 -04:00
dpugmire
8d565bbda6 Forgot to include the CMake file from the other branch. 2020-08-13 10:27:04 -04:00
dpugmire
9d31d587b3 Add streamline/particle advection filters. 2020-08-13 10:01:52 -04:00
dpugmire
c806403e2a distributed memory support for streamline and particleadvect filters. 2020-08-13 09:53:57 -04:00
Sujin Philip
801d625276 Exclude a failing test until it is resolved
The `ContourTreeUniformAugmented` tests for Cuda consistently
times out while running on the `centos7_gcc48` and `rhel8_test_centos7`
configurations. Temporarily exclude it to improve the CI turn-around time
while this issue is being resolved.
2020-08-13 08:21:03 -05:00
Kenneth Moreland
6dbf304000 Merge topic 'num-buffers-runtime-selectable'
72475177d Make number of buffers in an ArrayHandle runtime selectable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2206
2020-08-12 18:23:59 -04:00
Sujin Philip
b2f4c8e5ef Switch -O3 to -O2 on Linux with Cuda 10 2020-08-12 13:55:24 -04:00
Sujin Philip
db57ed26a2 Fix warnings 2020-08-12 13:55:24 -04:00
Sujin Philip
452f61e290 Add Kokkos backend 2020-08-12 13:55:24 -04:00
Robert Maynard
9f4ae20a29 Merge topic 'always_init_diy_mpi_env'
477d22541 Always have VTK-m tests enable vtkmdiy mpi environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2204
2020-08-12 08:54:10 -04:00
Robert Maynard
477d225415 Always have VTK-m tests enable vtkmdiy mpi environment 2020-08-11 17:02:19 -04:00
Robert Maynard
ced27afc4a Merge topic 'reorg_gitlab_ci_tags'
6fa170ae6 Update gitlab ci to make sure CUDA builds occur with CUDA runtime

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2207
2020-08-11 17:01:01 -04:00
Robert Maynard
6fa170ae60 Update gitlab ci to make sure CUDA builds occur with CUDA runtime
The CUDA runtime is required so that linking occurs correctly
2020-08-11 16:33:40 -04:00
Kenneth Moreland
72475177d8 Make number of buffers in an ArrayHandle runtime selectable
This has no real change in the operation, but it will simplify code as
we convert `ArrayHandle`s to the new type. We will be able to write
simple runtime code rather than complex metaprogramming to determine the
number of buffers to use.
2020-08-11 13:25:06 -06:00
Kenneth Moreland
6db51d8f0d Merge topic 'deprecate-filter-cell'
d3a6def08 Update filters that use FieldCell to use FieldFilter instead
9d91e006a Deprecate FilterCell

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2205
2020-08-11 08:52:03 -04:00
Kenneth Moreland
d3a6def082 Update filters that use FieldCell to use FieldFilter instead
We no longer need to use this deprecated name for a filter class.
2020-08-10 17:25:55 -06:00
Kenneth Moreland
9d91e006a9 Deprecate FilterCell
This class no longer serves any purpose (and in fact is now only a
trivial alias for FilterField). Subclasses should just use FilterField
instead.
2020-08-10 17:19:06 -06:00