Commit Graph

5312 Commits

Author SHA1 Message Date
Kenneth Moreland
a5c686214b Merge topic 'no-std-conditional-in-list-operations'
b534bdb1b Remove std::conditional from List.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1940
2020-01-09 12:31:26 -05:00
Kenneth Moreland
b534bdb1ba Remove std::conditional from List.h
The `std::conditional` utility is very convenient, but it unfortunately
means that the compiler has to evaluate both the true and false types
even though one is guaranteed to be thrown out. This is problematic
because it requires the compiler to do a lot more work then necessary.
It is especially dumb when introducing the conditionals to reduce the
number of cases being evaluated, as was much of the case in List.h.
2020-01-09 09:11:26 -07:00
Allison Vacanti
46b7155bdb Add 64-bit CUDA atomic store. 2020-01-08 10:58:51 -05:00
Allison Vacanti
539f6e5ad7 Port benchmarking framework to Google Benchmark. 2020-01-08 10:58:51 -05:00
Allison Vacanti
39d981bcf9 Shorten names returned by testing's TypeName utility.
Eg:

```
vtkm::Float32                                       -> F32
vtkm::Int64                                         -> I64
vtkm::Vec< vtkm::Float32, 3 >                       -> Vec3f_32
vtkm::Vec< vtkm::Pair< vtkm::Int32, vtkm::Float64 > -> Vec<Pair<I32, F64>>
```

This makes the benchmark names a lot shorter to keep rows tabular
results on
a single line.
2020-01-08 10:58:51 -05:00
Kenneth Moreland
60c57303da Fix name clash of template parameter and field 2020-01-07 07:01:35 -07:00
Kenneth Moreland
4a52a3f7a9 Shorter StorageTag for ArrayHandleZip 2020-01-07 07:01:34 -07:00
Kenneth Moreland
4a626b2e93 Shorter storage tag for ArrayHandleView 2020-01-07 07:01:13 -07:00
Kenneth Moreland
4c8c28d1f1 Shorter storage tag for ArrayHandleReverse
Also discovered that many C++ compilers have trouble giving warnings
for partial specialization of classes marked as deprecated. Fix
the problem by instead deprecating the items in the class.
2020-01-07 07:01:12 -07:00
Kenneth Moreland
bfd21dfae2 Declare StorageTags with VTKM_ALWAYS_EXPORT
This modifier is required on OSX for dynamic_cast to work properly
across libraries.
2020-01-07 07:01:11 -07:00
Kenneth Moreland
1ec716e5d2 Shorten storage tag for ArrayHandlePermutation 2020-01-07 07:01:10 -07:00
Kenneth Moreland
ca0ad1dc22 Shorten storage tag for ArrayHandleIndex 2020-01-07 07:01:10 -07:00
Kenneth Moreland
7bd5802dd8 Shorter storage tag for ArrayHandleGroupVecVariable 2020-01-07 07:01:09 -07:00
Kenneth Moreland
74df1b3857 Shorten storage tag for ArrayHandleGroupVec 2020-01-07 07:01:08 -07:00
Kenneth Moreland
1f5846b49e Shorten storage tag for ArrayHandleCounting 2020-01-07 07:01:07 -07:00
Kenneth Moreland
31898fd887 Shorten tag name for ArrayHandleConstant 2020-01-07 07:01:06 -07:00
Kenneth Moreland
b2f07511fb Shorten storage tags for ArrayHandleConcatenate 2020-01-07 07:01:05 -07:00
Kenneth Moreland
2688fc7d50 Shorten tag name for ArrayHandleCompositeVector 2020-01-07 07:01:05 -07:00
Kenneth Moreland
8516fa7ac6 Shorten tag name for ArrayHandleCartesianProduct 2020-01-07 07:01:04 -07:00
Kenneth Moreland
591d1ba264 Make ArrayHandleUniformPointCoordinates storage type shorter 2020-01-07 07:01:03 -07:00
Kenneth Moreland
944a3c4c14 Make ArrayHandleCast storage type shorter 2020-01-07 07:00:55 -07:00
Robert Maynard
870bd1d170 Removed unnecessary increment and decrement from ZFPDecode
These extra operations caused the pointer to go out of bound and
then back in, but some compilers (gcc 9) would detect and warn
that the pointer had gone out of bounds.
2020-01-01 10:08:35 -05:00
Robert Maynard
f9860b847e Correct warnings found by gcc-9 in vtkm::Particle 2020-01-01 08:46:40 -05:00
Allison Vacanti
07283f74c1 Merge topic 'binary_search_algorithms'
44c4f0838 Add vtkm/Algorithms.h header with device-friendly binary search algorithms.
6d4e37e95 Fix brigand for CUDA 10.2.
84eedc885 Make BinaryOperators/Predicates more flexible.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1920
2019-12-26 10:48:21 -05:00
Robert Maynard
83d4d4e495 ArrayPortalToIterators now compiles with GCC-4.X
The draft C++11 spec that GCC-4.X implemented against had some
defects that made implementing void_t<...> tricky.
2019-12-23 09:47:54 -05:00
Allison Vacanti
88bf38afe2 Add support for ArrayHandleDecorator resizing.
Fixes #428.
2019-12-20 17:03:36 -05:00
Allison Vacanti
5834c28521 Add cont/exec markup to ArrayHandleDecorator docs. 2019-12-20 16:18:09 -05:00
Allison Vacanti
5b1280600d Cleanup reference types when using declval.
When expanding variadic parameter packs in ArrayHandleDecorator
implementations, make sure that the types used are appropriate.
Since std::declval is used to test whether or not a method with
specific arguments exists, it is important that the reference types
are correct to ensure that the detection works as expected.

Portals are always passed to implementation functions as rvalue
references, and array handles are always passed as lvalue refs.
2019-12-20 16:17:30 -05:00
Allison Vacanti
44c4f0838f Add vtkm/Algorithms.h header with device-friendly binary search algorithms. 2019-12-20 12:35:10 -05:00
Allison Vacanti
6d4e37e95c Fix brigand for CUDA 10.2.
There were issues with brigand::all's implementation with the new
cuda compiler.
2019-12-18 15:51:59 -05:00
Allison Vacanti
84eedc8855 Make BinaryOperators/Predicates more flexible.
Allow the argument types to differ. This allows ArrayPortalValueReferences to be used.
2019-12-18 15:51:59 -05:00
Allison Vacanti
813f5a422f Fixup custom portal iterator logic.
The convenience functions `ArrayPortalToIteratorBegin()` and
`ArrayPortalToIteratorEnd()` wouldn't detect specializations of
`ArrayPortalToIterators<PortalType>` since the specializations aren't
visible when the `Begin`/`End` functions are declared.

Since the CUDA iterators rely on a specialization, the convenience
functions would not compile on CUDA.

Now, instead of specializing `ArrayPortalToIterators` to provide custom
iterators for a particular portal, the portal may advertise custom
iterators by defining `IteratorType`, `GetIteratorBegin()`, and
`GetIteratorEnd()`. `ArrayPortalToIterators` will detect such portals
and automatically switch to using the specialized portals.

This eliminates the need for the specializations to be visible to the
convenience functions and allows them to be usable on CUDA.
2019-12-17 15:39:51 -05:00
Allison Vacanti
4e13f7706c Fix markup on ArrayPortalStreaming. 2019-12-17 14:52:47 -05:00
Allison Vacanti
4805f08e1e Add host/device markup to IteratorFromArrayPortal. 2019-12-17 14:52:47 -05:00
Robert Maynard
8c96769e81 Merge topic 'aligned_union_check_handle_gcc_485'
b36846e4b UnitTestVariant uses VTKM_USING_GLIBCXX_4
cbf20ac3b Merge branch 'upstream-diy' into aligned_union_check_handle_gcc_485
ac1a23bee diy 2019-12-17 (bb86e1f7)
201e5c81d Add the gcc 4.8.5 release date to our VTKM_USING_GLIBCXX_4 check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1930
2019-12-17 12:52:04 -05:00
Robert Maynard
b36846e4ba UnitTestVariant uses VTKM_USING_GLIBCXX_4 2019-12-17 12:21:38 -05:00
Robert Maynard
cbf20ac3bb Merge branch 'upstream-diy' into aligned_union_check_handle_gcc_485
* upstream-diy:
  diy 2019-12-17 (bb86e1f7)
2019-12-17 10:19:43 -05:00
Robert Maynard
201e5c81d3 Add the gcc 4.8.5 release date to our VTKM_USING_GLIBCXX_4 check 2019-12-17 10:07:56 -05:00
Robert Maynard
07bb45e7a2 Merge topic 'timer_dont_init_devices_with_no_runtime_support'
64e3e8f34 VTK-m Timer now handles when devices fail at runtime

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1927
2019-12-17 09:13:56 -05:00
Sujin Philip
bdbf24d132 Merge topic 'peter-changes'
bf2290c9e Fixed an implicit conversion change warning.
18caed60e Fixed some of the compiler warning from CDash.
d7d7cdd5b Merges with upstream reformated version.
d6cbd8301 Merge with unformated previous state of the remote branch.
9a6dec8bc Refactored control side function call from a VTKM_EXEC function.
ca5f79056 Swapped x and y dimensions when reading in contour trees from text files.
da83076d7 Merge branch 'master' into peter-changes
01c49f139 Wrote some documentation for the CT Height Branch Decomposition code.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1899
2019-12-16 13:52:57 -05:00
Robert Maynard
bc148cc556 Merge topic 'update_check_for_aligned_union'
2e48d98d9 Merge branch 'upstream-diy' into update_check_for_aligned_union
bbd5db31b diy 2019-12-16 (e365b66a)
269261b95 Handle compiling against 4.X versions of libstdc++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1928
2019-12-16 11:14:15 -05:00
Robert Maynard
2e48d98d94 Merge branch 'upstream-diy' into update_check_for_aligned_union
* upstream-diy:
  diy 2019-12-16 (e365b66a)
2019-12-16 09:49:30 -05:00
Robert Maynard
269261b958 Handle compiling against 4.X versions of libstdc++
Fixes #447
This uses a more robust set of checks to determine if std::aligned_union
and std::is_trivially_copyable exist given the libstdc++ version value
2019-12-16 09:49:12 -05:00
Dave Pugmire
dd9dc19410 Merge topic 'pa_storage'
e4923823b Add comment for extra casts for compiler warnings.
98d4df79a compiler warnings.
a11bc1769 compiler warnings.
5646527b6 cleanup for LCS filter.
29c21cdbc Code cleanup. Update Lagranian filter to use vtkm::Particle
136aba429 Cleanup for streamsurface.
85fc73fc4 Updates for streamline/pathline filter.
33ba234d5 code cleanup
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1854
2019-12-15 21:48:35 -05:00
Dave Pugmire
e4923823bf Add comment for extra casts for compiler warnings. 2019-12-12 13:20:03 -07:00
Robert Maynard
6eddfc3d67 Merge topic 'improve_extract_structured_compile_overhead'
7b53a52e6 ExtractStructured now compiles quicker and with less compiler memory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1922
2019-12-12 11:36:37 -05:00
Robert Maynard
64e3e8f344 VTK-m Timer now handles when devices fail at runtime
A device can fail during startup of vtk-m or mid execution
due to issues such as OOM. Timer needs to be able to handle
these situations gracefully
2019-12-12 09:13:23 -05:00
Robert Maynard
7d47ac3c66 Merge topic 'A21fixes'
31cdaa4ee declared explicitly isSame within a VTKM_OPENMP_SHARED_CONST() construct
b275eab6c fixed indentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1926
2019-12-11 18:10:37 -05:00
Dave Pugmire
98d4df79a4 compiler warnings. 2019-12-11 15:36:23 -07:00
Dave Pugmire
a11bc1769d compiler warnings. 2019-12-11 13:58:59 -07:00