Commit Graph

11146 Commits

Author SHA1 Message Date
Kenneth Moreland
d24a5b5c89 Merge branch 'release-2.0' 2023-03-09 17:52:44 -05:00
Kenneth Moreland
2ba051e604 Merge topic 'fix_insitu_arg_processing'
b4a6c2b54 Restore argument processing to InSitu benchmark

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3010
2023-03-09 17:52:44 -05:00
Kenneth Moreland
6208a95761 Merge topic 'fix_insitu_arg_processing' into release-1.9
b4a6c2b54 Restore argument processing to InSitu benchmark

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3010
2023-03-09 17:52:43 -05:00
Kenneth Moreland
a142e078be Merge topic 'fix_insitu_arg_processing' into release-2.0
b4a6c2b54 Restore argument processing to InSitu benchmark

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3010
2023-03-09 17:52:43 -05:00
Louis Gombert
ea13c27613 Minor Shrink filter fixes 2023-03-09 16:46:58 +01:00
Mark Bolstad
b4a6c2b546 Restore argument processing to InSitu benchmark
GBench barfs on arguments such as --size without this patch that restores removing vtkm specific arguments from the command-line.
2023-03-09 08:40:00 -07:00
Louis Gombert
b970a6f4c7 Merge topic 'shrink-filter'
67d6780fb Add Shrink filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !3007
2023-03-09 09:14:01 -05:00
Kenneth Moreland
6d99c77052 Merge topic 'array-range-fast-paths'
58fc99c2f Fix fast paths for ArrayRangeCompute
4b19139f3 Add tests to UnitTestArrayRangeCompute

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3008
2023-03-09 08:28:20 -05:00
Louis Gombert
67d6780fba Add Shrink filter
This filter shrinks the cells of a DataSet towards their centroid, computed as the average position of the cell points
2023-03-09 09:48:46 +01:00
Kenneth Moreland
58fc99c2f8 Fix fast paths for ArrayRangeCompute
The precompiled `ArrayRangeCompute` function was not following proper fast
paths for special arrays. For example, when computing the range of an
`ArrayHandleUniformPointCoordinates`, the ranges should be taken from the
origin and spacing of the special array. However, the precompiled version
was calling the generic range computation, which was doing an unnecessary
reduction over the entire array. These fast paths have been fixed.

These mistakes in the code were caused by quirks in how templated method
overloading works. To prevent this mistake from happening again in the
precompiled `ArrayRangeCompute` function and elsewhere, all templated forms
of `ArrayRangeCompute` have been deprecated. Most will call
`ArrayRangeCompute` with no issues. For those that need the templated
version, `ArrayRangeComputeTemplate` replaces the old templated
`ArrayRangeCompute`. There is exactly one templated declaration of
`ArrayRangeComputeTemplate` that uses a class, `ArrayRangeComputeImpl`,
with partial specialization to ensure the correct form is used.
2023-03-08 12:36:53 -07:00
Kenneth Moreland
4b19139f3d Add tests to UnitTestArrayRangeCompute
Make the test a bit more complete by testing more array types.
2023-03-08 12:36:53 -07:00
Kenneth Moreland
69a9d4a87e Merge topic 'convert-runtime-vec-array'
331a277fe Automatically convert between ArrayHandleBasic and ArrayHandleRuntimeVec

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2994
2023-03-08 14:35:30 -05:00
Thomas H. Gibson
b1bb050bc8 Merge topic 'thrust-sorting'
267ee49cb docker: update kokkos hip image
67bf9a966 docker: update kokkos hip image
50d4ab5cc CMake: VTKm_ENABLE_KOKKOS_THRUST to depend on Kokkos with CUDA or HIP enabled
0604f314a Fix for building SERIAL unit tests with KOKKOS_HIP/CUDA enabled
802bf80b0 CI: Add rocthrust installation step
fda475d5b Rework Thrust CMake options
e6f63a807 Adding CMake tweaks to turn off thrust algorithms if thrust is not detected.
5a72275ed Rewrite sorting specialization using std::enable_if_t
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2926
2023-03-06 09:48:43 -05:00
Vicente Bolea
5ddd147779 Merge topic 'ascent-build-tune'
8033338ce ascent,ci,olcf: tune ascent build parallel parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3006
2023-03-03 20:06:25 -05:00
Vicente Adolfo Bolea Sanchez
8033338ce1 ascent,ci,olcf: tune ascent build parallel parameters 2023-03-03 19:34:47 -05:00
Vicente Bolea
b30b44dd64 Merge topic 'fix-ascent-build'
3579deb9d ascent,ci,olcf: move build to scratch dir
11b56f66d ascent,ci,olcf: increase build parallel level
85bbcb932 ascent,ci,olcf: split build and test stage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !3003
2023-03-03 15:09:12 -05:00
Kenneth Moreland
2573da59f3 Merge topic 'serialize-dataset'
2af555f6c Simplify serialization of DataSet objects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !3004
2023-03-03 14:47:02 -05:00
Vicente Adolfo Bolea Sanchez
3579deb9de ascent,ci,olcf: move build to scratch dir 2023-03-03 11:40:43 -05:00
Vicente Adolfo Bolea Sanchez
11b56f66d0 ascent,ci,olcf: increase build parallel level 2023-03-03 11:40:43 -05:00
Vicente Adolfo Bolea Sanchez
85bbcb9326 ascent,ci,olcf: split build and test stage 2023-03-03 11:40:43 -05:00
Kenneth Moreland
2af555f6c9 Simplify serialization of DataSet objects
`vtkm::cont::DataSet` is a dynamic object that can hold cell sets and
fields of many different types, none of which are known until runtime. This
causes a problem with serialization, which has to know what type to compile
the serialization for, particularly when unserializing the type at the
receiving end. The original implementation "solved" the problem by creating
a secondary wrapper object that was templated on types of field arrays and
cell sets that might be serialized. This is not a great solution as it
punts the problem to algorithm developers.

This problem has been completely solved for fields, as it is possible to
serialize most types of arrays without knowing their type now. You still
need to iterate over every possible `CellSet` type, but there are not that
many `CellSet`s that are practically encountered. Thus, there is now a
direct implementation of `Serialization` for `DataSet` that covers all the
data types you are likely to encounter.

The old `SerializableDataSet` has been deprecated. In the unlikely event an
algorithm needs to transfer a non-standard type of `CellSet` (such as a
permuted cell set), it can use the replacement `DataSetWithCellSetTypes`,
which just specifies the cell set types.
2023-03-03 09:17:44 -07:00
Vicente Bolea
124f674dc2 Merge topic 'spock-build-kokkos'
eaeced7b7 spock,ci,olcf: disable not working spock02
0b4946b9e spock: build kokkos in every vtk-m build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !3002
2023-03-02 16:06:24 -05:00
Vicente Adolfo Bolea Sanchez
eaeced7b72 spock,ci,olcf: disable not working spock02 2023-03-02 14:13:36 -05:00
Vicente Adolfo Bolea Sanchez
0b4946b9ee spock: build kokkos in every vtk-m build 2023-03-02 14:13:36 -05:00
Vicente Bolea
49da7b982d Merge topic 'reduce-ascent-concurrency-level'
76a9e8d1e ascent,ci: reduce build concurrency level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2997
2023-02-24 13:12:07 -05:00
Vicente Bolea
5bf0bd57ae Merge topic 'remove-cxx11-references'
ecd4a68ff cxx,c++: Remove c++14 references

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2999
2023-02-24 11:40:27 -05:00
Vicente Bolea
403abff608 Merge topic 'add-badges-readme'
25d03abba readme:add spack and gitlab ver badge

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3000
2023-02-24 11:40:00 -05:00
Vicente Bolea
d4f919b401 Merge topic 'add-freeze-branch-step'
3650b9efd release,docs: add freeze release branch step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2998
2023-02-24 11:39:33 -05:00
Kenneth Moreland
baa64016b1 Merge topic 'update_tutorial_targets'
85a81d404 Update tutorial CMakeLists to reflect VTK-m target namespace changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2995
2023-02-24 08:50:41 -05:00
Vicente Adolfo Bolea Sanchez
25d03abbaa readme:add spack and gitlab ver badge 2023-02-23 20:25:27 -05:00
Vicente Adolfo Bolea Sanchez
ecd4a68ffc cxx,c++: Remove c++14 references
- MSVC C++14 support obtained from: https://learn.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-170
- _MSVC_VER taken from https://stackoverflow.com/a/70630/2420872

fixes: #754
2023-02-23 19:30:58 -05:00
Vicente Adolfo Bolea Sanchez
76a9e8d1e8 ascent,ci: reduce build concurrency level
fixes: #757
2023-02-23 19:15:56 -05:00
Vicente Adolfo Bolea Sanchez
3650b9efd9 release,docs: add freeze release branch step
fixes: #760
2023-02-23 19:14:51 -05:00
Louis Gombert
85a81d404d Update tutorial CMakeLists to reflect VTK-m target namespace changes
Use target mangling routine to access  namespaced targets when building the tutorial internally to VTK-m's build
2023-02-23 10:55:05 +01:00
Vicente Bolea
b8152b6ff5 Merge topic 'update-roadmap'
6cd849d70 roadmap: update dates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2996
2023-02-22 15:03:00 -05:00
Vicente Adolfo Bolea Sanchez
6cd849d703 roadmap: update dates 2023-02-22 12:27:53 -05:00
Vicente Adolfo Bolea Sanchez
267ee49cb0 docker: update kokkos hip image 2023-02-21 11:01:38 -05:00
Vicente Adolfo Bolea Sanchez
67bf9a966a docker: update kokkos hip image 2023-02-20 15:33:00 -05:00
Thomas Gibson
50d4ab5cc1 CMake: VTKm_ENABLE_KOKKOS_THRUST to depend on Kokkos with CUDA or HIP enabled 2023-02-20 12:55:58 -06:00
Vicente Bolea
bf7983f269 Merge branch 'release-2.0' 2023-02-20 13:27:25 -05:00
Vicente Bolea
17bee1070b Merge topic 'update-to-2.0.0'
dd79a487a release: 2.0.0 release notes
f6b087689 release: update version and License

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2988
2023-02-20 13:27:25 -05:00
Dave Pugmire
f53d90d6b6 Merge branch 'sync_streamlines' of https://gitlab.kitware.com/dpugmire/vtk-m into sync_streamlines 2023-02-20 10:08:43 -05:00
Dave Pugmire
9fefdf6e61 Add fields to particles. 2023-02-20 10:03:49 -05:00
Kenneth Moreland
331a277fe3 Automatically convert between ArrayHandleBasic and ArrayHandleRuntimeVec
The `UnknownArrayHandle` has been updated to allow
`ArrayHandleRuntimeVec` to work interchangeably with basic
`ArrayHandle`. If an `ArrayHandleRuntimeVec` is put into an
`UnknownArrayHandle`, it can be later retrieved as an `ArrayHandleBasic`
as long as the base component type matches and it has the correct amount
of components. This means that an array can be created as an
`ArrayHandleRuntimeVec` and be used with any filters or most other
features designed to operate on basic `ArrayHandle`s. Likewise, an array
added as a basic `ArrayHandle` can be retrieved in an
`ArrayHandleRuntimeVec`. This makes it easier to pull arrays from VTK-m
and place them in external structures (such as `vtkDataArray`).
2023-02-20 07:39:49 -07:00
Sean Miller
0604f314aa Fix for building SERIAL unit tests with KOKKOS_HIP/CUDA enabled 2023-02-20 08:28:34 -06:00
Thomas Gibson
802bf80b0f CI: Add rocthrust installation step 2023-02-20 08:26:28 -06:00
Thomas Gibson
fda475d5bf Rework Thrust CMake options 2023-02-20 08:26:28 -06:00
Sean Miller
e6f63a807d Adding CMake tweaks to turn off thrust algorithms if thrust is not detected. 2023-02-20 08:26:24 -06:00
Thomas Gibson
5a72275ed8 Rewrite sorting specialization using std::enable_if_t 2023-02-20 08:25:05 -06:00
Sean Miller
04013b9924 Add sorting implementation using thrust
Co-authored-by: Thomas Gibson <thomas.gibson@amd.com>
2023-02-20 08:25:02 -06:00