Commit Graph

6468 Commits

Author SHA1 Message Date
Kenneth Moreland
6232670049 Merge topic 'deprecate-executiontypes'
05fc1747e Make deprecated tags more descriptive
b92566cdd Convert `std::endl` to `'\n'`
b8b958a98 Get rid of CellSetStructured.hxx
f4bc3002b Fix compiler error with `constexpr` method
4d8f05bae Update CellSetExtrude to not specify exec types by device
3962e73b0 Fix issues with class specialization
c55d15f39 Deprecate ArrayHandle::ExecutionTypes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2401
2021-02-09 13:33:08 -05:00
Kenneth Moreland
05fc1747e0 Make deprecated tags more descriptive
Also, test to make sure that the deprecated types are still valid.
2021-02-09 09:45:41 -07:00
Kenneth Moreland
b92566cdd1 Convert std::endl to '\n'
Using `std::endl` has a side effect of flushing the stream, which can
have unintended performance consequences.
2021-02-09 08:53:46 -07:00
Nick Thompson
f4a3538a6f Merge topic 'fix_matrix'
e4241aa53 Make matrix unit tests less verbose.
bba3d29c2 Remove UB from Matrix.h, and replace by quiet NaNs.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2402
2021-02-08 21:01:18 -05:00
Kenneth Moreland
b8b958a98b Get rid of CellSetStructured.hxx
One of the MSVC builds was giving template resolution problems for one
of the methods declared non-inline for no discernable reason. It sounds
like a compiler bug. Rather than try to  work around the issue, just
move the declaration inline.

In fact, all the methods are really small (only 1 or 2 lines). Just
delete the .hxx file and simplify things.
2021-02-08 18:43:31 -07:00
Kenneth Moreland
f4bc3002bb Fix compiler error with constexpr method
The `GetMaxNumberOfNeighbours` of the `MeshStructure*` classes was
declared `constexpr`. This was causing some compiler errors.

I think the problem is actually a bug with GCC (https://gcc.gnu.org/
bugzilla/show_bug.cgi?id=66297). Whether it is a compiler bug or not,
there does not seem to be a large value to declaring this method
`constexpr`, so I just removed the keyword.
2021-02-08 17:21:53 -07:00
Kenneth Moreland
4d8f05baef Update CellSetExtrude to not specify exec types by device
Somewhere during this edit I removed a header file that didn't strictly
need to be there. This caused me to have to add

```cpp
```

in several places in the code.
2021-02-08 16:57:16 -07:00
Kenneth Moreland
3962e73b06 Fix issues with class specialization
C++ has some weird rules about specializing subclasses.
2021-02-08 14:31:45 -07:00
Nick Thompson
e4241aa530 Make matrix unit tests less verbose. 2021-02-08 16:18:13 -05:00
Nick Thompson
bba3d29c2a Remove UB from Matrix.h, and replace by quiet NaNs. 2021-02-08 15:40:23 -05:00
Kenneth Moreland
c55d15f397 Deprecate ArrayHandle::ExecutionTypes
The newer version of `ArrayHandle` no longer supports different types of
portals for different devices. Thus, the `ReadPortalType` and
`WritePortalType` are sufficient for all types of portals across all
devices.

This significantly simplifies supporting execution objects on devices,
and thus this change also includes many changes to various execution
objects to remove their dependence on the device adapter tag.
2021-02-08 12:17:37 -07:00
Vicente Adolfo Bolea Sanchez
02f97325c4 Merge branch 'upstream-lcl' into refactor-use-cpp14
# By Lightweight Cell Library Upstream
* upstream-lcl:
  lcl 2021-02-08 (6fe1a2d8)
2021-02-08 17:13:10 +01: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
dpugmire
ed7358ed23 Kick the dashboard. 2021-02-05 16:32:42 -05:00
dpugmire
6367e46804 Bug fix when pathline rank has 0 ds. 2021-02-05 15:57:18 -05:00
dpugmire
6608a38eef Debugging the dashboard 2021-02-05 14:08:46 -05:00
dpugmire
b4768f06bd Bug fix. Must copy particles. 2021-02-05 12:17:27 -05:00
dpugmire
4773b51ca3 Debug test fail... 2021-02-05 12:04:24 -05:00
dpugmire
982b693abb Forgot to add hxx file. 2021-02-05 11:32:38 -05:00
dpugmire
aa713b565f Support for dist-memory pathlines. 2021-02-05 09:40:50 -05:00
Kenneth Moreland
71a5bd3b95 Fix compile error with MSVC
Some (but not all) versions of visual studio seem to have a bug that
causes a syntax error when using the deprecated attribute in a templated
constructor.
2021-02-04 08:47:28 -07:00
Kenneth Moreland
7df5c39358 Remove device template argument from AtomicArrayExecutionObject
The actual code for AtomicArrayExecutionObject does not need to be
specialized by the device. The functionality is implemented by calling
the vtkm::Atomic* methods, which are properly implemented on each
device.
2021-02-04 08:47:28 -07:00
Kenneth Moreland
99e613d377 Avoid conversion warnings in RecombineVec copy
Unfortunately, there is no way to specify when copying `RecombineVec`s
whether we wish to allow precision loss in conversions. Because
sometimes we need them, disable the warnings.
2021-02-03 10:06:12 -07:00
Kenneth Moreland
4c524de625 Fix inverted ArrayCopy arguments
Also fix condition where a `UnknownArrayHandle` destination does not
have an underlying `ArrayHandle` set yet.
2021-02-02 17:34:12 -07:00
Kenneth Moreland
1faed3712e Remove the use of ResetTypes for ArrayCopy
It used to be the case where you needed to call `ResetTypes` on a
`VariantArrayHandle` before using `ArrayCopy` to limit the types it gets
compiled for. However, there is now a general form for
`UnknownArrayHandle`, so `ResetTypes` no longer does anything useful in
this case. Remove the use of that.
2021-02-02 17:34:08 -07:00
Kenneth Moreland
ad7033684f Change ArrayCopy of UnknownArrayHandle to limit types
Rather than copy every type to every other type, only copy for the same
base type or copy to/from FloatDefault. This should reduce the amount of
code generated by a lot.

This reduces the size of the .o for ArrayCopy.cxx on my mac from
21MB to 7.7MB.
2021-02-02 17:33:08 -07:00
Kenneth Moreland
916a01d7b9 Add general ArrayCopy between UnknownArrayHandles
Add an overload of `ArrayCopy` that takes `UnknownArrayHandle`s and
copies them for (almost) any `ArrayHandle` type.

The code uses `CastAndCallWithExtractedArray` to reduce the total number
of copy conditions to about 100, which are all precompiled into the
library. On a debug build on my mac, this creates a .o file of 21MB.
That's not great, but not terrible. Hopefully, this can be used to
consolidate copy implementations elsewhere.
2021-02-02 17:33:08 -07:00
Kenneth Moreland
26ea2ab420 Break circular dependency of ArrayCopy.h and UnknownArrayHandle.h
The circular dependency came from UnknownArrayHandle.h needing
VTKmDefaultTypes.h, which needed all the cell set types. Some of those
cell sets used ArrayCopy in templated functions. Changed those functions
to directly deep copy the ArrayHandle.
2021-02-02 17:33:08 -07:00
Kenneth Moreland
990cc9ecea Test copying UnknownArrayHandle 2021-02-02 17:33:08 -07:00
Oliver Ruebel
cea1173233 Reverse error check in ContourTreeMaker 2021-02-02 13:46:01 -08:00
Oliver Ruebel
5005b5d44a Updated ContourTreeMesh::DebugPrint / ContourTreeMaker::DebugPrintt to use per-call build guards 2021-02-02 13:44:50 -08:00
Gunther Weber
8ebd889732 Merge topic 'add-contour-tree-unit-tests'
c59d8b25b Use test_equal_ArrayHandles instead of custom functions ArraysEqual
06ab386a0 Added test for combinining contour tree meshes
3d5adf335 Re-enabled tests with external files (and added required files to Git LFS)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2344
2021-02-01 16:55:29 -05:00
Kenneth Moreland
76634d167e Merge topic 'deprecate-arrayhandle-shrink'
34412ff29 Deprecate ArrayHandle::Shrink
eb90a6080 Update documentation for Storage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2392
2021-02-01 16:07:22 -05:00
Kenneth Moreland
880d26d60a Add test for UnknownArrayHandle::NewInstanceFloatBasic 2021-02-01 10:24:13 -07:00
Kenneth Moreland
d51fdaddf8 Add UnknownArrayHandle::NewInstanceFloatBasic
This provides the ability to convert an array handle of an unknown value
type to an array handle that has `vtkm::FloatDefault` as its base
component type. Thus subsequently lets you pull the components as
`vtkm::FloatDefault` without having to worry about type conflicts.
2021-02-01 09:34:08 -07:00
Kenneth Moreland
34412ff298 Deprecate ArrayHandle::Shrink
This method has been subsumed by Allocate with vtkm::CopyFlag::On.
2021-02-01 08:07:40 -07:00
Gunther H. Weber
c59d8b25b1 Use test_equal_ArrayHandles instead of custom functions ArraysEqual 2021-01-29 11:33:25 -08:00
Gunther H. Weber
06ab386a03 Added test for combinining contour tree meshes 2021-01-29 09:45:13 -08:00
Gunther H. Weber
3d5adf335d Re-enabled tests with external files (and added required files to Git LFS) 2021-01-29 09:45:13 -08:00
Gunther H. Weber
239adf5980 Fix typos in functor names for contour tree 2021-01-28 14:29:45 -08:00
Kenneth Moreland
eb90a6080c Update documentation for Storage 2021-01-28 14:37:10 -07:00
Gunther H. Weber
5d8a67eff1 Re-enable marching cubes unit tests for disitrbuted contour tree 2021-01-28 11:51:42 -08:00
Gunther H. Weber
0183db6854 Split array access into separate lines and add VTKM_ASSERT 2021-01-27 19:31:56 -08:00
Kenneth Moreland
8b133288ce Fix deprecation warnings
There was an error that caused deprecation warnings in VTK-m to be
suppressed, which meant that many uses of deprecated features went
unnoticed. This fixes those deprecation warnings.

The majority of the warnings were caused by the use of the deprecated
`Cast`, `CopyTo`, and `ResetTypes` methods of `UnknownArrayHandle` (or
`VariantArrayHandle`). Both `Cast` and `CopyTo` have been subsumed by
`AsArrayHandle` (to make the functionality more clear). `ResetTypes` now
requires a second template argument to define the storage types to try.

Also fixed some issues with `SerializableField` being deprecated.
This class is no longer necessary because `Field` can now be directly
serialized.
2021-01-26 07:56:39 -07:00
Kenneth Moreland
b085cde358 Fix runaway deprecation suppression
Field.h had a runaway deprecation suppression where the pragmas to
suppress deprecation warnings were turned on but not properly turned
off. This caused deprecation warnings to be turned off for anything
including Field.h (directly or indirectly), and consequently lots of use
of deprecated features went unnoticed.
2021-01-25 15:25:12 -07:00
Kenneth Moreland
3f5193d231 Consolidate getting a scalar field array
There are several places in the ray casting library that require
operating on a field that we know is a scalar field. Previously, these
were all independently cast to an uncertain array of the limited types.
Rather than have independent calls everywere, make a consolidated
function that does the same operation for everyone.

This fixes an issue with using a deprecated version of a method. It also
makes it possible to quickly change types in the future.
2021-01-25 15:25:11 -07:00
Li-Ta Lo
e7cf3d784a Merge topic 'hdf5_image_io'
081f8aaea reformat if statements, add comments on the HDF5 macros
31aa46706 Merge branch 'master' into hdf5_image_io
e65c0713b move #include of hdf5.h into .cxx files
ff0b8fd0b changed to CMake files based on Robert's feedback
ca0ce4de7 Merge branch 'master' into hdf5_image_io
23a95f864 exclude header files from install check when it is not enabled
d81f08eed correct copyright mesage
fb6c9afe7 uncomment ubuntu1805_cuda image
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2371
2021-01-16 09:26:15 -05:00
Li-Ta Lo
081f8aaea8 reformat if statements, add comments on the HDF5 macros 2021-01-15 15:05:52 -07:00
Li-Ta Lo
31aa467068 Merge branch 'master' into hdf5_image_io 2021-01-15 09:25:18 -07:00
Li-Ta Lo
e65c0713b8 move #include of hdf5.h into .cxx files 2021-01-15 09:12:52 -07:00