Commit Graph

5295 Commits

Author SHA1 Message Date
Robert Maynard
cf5ebfb16e Suppress warning about extension use, since all compilers support it 2020-01-14 11:18:22 -05:00
Robert Maynard
27739660b9 Add missing constructors/assignment operators
Having a custom assignment operator means that the compiler
isn't required to generate the implicit copy constructor.
This makes sure they are constructed.
2020-01-14 11:18:22 -05:00
Robert Maynard
123f8b01aa Mark virtual destructors as override where applicable 2020-01-13 15:54:33 -05:00
Robert Maynard
54118dfca0 Use noexcept instead of throw() as it was deprecated in c++11 2020-01-13 10:05:35 -05: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
Dave Pugmire
5646527b6b cleanup for LCS filter. 2019-12-11 13:32:40 -07:00
Silvio Rizzi
31cdaa4eeb declared explicitly isSame within a VTKM_OPENMP_SHARED_CONST() construct 2019-12-11 13:09:40 -06:00
Silvio Rizzi
b275eab6c4 fixed indentation 2019-12-11 13:09:23 -06:00
Dave Pugmire
29c21cdbc4 Code cleanup. Update Lagranian filter to use vtkm::Particle 2019-12-11 11:45:13 -07:00
Allison Vacanti
a28d2a3a06 Merge topic 'intel_fix'
b6b20f086 Use brigand integer sequences on icc.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1923
2019-12-11 13:11:02 -05:00
Dave Pugmire
136aba4297 Cleanup for streamsurface. 2019-12-11 10:13:42 -07:00
Dave Pugmire
85fc73fc4a Updates for streamline/pathline filter. 2019-12-11 10:01:47 -07:00
Kenneth Moreland
2fbcc78a60 Merge topic 'simple-list-template'
4659d69c7 Remove some commented out code
aec75ab1a Suppress CUDA warning about device calling host
851864d0b Work around with Visual Studio 2015 issue
452a2e1c9 Suppress warnings about CUDA host/device mismatch
4fdefe9f1 Suppress some deprecated warnings in visual studio
5cfc14482 Implement old ListTag features with new ListTag implementations
d5fe4046c Remove instances of ListTag in favor of List
92db37623 Convert uses of ListTagBase to List
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1918
2019-12-11 09:43:22 -05:00
Allison Vacanti
b6b20f086e Use brigand integer sequences on icc. 2019-12-11 09:26:15 -05:00
Robert Maynard
7b53a52e6a ExtractStructured now compiles quicker and with less compiler memory
Previously ExtractStructured filter would take ~45sec to compile
with gcc 9.2 and now takes ~15sec.
2019-12-11 08:59:42 -05:00
Kenneth Moreland
4659d69c72 Remove some commented out code 2019-12-10 15:29:46 -07:00
Kenneth Moreland
aec75ab1a2 Suppress CUDA warning about device calling host
The destructors of some control side objects (such as CellSet and
ArrayHandle) are defined. These destructors are obviously only compiled
for the control environment (i.e. for CUDA only for the host). However,
not all of the subclasses implemented their own destructors. In CUDA,
when a default destructor is used, it is compiled for both host and
device. This caused a problem as the superclass's destructor was only
compiled for the host and therefore caused a warning.

Fixed the problem by defining an empty destructor to any subclasses that
needed one.

It's weird that I ran into this problem while chaning the List TMP
class, but the solution seems fine.
2019-12-10 09:15:40 -07:00
dpugmire
ef2b97838c code cleanup. 2019-12-10 09:44:01 -05:00
dpugmire
81a655414b compiler warning. 2019-12-10 08:48:17 -05:00
Kenneth Moreland
851864d0b5 Work around with Visual Studio 2015 issue
Was getting the following error:

vtkm/List.h(284): error C2210: 'T' : pack expansions cannot be used as
arguments to non-packed parameters in alias templates

This is probably an issue with the compiler not resolving templated
aliases correctly.
2019-12-09 14:29:13 -07:00
Kenneth Moreland
452a2e1c9c Suppress warnings about CUDA host/device mismatch 2019-12-09 11:06:56 -05:00
Kenneth Moreland
4fdefe9f1c Suppress some deprecated warnings in visual studio 2019-12-09 07:45:40 -07:00