Commit Graph

9153 Commits

Author SHA1 Message Date
Vicente Adolfo Bolea Sanchez
a6c4e8479f KOKKOS: resolved issue with KOKKOS_LAMBDA 2021-08-24 13:14:58 -04:00
Kenneth Moreland
24621e95ed Merge topic 'convert-to-expected'
0855de1b4 Collect the get methods for `Field` in the header definition
47371bb5e Add ability to convert fields to known types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2558
2021-08-23 15:15:44 -04:00
Kenneth Moreland
ca4ae322d4 Merge topic 'update-license-date'
67fbcc49a Update the date on the license

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2560
2021-08-23 15:15:09 -04:00
Kenneth Moreland
67fbcc49a3 Update the date on the license
Also add a note to the release instructions to update the license
file on each release.
2021-08-23 12:51:52 -06:00
Kenneth Moreland
0855de1b47 Collect the get methods for Field in the header definition 2021-08-23 11:11:01 -06:00
Kenneth Moreland
4e764be361 Merge topic 'bad-rdc-condition'
c89d70934 Fix condition in RuntimeDeviceConfiguration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2559
2021-08-23 12:28:37 -04:00
Kenneth Moreland
c89d709345 Fix condition in RuntimeDeviceConfiguration
`RuntimeDeviceConfiguration` is supposed to log a warning if a specific
device returns a non-success status other than simply an invalid option.
However, the condition was wrong and warnings never happened.
2021-08-20 08:51:44 -06:00
Kenneth Moreland
47371bb5e6 Add ability to convert fields to known types
In VTK-m we have a constant tension between minimizing the number of
types we have to compile for (to reduce compile times and library size)
and maximizing the number of types that our filters support.
Unfortunately, if you don't compile a filter for a specific array type
(value type and storage), trying to run that filter will simply fail.

To compromise between the two, added methods to `DataSet` and `Field`
that will automatically convert the data in the `Field` arrays to a type
that VTK-m will understand. Although this will cause an extra data copy,
it will at least prevent the program from failing, and thus make it more
feasible to reduce types.
2021-08-19 07:10:20 -06:00
Nickolas Davis
56cbd0abe2 Merge topic 'kokkos-runtime-device-config'
cd2a6c138 implement kokkos runtime device configuration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2549
2021-08-18 16:35:43 -04:00
nadavi
cd2a6c1385 implement kokkos runtime device configuration 2021-08-18 13:23:30 -06:00
Vicente Bolea
675cdfe959 Merge topic 'ci-provide-cmake'
5353934e6 CI: Add Junit support
4b6175980 CI: download/install cmake in each build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !2537
2021-08-17 16:58:26 -04:00
Vicente Bolea
d3ca53bc11 Merge topic 'change-doxygen-rsync-path'
5cd911589 CI: edits doxygen rsync path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2557
2021-08-16 14:37:48 -04:00
Vicente Bolea
3fa59aeb72 Merge topic 'add-cmake-instantiatior'
b6fc78363 Filters: Add cmake instantiations generator
0b5e3e786 CI: Remove warnings of CUDA & use attributes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2524
2021-08-14 14:48:54 -04:00
Vicente Adolfo Bolea Sanchez
b6fc783631 Filters: Add cmake instantiations generator
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-14 13:39:53 -04:00
Vicente Adolfo Bolea Sanchez
5cd911589d CI: edits doxygen rsync path
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-14 13:28:17 -04:00
Vicente Adolfo Bolea Sanchez
5353934e6b CI: Add Junit support
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-12 19:35:39 -04:00
Vicente Adolfo Bolea Sanchez
0b5e3e786e CI: Remove warnings of CUDA & use attributes
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-12 19:20:02 -04:00
Vicente Adolfo Bolea Sanchez
4b6175980c CI: download/install cmake in each build
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-12 19:19:17 -04:00
Sujin Philip
09e508cd86 Merge topic 'probe-point-fields'
abedf61e5 Fix probe filter field mapping

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2555
2021-08-12 14:10:00 -04:00
Li-Ta Lo
b9f55e5639 Merge topic 'mk_config'
e7db8ef72 add build/config to the list of file to be packed for windows
a5f40f7a7 add build/config to the list of file to be packed
c6e06d45b more trial
167afd89d move configure_file after configure_package_config_file
e5338b60e how about the other
6cd30dac9 restore install of vtkm_config.mk
4f699218a temporary disable config files
ecf27e06a Merge branch 'master' into mk_config
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !2536
2021-08-11 12:20:06 -04:00
Kenneth Moreland
bfb693c1d2 Merge topic 'fix-unknownah-circular-dependency'
bb7661c16 Fix recursive header file dependancies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2552
2021-08-11 09:36:41 -04:00
Kenneth Moreland
599fd4f582 Merge topic 'device-select-on-threads'
3feff3689 Save device choice on spawned control threads

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2543
2021-08-11 08:53:48 -04:00
Sujin Philip
abedf61e5c Fix probe filter field mapping
All probed fields should become point fields in output
2021-08-09 12:56:28 -04:00
Sujin Philip
707dfd3c82 Merge topic 'fix-dataset-writer'
9bb10b396 Fix VTKDataSetWriter writing `char` types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2538
2021-08-09 09:53:55 -04:00
Kenneth Moreland
9f3294add6 Merge topic 'fix-deprecation-in-example'
69bacdfca Fix deprecation warning in histogram example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2553
2021-08-06 14:05:55 -04:00
Sujin Philip
9bb10b3961 Fix VTKDataSetWriter writing char types 2021-08-06 09:58:26 -04:00
Kenneth Moreland
69bacdfca8 Fix deprecation warning in histogram example
The examples do not get compiled as often as the test, so minor issues
sometimes creep in. The histogram example was still using some
deprecated methods.
2021-08-06 06:53:29 -06:00
Kenneth Moreland
bb7661c169 Fix recursive header file dependancies
Having UnknownArrayHandle.h include DefaultTypes.h is problematic,
because that header includes lots of other classes like cell sets.
Keeping these from in turn depending back on UnknownArrayHandle.h is
difficult. So this dependancy is broken.
2021-08-06 06:16:29 -06:00
Dave Pugmire
82f5b5ebcf Merge topic 'threaded_filters'
0ea4470f1 Simplify the code a little.
179643107 Cleanup. remove prints.
50a42a144 Forgot to add header to CMakeLists.txt
f8021dbc0 Add threaded filters for multiblock dataset.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2548
2021-08-05 14:59:38 -04:00
Dave Pugmire
0ea4470f19 Simplify the code a little. 2021-08-05 12:16:33 -04:00
Dave Pugmire
179643107b Cleanup. remove prints. 2021-08-05 11:50:34 -04:00
Dave Pugmire
50a42a1447 Forgot to add header to CMakeLists.txt 2021-08-05 10:44:54 -04:00
Kenneth Moreland
f7037a34db Merge topic 'better-unknown-type-reporting'
1ec4e5d62 Improve type reporting in `UnknownArrayHandle`
6f5455d0d Enable `TypeToString` for `type_info`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2546
2021-08-04 19:48:16 -04:00
Dave Pugmire
f8021dbc0d Add threaded filters for multiblock dataset. 2021-08-04 14:27:41 -04:00
Kenneth Moreland
1ec4e5d62c Improve type reporting in UnknownArrayHandle
Added features with reporting types with `UnknownArrayHandle`. First,
added a method named `GetArrayTypeName` that returns a string containing
the type of the contained array. There were already methods
`GetValueType` and `GetStorageType`, but this provides a convenience to
get the whole name in one go.

Also improved the reporting when an `AsArrayHandle` call failed. Before,
the thrown method just reported that the `UnknownArrayHandle` could not
be converted to the given type. Now, it also reports the type actually
held by the `UnknownArrayHandle` so the user can better understand why
the conversion failed.
2021-08-04 12:11:10 -06:00
Kenneth Moreland
6f5455d0d6 Enable TypeToString for type_info
VTK-m contains a helpful method named `vtkm::cont::TypeToString` that
either takes a type as a template argument or a `std::type_info` object
and returns a human-readable string for that type.

The standard C++ library has an alternate for `std::type_info` named
`std::type_index`, which has the added ability to be used in a container
like `set` or `map`. The `TypeToString` overloads have been extended to
also accept a `std::type_info` and report the name of the type stored in
it (rather than the name of `type_info` itself).
2021-08-04 12:11:10 -06:00
Dave Pugmire
8f2d002465 Merge topic 'fix_warnings_from_small_step_fix'
6f8d1466b Fixes for compiler warnings.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2547
2021-08-04 14:01:30 -04:00
Dave Pugmire
6f8d1466bc Fixes for compiler warnings. 2021-08-04 12:25:55 -04:00
Dave Pugmire
bde0672a4c Merge topic 'fix_smallstep_advection'
39054e644 Add corner case unit test.
0a3fd2629 Add test file for corner case.
4b0896bd8 Fix for corner case in particle advection.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Abhishek Yenpure <abhishek@uoregon.edu>
Merge-request: !2545
2021-08-04 07:10:35 -04:00
Dave Pugmire
39054e644f Add corner case unit test. 2021-08-03 21:40:28 -04:00
Dave Pugmire
0a3fd2629f Add test file for corner case. 2021-08-03 15:33:51 -04:00
Kenneth Moreland
758debeabc Merge topic 'no-unbounded-recursion'
869535b23 Remove uses of ScopedCudaStackSize
4bf8bfb1f Deprecate KdTree3D worklets
5fa402ac2 Remove recursion from FloatDistance
fc58f4edc Turn on CUDA warnings for unknown stack sizes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Merge-request: !2535
2021-08-02 14:03:18 -04:00
Dave Pugmire
4b0896bd8c Fix for corner case in particle advection. 2021-08-02 13:39:32 -04:00
Kenneth Moreland
869535b23f Remove uses of ScopedCudaStackSize
Since we have (hopefully) gotten rid of all unbounded recursion and
calls to function pointers or virtual methods, the CUDA compiler should
be able to statically determine the size of the stack needed. Thus, we
shouldn't need `ScopedCudaStackSize` at all.

However, there is one odd case where using it seems to be necessary. It
is unclear why, but that is an issue for another day.
2021-08-02 09:53:02 -06:00
Kenneth Moreland
4bf8bfb1fa Deprecate KdTree3D worklets
The implementation of the search in the k-d tree is problematic because
it uses unbounded recursion. This is a problem for GPU devices, which
have very short stacks set by how many calls the compiler determines.
This is fixable, but the fix is not trivial.

This class is not used anywhere in VTK-m other than a trivial test.
Thus, I am just deprecating the class. I am also deleting the test, so
the code is not run anymore.
2021-08-02 09:50:41 -06:00
Kenneth Moreland
5fa402ac28 Remove recursion from FloatDistance
The maximum recursion that could happen was 1 call in, but compilers had
trouble determining that. Split this into 2 non-recursive functions so
the compiler can easily determine the stack depth.
2021-08-02 09:50:41 -06:00
Kenneth Moreland
fc58f4edc6 Turn on CUDA warnings for unknown stack sizes
These were previously suppressed because they are unavoidable when
calling virtual methods. But we no longer support virtual methods on
devices (it is deprecated).

These warnings can still happen if you have unbounded recursion. But we
would like to avoid unbounded recursion, so we would like to see these
warnings.

Also turned on other nvlink warnings, which include when a recursive
function call means that the compiler cannot figure out the full
stack depth.
2021-08-02 09:50:41 -06:00
Vicente Bolea
9007c97c4c Merge topic 'fix-lfs-default-url'
7ea282734 LFS: Set default url to the current origin url

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2532
2021-07-30 14:08:48 -04:00
Kenneth Moreland
3feff36891 Save device choice on spawned control threads
The `RuntimeDeviceTracker` is a thread-local variable that monitors the
devices to use separately on each thread. This is an important feature
to allow different threads to control different devices.

When a tracker is created on a new thread, it was simply reset, which
makes sense. However, the reset does not take into account the device
selected by `vtkm::cont::Initialize`. This means that if VTK-m was used
in a different thread than it was initialized, it would ignore the
`--vtkm-device` parameter.

To get around this problem, keep track of the `RuntimeDeviceTracker` on
the "main" thread. When a `RuntimeDeviceTracker` is created on a new
thread, it copies the state from that tracker.
2021-07-29 16:57:27 -06:00
Kenneth Moreland
822eb8f165 Merge topic 'copy-runtime-state'
624117963 Add RuntimeDeviceTracker::CopyState

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2540
2021-07-29 10:37:52 -04:00