Commit Graph

8252 Commits

Author SHA1 Message Date
Dave Pugmire
9b290994f5 fix compile warnings. 2020-11-21 22:20:20 -05:00
Dave Pugmire
9da2b86d72 Implement blockAndWait for threaded 2020-11-21 22:13:16 -05:00
Dave Pugmire
741fff75c8 support for blockAndSend when a rank is totally idle. 2020-11-20 14:57:33 -05:00
Dave Pugmire
669794f992 Support for blockAndWait. Do sends BEFORE receives. 2020-11-20 14:57:04 -05:00
Dave Pugmire
a4ce505d5f Use std::atomic for this->Done. 2020-11-20 09:25:16 -05:00
Dave Pugmire
c3fa3d43b1 Undo changes to the cmakelists 2020-11-19 15:24:36 -05:00
Dave Pugmire
2fec7a79c3 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into threaded_particleAdvection 2020-11-19 15:23:17 -05:00
Dave Pugmire
5f86dfc941 Code cleanup.... 2020-11-19 14:19:26 -05:00
Dave Pugmire
173c14b086 Add new files to cmakelists 2020-11-19 13:55:27 -05:00
Dave Pugmire
79d840a24f refactor classes. Put in different files. 2020-11-19 13:52:01 -05:00
Dave Pugmire
55f9d24983 Update class inheritance, etc. 2020-11-19 12:42:54 -05:00
Robert Maynard
1c7fbc70c3 Merge topic 'remove_filter_hxx_usages'
7eaedfe84 Reduce compiler memory usage by removing auto hxx inclusion

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2313
2020-11-19 10:59:43 -05:00
Robert Maynard
7eaedfe84b Reduce compiler memory usage by removing auto hxx inclusion
A large portion of the VTK-m filters are now compiled into the
vtkm_filter library. These pre-built filters now don't include
the respective hxx file to remove the amount of template
instantiation users do.

To verify that this removal reduces compiler memory ( and maybe time)
I profiled the compiler while it building filter tests in debug mode.
Here is a selection of results:

```
CleanGrid           10.25s => 9.01s,  901MB => 795MB
ExternalFaces       13.40s => 5.96s, 1122MB => 744MB
ExtractStructured    4.69s => 4.75s,  492MB => 492MB
GradientExplicit    22.97s => 5.88s, 1296MB => 740MB
```
2020-11-19 09:59:25 -05:00
Dave Pugmire
3dc1237881 Fix compile warning. 2020-11-19 09:28:29 -05:00
Dave Pugmire
02e37db863 Fix compile error. 2020-11-18 21:23:06 -05:00
Kenneth Moreland
5e3ae70a6b Merge topic 'arrayhandlegroupvec-use-buffer'
41784b31f Allow ArrayHandleGroupVec with odd component array size
d472e05ea Convert ArrayHandleGroupVec to new buffer-style array

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2317
2020-11-18 17:36:46 -05:00
Dave Pugmire
7a4b2ff0c5 Threaded algorithms for particle advection 2020-11-18 17:10:28 -05:00
Nick Thompson
0ac1b816c8 Merge topic 'less_verbose_tests_2'
275abf2f2 Revert change the removes printing of seed.
3b2c10339 Less verbose unit tests.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2321
2020-11-18 15:12:32 -05:00
Kenneth Moreland
3239add3a8 Merge topic 'create-buffers-function'
8d3f37664 CreateBuffers improvements suggested by Rob Maynard
c072e4ed2 Add a CreateBuffers helper function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2320
2020-11-18 13:54:05 -05:00
Robert Maynard
d5a2efc023 Merge topic 'update_local_ci_reproducer_docs'
dfe63ddc0 CI-README: Correct how to compile VTK-m with CI's image settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2322
2020-11-18 13:41:26 -05:00
Kenneth Moreland
41784b31ff Allow ArrayHandleGroupVec with odd component array size
The array given to `ArrayHandleGroupVec` should really have a number of
values that divides evenly among the `Vec`s. Previously, if this was not
the case, an error exception was thrown. These changes allow this
condition. Extra components are dropped and a warning is logged.
2020-11-18 11:15:50 -07:00
Robert Maynard
dfe63ddc05 CI-README: Correct how to compile VTK-m with CI's image settings 2020-11-18 11:14:36 -05:00
Nick Thompson
275abf2f2d Revert change the removes printing of seed. 2020-11-18 11:03:19 -05:00
Kenneth Moreland
8d3f376646 CreateBuffers improvements suggested by Rob Maynard 2020-11-18 08:25:53 -07:00
Nick Thompson
3b2c103397 Less verbose unit tests. 2020-11-18 08:35:37 -05:00
Kenneth Moreland
c072e4ed29 Add a CreateBuffers helper function
Most `ArrayHandle` implementations must create an
`std::vector<vtkm::cont::internal::Buffer>` object. It is most helpful
to create it in the constructor when initializing the superclass (so the
superclass does not have to create it's own). Added a `CreateBuffers`
convenience function to make it easy to build these vectors.
2020-11-17 16:20:15 -07:00
Kenneth Moreland
9f16de4b9b Merge topic 'arrayhandlecartesianproduct-use-buffer'
e9410f27c Add constexpr to GetNumberOfBuffers
07d6c06c7 Convert ArrayHandleCartesianProduct to new buffer-style array

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2314
2020-11-17 17:14:59 -05:00
Kenneth Moreland
d472e05eae Convert ArrayHandleGroupVec to new buffer-style array 2020-11-17 12:36:05 -07:00
Kenneth Moreland
e9410f27cb Add constexpr to GetNumberOfBuffers
This should always be a constant value.
2020-11-17 12:25:11 -07:00
Kenneth Moreland
07d6c06c73 Convert ArrayHandleCartesianProduct to new buffer-style array 2020-11-17 12:17:28 -07:00
Nick Thompson
2bc6717063 Merge topic 'demangle_unknown_arrayhandle'
64ff68421 Use TypeToString to demangle symbol in UnknownArrayHandle.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2315
2020-11-17 13:07:11 -05:00
Nick Thompson
64ff684218 Use TypeToString to demangle symbol in UnknownArrayHandle. 2020-11-16 14:58:52 -05:00
Kenneth Moreland
f85e27c7f1 Merge topic 'all-basic-types'
d82fc92a1 Fix for serializable type names that change base C types
88eed2bbe Make sure all C scalar types are in TypeListScalarAll

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2312
2020-11-16 10:18:25 -05:00
Kenneth Moreland
d82fc92a10 Fix for serializable type names that change base C types
MR !2311 fixed an issue where some base C types were not recognized by
`SerializableTypeString`. However, the fix was such that different types
with the same layout had the same string. For example `char` and
`signed char` both were given the string `I8`. That meant that the
serialization/deseralization would work, but the deserialization could
change the type. That could cause problems if two arrays were expected
to have the same type but did not.

This change undoes much of MR !2311 and redoes it so that the types are
correct.
2020-11-12 16:59:56 -07:00
Kenneth Moreland
88eed2bbeb Make sure all C scalar types are in TypeListScalarAll
C++ template considers some types different even though they have the
exact same format. For example `int`, `long`, and `long long` all match
different types even though they all represent either signed 32-bit ints
or signed 64-bit ints.

List all these possible types in
`TypeListScalarAll`.
2020-11-12 16:18:56 -07:00
Kenneth Moreland
60f19f3f9e Merge topic 'serialization-fixes'
ec4a434dc Include all int types in SerializableTypeString
d9fe6a546 Fix ArrayHandleCast serializable type name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2311
2020-11-11 15:13:06 -05:00
Vicente Bolea
9a15735541 Merge topic 'fix-578-reduce-compilation-memory-usage'
f3db116c6 Clip: Split instantiations of its derivated filters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2303
2020-11-11 12:23:43 -05:00
Vicente Adolfo Bolea Sanchez
f3db116c64 Clip: Split instantiations of its derivated filters
- It explicitly instantiate its concrete templates to
  the supported types.
- It disables implicit template instantations for the
  the supported types.
- Also fix small typo in Contour impl include guards

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-11-11 11:14:10 -05:00
Kenneth Moreland
ec4a434dcf Include all int types in SerializableTypeString
Previously, `SerializableTypeString` was specialized only for the VTK-m
defined int types (`Int8`, `UInt8`, `Int16`, etc.). You would think this
would cover all the base int types, but in fact C++ defines multiple int
types that have the exact same bit layout. These duplicates will not
match each other when matching template specializations. For example,
`char` is either the same as `signed char` or `unsigned char`, but will
match neither. Likewise, `long` is the same as either `int` or `long
long`, but all these types will match different template
specializations.

Now all integer types are covered.
2020-11-11 08:07:14 -07:00
Kenneth Moreland
d9fe6a546f Fix ArrayHandleCast serializable type name
The specialization for SerializableTypeString for ArrayHandleCast tried
to get the serialization for the base type and the storage tag. This is
wrong since the storage tag itself is not seralizable nor has a type
string. Instead, just record the type name for the sub ArrayHandle
itself.
2020-11-11 07:48:24 -07:00
Kenneth Moreland
785837e19a Merge topic 'simplify-buffer-metadata'
339a461f5 Avoid warning about uninitialized member
2f04dc3ae Simplify creating metadata in Buffer objects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2310
2020-11-11 09:46:50 -05:00
Kenneth Moreland
339a461f5c Avoid warning about uninitialized member 2020-11-10 16:39:57 -07:00
Kenneth Moreland
2f04dc3aef Simplify creating metadata in Buffer objects
Previously you had to create a special virtual object to place in the
`Buffer`'s metadata. This added a lot of difficulty that is probably
unnecessary.

Instead, just have `Buffer` hold an arbitrary object and some simple
functions to copy and delete it. There may be issues with type safety
across translation units, but we'll deal with that when/if we run into
it.
2020-11-10 16:22:05 -07:00
Kenneth Moreland
132a07225d Merge topic 'precompiled-field-get-range'
a88e0d914 Reintroduce ArrayRangeCompute.hxx as deprecated
7d681fb58 Deprecate templated versions of Field::GetRange

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2296
2020-11-10 13:49:45 -05:00
Kenneth Moreland
a88e0d9149 Reintroduce ArrayRangeCompute.hxx as deprecated
ArrayRangeCompute.hxx was removed, but other code may be including it.
The file was replaced. It now just includes its replacement
(ArrayRangeComputeTemplate.h) and forces a deprecation warning.
2020-11-10 09:58:50 -07:00
Kenneth Moreland
917ad80a85 Merge topic 'arrayhandlediscard-use-buffer'
cc729f422 Convert ArrayHandleDiscard to new buffer-style arrays

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2309
2020-11-10 09:46:08 -05:00
Kenneth Moreland
8d73a86623 Merge topic 'separate-cont-exec-variant'
e3dfa4891 Do not attempt to move non-trivial objects in Variant
8e11b3ecd Remove ArrayPortalCheck
21db210a7 Make separate exec and cont versions of Variant

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2274
2020-11-10 09:33:13 -05:00
Kenneth Moreland
b082e6a749 Merge topic 'arrayhandlereverse-use-buffer'
8dfc68201 Convert ArrayHandleReverse to new buffer-style arrays

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2308
2020-11-10 09:31:48 -05:00
Kenneth Moreland
cc729f422b Convert ArrayHandleDiscard to new buffer-style arrays 2020-11-09 15:45:45 -07:00
Kenneth Moreland
8dfc682014 Convert ArrayHandleReverse to new buffer-style arrays 2020-11-09 14:22:52 -07:00