Commit Graph

6873 Commits

Author SHA1 Message Date
Petar Hristov
18caed60e3 Fixed some of the compiler warning from CDash. 2019-12-05 13:50:44 +00:00
peter
d7d7cdd5b1 Merges with upstream reformated version. 2019-11-27 15:39:27 +00:00
peter
d6cbd83012 Merge with unformated previous state of the remote branch. 2019-11-21 10:43:45 +00:00
peter
9a6dec8bc4 Refactored control side function call from a VTKM_EXEC function. 2019-11-21 10:01:46 +00:00
peter
ca5f79056c Swapped x and y dimensions when reading in contour trees from text files. 2019-11-20 13:17:46 +00:00
peter
da83076d7f Merge branch 'master' into peter-changes 2019-10-30 09:36:53 +00:00
Kenneth Moreland
291f3527b1 Merge topic 'variant-trivial-copy'
7518d0675 Try to fix uninitialized anonymous variable warning
5b18ffd77 Register Variant as trivially copyable if possible
16305bd83 Add tests of ArrayHandleMultiplexer on multiple devices

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1898
2019-10-29 11:04:48 -04:00
Kenneth Moreland
7518d0675c Try to fix uninitialized anonymous variable warning
The code from the previous commit was causing one of the dashboards,
which is using gcc-7, to produce the following warning:

In file included from ../testing/UnitTestVariant.cxx:11:0:
../Variant.h: In function 'void {anonymous}::TestCopyDestroy()':
../Variant.h:269:5: warning: '<anonymous>' may be used uninitialized in this function [-Wmaybe-uninitialized]
     this->Storage = std::move(rhs.Storage);
     ^~~~

At best, this warning is not helpful as it does not seem to point to
anything that could be used uninitialized. At worst, it might be a
compiler bug. A Google search finds a few similar bugs although none I
can assert with any confidence of this issue. However, many reported
bugs and issues point to the use of anonymous namespaces. So, I'm going
to attempt to fix the problem by removing anonymous namespaces.
Hopefully it will fix the warning or at least point me to something
concrete that I can fix.
2019-10-27 07:34:06 -06:00
Kenneth Moreland
5b18ffd770 Register Variant as trivially copyable if possible
The Variant template can hold any type. If it is holding a type that is
non-copyable, then it has to make sure that appropriate constructors,
copiers, movers, and destructors are called.

Previously, these were called even the Variant was holding a trivially
copyable class because no harm no foul. If you were holding a trivially
copyable class and did a memcpy, that work work, which should make it
possible to copy between host and device, right?

In theory yes, but in practice no. The problem is that Cuda is
outsmarting the code. It is checking that Variant is not trivially-
copyable by C++ semantics and refusing to push it.

So, change Variant to check to see if all its supported classes are
trivially copyable. If they are, then it use the default constructors,
destructors, movers, and copiers so that C++ recognizes it as trivially
copyable.
2019-10-26 22:53:43 -06:00
Kenneth Moreland
16305bd837 Add tests of ArrayHandleMultiplexer on multiple devices 2019-10-26 13:40:42 -06:00
Sujin Philip
4bc67045f6 Merge topic 'fix-UnitTestError'
5ca9a4bd5 Fix UnitTestError

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1897
2019-10-21 11:32:40 -04:00
Sujin Philip
5ca9a4bd5e Fix UnitTestError
The previous changes were incorrect and did not fix the problem.
2019-10-21 10:08:23 -04:00
Sujin Philip
5c13198407 Merge topic 'fix-dashboard-issues'
79f7f8275 Fix UnitTestError failure
901711bff Fix test failure due to floating point issues

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1896
2019-10-17 17:32:32 -04:00
Sujin Philip
79f7f82751 Fix UnitTestError failure
Compiler optimization may remove recursion and other function calls so we
cannot rely on the number of stack frames to be consistent.
2019-10-17 17:30:40 -04:00
Sujin Philip
901711bff4 Fix test failure due to floating point issues
Floating point precision issues are causing the Reduce algorithm of the OpenMP
backend to produce result that is off by more than 0.001.
2019-10-17 17:30:32 -04:00
Robert Maynard
64ad158124 Merge topic 'improve_moments_perf'
0fccc5f2c improve moments algorithm performance

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1895
2019-10-17 16:20:55 -04:00
Robert Maynard
0fccc5f2c4 improve moments algorithm performance 2019-10-17 11:51:05 -04:00
Robert Maynard
550dbdf3e8 Merge topic 'document_how_to_do_a_release'
552d47349 Initial documentation on how to cut a VTK-m release

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1894
2019-10-17 11:12:29 -04:00
Robert Maynard
552d473496 Initial documentation on how to cut a VTK-m release 2019-10-17 09:16:57 -04:00
Robert Maynard
c086acb0c8 Merge topic 'release_1.5.0'
f66d980d9 1.5.0 is our 6th official release of VTK-m.
3c54de5fd Add release notes for v1.5.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1893
2019-10-15 13:53:06 -04:00
Robert Maynard
f66d980d9b 1.5.0 is our 6th official release of VTK-m.
The major changes to VTK-m from 1.5-1.0 can be found in:
  docs/changelog/1.5/release-notes.md
v1.5.0
2019-10-15 13:46:35 -04:00
Robert Maynard
3c54de5fdb Add release notes for v1.5.0 2019-10-15 13:40:46 -04:00
Kenneth Moreland
d3d3e441d7 Merge topic 'cell-metrix-missing-include'
677962f93 Add Matrix.h to cellmetrics include

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Hank <hank@uoregon.edu>
Merge-request: !1892
2019-10-14 17:01:32 -04:00
Robert Maynard
698df3353b Merge topic 'image_median_filters'
d47f7aaa2 Add an ImageMedian filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1890
2019-10-14 16:21:16 -04:00
Robert Maynard
d47f7aaa29 Add an ImageMedian filter 2019-10-14 16:09:44 -04:00
Robert Maynard
23f55ad0ef Merge topic 'algorithm-fill-fixes'
64dede748 Fix Compilation bug with Fill method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1889
2019-10-14 11:49:23 -04:00
Dave Pugmire
4dfd72651c Merge topic 'maskSelectOptimization'
665f323db optimization for mask select for all masks active.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1891
2019-10-11 15:59:38 -04:00
Kenneth Moreland
677962f939 Add Matrix.h to cellmetrics include
This file was using the Matrix class but not including Matrix.h. When I
tried to use the MeshQuality filter in an example that did not include
Matrix.h on its own, I got a compile error.
2019-10-11 00:08:04 -04:00
Dave Pugmire
665f323db0 optimization for mask select for all masks active. 2019-10-10 16:56:26 -04:00
Sujin Philip
48927c6da3 Merge topic 'fix-lcl-dashboard'
0bb8cbf42 Fix CellLocatorUniformBins test
169049143 Merge branch 'upstream-lcl' into fix-lcl-dashboard
e7cf79a93 lcl 2019-10-09 (d7604cbf)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1888
2019-10-10 08:32:29 -04:00
nadavi
64dede7486 Fix Compilation bug with Fill method 2019-10-09 16:07:43 -06:00
Robert Maynard
1de5774d57 Merge topic 'just_infer_execution_signature'
cf2d62fb9 Remove unneeded ExecutionSignatures
c3f0060cc ExecutionSignatures are now optional for simple worklets
1b08521fa Merge branch 'upstream-taotuple'
c6d309566 taotuple 2019-10-08 (0d1e4dfd)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1882
2019-10-09 15:44:36 -04:00
Robert Maynard
cf2d62fb90 Remove unneeded ExecutionSignatures 2019-10-09 14:56:07 -04:00
Sujin Philip
0bb8cbf420 Fix CellLocatorUniformBins test 2019-10-09 13:55:55 -04:00
Allison Vacanti
c68919fcc9 Merge topic 'msvc2019_intseq_fix'
56b4fa9a3 MSVC 2019 needs a different integer sequence impl, too.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1887
2019-10-09 11:12:08 -04:00
Sujin Philip
169049143c Merge branch 'upstream-lcl' into fix-lcl-dashboard
* upstream-lcl:
  lcl 2019-10-09 (d7604cbf)
2019-10-09 11:05:19 -04:00
Lightweight Cell Library Upstream
e7cf79a933 lcl 2019-10-09 (d7604cbf)
Code extracted from:

    https://gitlab.kitware.com/vtk/lcl.git

at commit d7604cbf4a7776a937f6a176e112de0549dd0a91 (master).
2019-10-09 11:05:19 -04:00
Allison Vacanti
56b4fa9a31 MSVC 2019 needs a different integer sequence impl, too. 2019-10-09 10:49:50 -04:00
Dave Pugmire
eb97223ebe Merge topic 'fix_smallStep_integrator'
c41bf99b8 Adjust tolerance
2554de785 Fix tolerance for unittest.
9e486e075 Fix for smallStep in integrator.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1879
2019-10-09 10:26:15 -04:00
Dave Pugmire
726cffbabb Merge topic 'deviceArg_particleAdvection_example'
e2ae2d74a Print optional agruments in usage information.
05a37b88b Add device options to particle advection example.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1885
2019-10-08 13:06:28 -04:00
Dave Pugmire
c41bf99b8a Adjust tolerance 2019-10-08 13:01:31 -04:00
Dave Pugmire
2554de7858 Fix tolerance for unittest. 2019-10-08 12:48:05 -04:00
Brad King
16184e360f Merge topic 'update-vtkc-to-lcl'
b0592ce4 Switch from VTK-c to LCL
f7dced89 Merge branch 'upstream-lcl' into update-vtkc-to-lcl
0582b710 lcl 2019-10-07 (49094fec)
d0c6d161 Add update script for LCL

Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1884
2019-10-08 11:46:30 -04:00
Robert Maynard
c3f0060cc5 ExecutionSignatures are now optional for simple worklets
If a worklet doesn't explicitly state an ExecutionSignature, VTK-m
assumes the worklet has no return value, and each ControlSignature
argument is passed to the worklet in the same order.

For example if we had this worklet:
```cxx
struct DotProduct : public vtkm::worklet::WorkletMapField
{
  using ControlSignature = void(FieldIn, FieldIn, FieldOut);
  using ExecutionSignature = void(_1, _2, _3);

  template <typename T, vtkm::IdComponent Size>
  VTKM_EXEC void operator()(const vtkm::Vec<T, Size>& v1,
                            const vtkm::Vec<T, Size>& v2,
                            T& outValue) const
  {
    outValue = vtkm::Dot(v1, v2);
  }
};
```

It can be simplified to be:

```cxx
struct DotProduct : public vtkm::worklet::WorkletMapField
{
  using ControlSignature = void(FieldIn, FieldIn, FieldOut);

  template <typename T, vtkm::IdComponent Size>
  VTKM_EXEC void operator()(const vtkm::Vec<T, Size>& v1,
                            const vtkm::Vec<T, Size>& v2,
                            T& outValue) const
  {
    outValue = vtkm::Dot(v1, v2);
  }
};
2019-10-08 11:14:11 -04:00
Robert Maynard
1b08521fab Merge branch 'upstream-taotuple'
* upstream-taotuple:
  taotuple 2019-10-08 (0d1e4dfd)
2019-10-08 11:13:51 -04:00
TaoCpp Tuple Upstream
c6d3095666 taotuple 2019-10-08 (0d1e4dfd)
Code extracted from:

    https://gitlab.kitware.com/third-party/taotuple.git

at commit 0d1e4dfdbfd8acd9694191faf7dbb499d18b39df (for/vtk-m).
2019-10-08 11:13:51 -04:00
Robert Maynard
c6442a1db3 Merge topic 'all_filters_include_hxx_file'
0e9253289 VTK-m filters now have a consistent set of header guards

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1886
2019-10-08 11:08:47 -04:00
Robert Maynard
0e9253289f VTK-m filters now have a consistent set of header guards 2019-10-08 10:39:59 -04:00
Dave Pugmire
e2ae2d74af Print optional agruments in usage information. 2019-10-08 10:22:29 -04:00
Dave Pugmire
05a37b88b4 Add device options to particle advection example. 2019-10-07 16:49:13 -04:00