Commit Graph

5223 Commits

Author SHA1 Message Date
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
Dave Pugmire
d2cdbd66c0 Remove compiler warnings. Move functionality to Bitset class. 2019-10-09 13:31:45 -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
Allison Vacanti
56b4fa9a31 MSVC 2019 needs a different integer sequence impl, too. 2019-10-09 10:49:50 -04:00
Dave Pugmire
ddd4451102 fix compiler warnings. 2019-10-09 10:39:49 -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
fc0e5dfe82 temporal fixes. 2019-10-08 22:31:11 -04:00
Dave Pugmire
40cdc99202 Compile error fixes. 2019-10-08 13:53:35 -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
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
Sujin Philip
b0592ce4c8 Switch from VTK-c to LCL 2019-10-07 15:38:36 -04:00
Sujin Philip
f7dced892f Merge branch 'upstream-lcl' into update-vtkc-to-lcl
* upstream-lcl:
  lcl 2019-10-07 (49094fec)
2019-10-07 15:37:55 -04:00
Sujin Philip
d0c6d16123 Add update script for LCL 2019-10-07 15:37:34 -04:00
Allison Vacanti
1081be53bc Fix unused argument warning.
typeid doesn't use the object, just the type.
2019-10-07 13:48:45 -04:00
Kenneth Moreland
be03d1c2b5 Merge topic 'xcode-9-issues'
c0744dbb4 Fix compile error for Xcode 9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1880
2019-10-04 18:19:17 -04:00
Allison Vacanti
62ffa73cdd Workaround issue with older C++.
Error: https://open.cdash.org/viewBuildError.php?buildid=6143613
Defect: http://open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#253
2019-10-04 15:16:30 -04:00
Kenneth Moreland
c0744dbb49 Fix compile error for Xcode 9
The older Xcode 9 compiler has troubles with ArrayHandleDecorator that
are similar to those of earlier Microsoft and Cuda compilers.

Note that the logic behind the changed compiler check has a lot of
guesswork involved. I noticed this problem on a laptop with Xcode 9
installed. However, even though Xcode uses the clang compiler, it
notoriously does not return the actual clang version. Instead, it
returns some toolchain version that has nothing to do with it. I'm
pretty sure Xcode 9 is using clang version 4 under the covers, but
__clang_major__ reports 9. Oddly, Xcode 10 reports __clang_major__ as 8,
so that's not too much help. So instead, we check for
__apple_build_version__, which returns the Xcode version (sort of) and
that seems a reasonable comparison.

Although I have not tried it, I'm willing to bet that the older clang
outside of Xcode will also have issues. Here is where the real guesswork
takes place since I don't have handy compilers to try. Like I said, I
think the internet claims that Xcode 9 is using clang 4, so also add to
the check any compiler that reports itself clang 4 or below.
2019-10-04 11:32:07 -06:00
Dave Pugmire
9e486e075b Fix for smallStep in integrator. 2019-10-04 08:59:28 -04:00
Robert Maynard
308552bd62 Merge topic 'improve_connectivity_worklet_perf'
973878b8b Improve the performance of the Image and Graph Connectivity algorithms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !1873
2019-10-02 11:41:57 -04:00
Kenneth Moreland
e9c5bcb7d1 Merge topic 'device-log-level'
8c5b76f76 Remove invalid device argument for unit tests
2ca37707e Update logging for enabled devices

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1877
2019-10-02 11:30:04 -04:00
Robert Maynard
973878b8ba Improve the performance of the Image and Graph Connectivity algorithms
The collection of connectivity algorithms had a couple of inefficiencies.
By moving to using WorkId we can remove a couple of arrays of the same size
as the input domain. In addition by moving to using atomics we can remove
an bool output array with a size equivalent to the input domain and
a call to reduce.
2019-10-02 08:25:10 -04:00
Robert Maynard
46212490b1 Merge topic 'CellSetConnectivity_filter_correct_inheritance'
25fb666df CellSetConnectivity now inherits from FilterDataSet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !1870
2019-10-01 15:44:05 -04:00
Dave Pugmire
ec89b43c6c update unit tests 2019-10-01 13:56:08 -04:00
Dave Pugmire
6e9ab1ce5d Unit tests for AOS particle advection. 2019-10-01 13:33:12 -04:00
Allison Vacanti
43e2b5498d Merge topic '408_CSExplicit_Refactor'
3886b7dfb Refactor CellSetExplicit to remove NumIndices.
b2daec0e3 Stick with brigand sequences for CUDA device passes.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1874
2019-10-01 09:43:33 -04:00
Kenneth Moreland
2ca37707e0 Update logging for enabled devices
The previous implementation of `RuntimeDeviceTracker` occasionally
outputted a log at level `Info` about devices being enabled or disabled.
The problem was that the information given was inconsistent (so it would
sometimes announce one change but not announce a different corrective
change). This could cause weird confusions. For example, when you used a
`ColorTable`, it would use a `ScopedRuntimeDeviceTracker` to temporarily
force the device to `Serial`. The log will just tell you that the device
was forced to `Serial` but never tell you that the devices where
restored to include actual parallel devices.

This change helps correct these with the following changes:

* Added a new log level, `DevicesEnabled`, that is a higher level than
  `Info`. All logging from `RuntimeDeviceTracker` goes to this log
  level.
* Change the logging output of `RuntimeDeviceTracker` to output a list
  of currently enabled devices whenever a change happens. That way you
  don't have to guess what happend for each change.
* Change `ScopedRuntimeDeviceTracker` to log whenever the scope is
  entered or left.
2019-09-30 14:07:24 -06:00
Allison Vacanti
3886b7dfb8 Refactor CellSetExplicit to remove NumIndices.
See #408 for details.
2019-09-30 12:27:13 -04:00
Robert Maynard
0ca6023650 Merge topic 'mask_supported_by_invoker'
445e4d818 vtkm::cont::Invoker supports both Masks and Scatter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1876
2019-09-30 12:03:31 -04:00
Robert Maynard
25fb666df9 CellSetConnectivity now inherits from FilterDataSet
Fixes #409
2019-09-30 08:50:40 -04:00
Hank Childs
9b46a0f026 fix cast warning 2019-09-29 12:03:15 -07:00
Hank Childs
8a175e0455 fix warning about cast 2019-09-29 11:34:39 -07:00
Robert Maynard
445e4d8186 vtkm::cont::Invoker supports both Masks and Scatter
Fixes #420
2019-09-27 17:11:18 -04:00
Allison Vacanti
b2daec0e35 Stick with brigand sequences for CUDA device passes.
The tao ones won't compile otherwise. This should be okay, since these
are all just compile time helpers on host-only functions -- they won't
generate different sized data structures etc if we mix them in the
same build.
2019-09-27 17:02:19 -04:00
Hank Childs
440c15ea97 explicitly add header; addresses nasty issue due to robot autoformat 2019-09-27 13:23:20 -07:00
Hank Childs
c3fd04c498 remove trailing whitespace 2019-09-27 12:42:10 -07:00
Hank Childs
3abfea0532 remove unneeded comments 2019-09-27 12:36:53 -07:00
Hank Childs
dade683eab Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into relative-size-foundations 2019-09-27 12:34:26 -07:00
Hank Childs
dd57d20231 incorporate Steven's RSS fix 2019-09-27 07:57:20 -07:00
Hank Childs
1e4e60f5ab Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into relative-size-foundations 2019-09-27 07:30:46 -07:00
Kenneth Moreland
476800fe48 Have MeshQuality use the superclass' SetOutputFieldName
Previously MeshQuality defined its own SetOutputName method which broke
convention as was confusing. Deleted the output name defined in
MeshQuality and instead use the one defined in the superclass.
2019-09-26 19:28:13 -06:00
Kenneth Moreland
216335ab41 Have MeshQuality inherit from FilterField instead of FilterCell
FilterCell is a depricated type and will be removed at some point. It
serves no purpose over FilterField.
2019-09-26 19:23:28 -06:00
Hank Childs
38c00e0571 incorporate Steven changes 2019-09-26 17:20:01 -07:00
Hank Childs
8a916ef546 fix mistake with volume 2019-09-25 16:52:59 -07:00
Hank Childs
9084b6dcbe infrastructure for rss 2019-09-25 16:46:39 -07:00
Kenneth Moreland
82a58c2f0a Fix error with whitespace at end of file
The VTK file reader caused an error to be thrown when reading a file
that had a METADATA section at the end of the file. The problem was that
the METADATA section had some whitespace after its last line (which is
probably typical). This caused an eof check to pass and then a
subsequent search for a token to fail.

The solution was to eat the whitespace after the METADATA section to get
the reader at the next token or in eof condition if it is at the end of
the file.
2019-09-25 16:20:20 -06:00
Brad King
9a906e4cbf Merge topic 'use-vtkc'
e08d862f9 Use Light-Weight Cell Library
e56b34fc9 Merge branch 'upstream-vtkc' into use-vtkc
e909edd61 vtkc 2019-09-24 (cdc72582)
2a6aadc69 Add update file for VTK-c

Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1852
2019-09-25 09:21:00 -04:00
Sujin Philip
e08d862f94 Use Light-Weight Cell Library 2019-09-24 21:22:10 -04:00
Sujin Philip
e56b34fc98 Merge branch 'upstream-vtkc' into use-vtkc
* upstream-vtkc:
  vtkc 2019-09-24 (cdc72582)
2019-09-24 21:21:40 -04:00
Hank Childs
e106dc6bff changes from peer review 2019-09-24 18:12:52 -07:00
Hank Childs
f4229c2e9d change variable half to be hhalf to prevent collision with NVIDIA global var 2019-09-23 23:35:03 -07:00
Hank Childs
c75fdeef6a massage float/double cast issue 2019-09-23 23:26:12 -07:00
Hank Childs
fcc169fdf0 finish copying over changes from failed firs git 2019-09-23 22:30:49 -07:00
Hank Childs
8af25aca48 move cellmetrics to worklet 2019-09-23 22:27:12 -07:00
Sujin Philip
2a6aadc691 Add update file for VTK-c 2019-09-21 16:30:39 -04:00
Matt Larsen
8edfd8eba8 using vtkm aligned union for all intel compilers 2019-09-21 12:13:48 -07:00
Kenneth Moreland
2103d61432 Merge topic 'fix-map-field-cast-and-call'
40ad32569 Fix policy use in FilterDataSet::MapFieldOntoOutput

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1859
2019-09-19 21:33:22 -04:00
Robert Maynard
99cbbf2ff2 Correct a regression in ArrayHandleDecorator with VisualStudio 2017 2019-09-19 18:35:20 -04:00
Kenneth Moreland
40ad325699 Fix policy use in FilterDataSet::MapFieldOntoOutput
In FilterDataSet::MapFieldOntoOutput, it was getting each field to map
using the traits reserved for the active field. However, when mapping a
field outside of the DoExecute, we want to consider a broader set of
types.
2019-09-19 10:59:19 -05:00
Robert Maynard
e93ce607fa Increase VecTraits GCC workaround to be for all GCC 4 and 5 versions 2019-09-19 11:54:44 -04:00
Robert Maynard
72739144f1 Merge topic 'correct_gcc48_compiler_crashes'
a46a83cc2 GCC 4.8 now correctly compiles ArrayHandleDecorator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1857
2019-09-19 11:41:15 -04:00
Robert Maynard
a46a83cc2a GCC 4.8 now correctly compiles ArrayHandleDecorator 2019-09-19 09:10:00 -04:00
Roxana Bujack
3b2fb5c8ab Merge topic 'realRadiusFix'
9c41daa2b change input to spacing and radius to make it more intuitive
b991d3c6b merge style differences
7d0ee16fd add the real double radius for scaling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1825
2019-09-18 16:36:43 -04:00
Robert Maynard
4faf1bf0b8 Merge topic 'build_filter_lib'
8520d70e0 Compile most frequently used VTK-m filters into a library
d1d61b9eb vtkm::filter::Filter passes filter policies by value
4ff021b08 Improve VTK-m compilation times by compiling more keys<T> types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1836
2019-09-18 15:01:39 -04:00
Dave Pugmire
28a73494b1 Added a version that directly uses ArrayHandle<vtkm::Particle> 2019-09-18 14:08:26 -04:00
Robert Maynard
7533f90d9b Merge topic 'improve_vtkm_sources'
3ef234ef1 Move Oscillator to the sources directory
5c69f1bae Update Wavelet to use WorkletVisitPointsWithCells
62357dea0 Tangle source has better runtime performance
eb3d86654 Add a test explicitly for vtkm::source::Tangle
63f243809 Add vtkm::source::Wavelet as a new source
257dc1f84 Sources have a more consistent API and internal style.
2d455bbef Document what the Tangle source will generate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1850
2019-09-18 14:05:11 -04:00
Allison Vacanti
9775e223a6 Merge topic 'portal_set_cleanup'
7e01edb01 Ensure that Portal::Set isn't defined for read-only portals.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1848
2019-09-18 12:45:24 -04:00
Hank
0eb767dc5f Merge topic 'jacobian-cellmetric'
f9d02b374 remove file that should not have been checked in
d59917473 rename half variable to avoid shadowing CUDA global
954e25874 fix problem with filename
91f7e763b fix copyright, warnings, cmake for Jacobian-cellmetric branch
e040ea05e formatting suggestions from KMorel
f4edb6a8e remove trailing whitespace
ccedb5aac Jacobian working, unit test working
560aa1f67 add support for outputname
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1855
2019-09-18 12:08:39 -04:00
Robert Maynard
8520d70e0d Compile most frequently used VTK-m filters into a library
VTK-m now provides the following filters with the default policy
as part of the vtkm_filter library:
  - CellAverage
  - CleanGrid
  - ClipWithField
  - ClipWithImplicitFunction
  - Contour
  - ExternalFaces
  - ExtractStructured
  - PointAverage
  - Threshold
  - VectorMagnitude

By building these as a library we hope to provide faster compile
times for consumers of VTK-m when using common configurations.
2019-09-18 12:06:13 -04:00
Hank Childs
f9d02b3742 remove file that should not have been checked in 2019-09-18 08:32:21 -07:00
Hank Childs
d59917473d rename half variable to avoid shadowing CUDA global 2019-09-17 23:12:23 -07:00
Hank Childs
954e258745 fix problem with filename 2019-09-17 21:31:50 -07:00
Hank Childs
91f7e763bc fix copyright, warnings, cmake for Jacobian-cellmetric branch 2019-09-17 21:15:41 -07:00
Hank Childs
e040ea05e1 formatting suggestions from KMorel 2019-09-17 20:53:42 -07:00
Hank Childs
f4edb6a8ed remove trailing whitespace 2019-09-17 14:46:51 -07:00
Hank Childs
ccedb5aac1 Jacobian working, unit test working 2019-09-17 13:41:53 -07:00
Dave Pugmire
0c70950596 particle advection storage using array of structs. 2019-09-17 16:24:44 -04:00
Robert Maynard
d1d61b9ebc vtkm::filter::Filter passes filter policies by value
It now follows the same pattern that all filter implementations use
2019-09-17 13:50:58 -04:00
Hank Childs
560aa1f673 add support for outputname 2019-09-16 20:48:55 -07:00
Hank Childs
ed15f684ea overhaul workings of mesh quality filter. Unit test a little rocky right now, but heading in the right direction 2019-09-16 17:19:18 -07:00
Robert Maynard
3ef234ef13 Move Oscillator to the sources directory 2019-09-16 12:36:01 -04:00
Robert Maynard
4ff021b086 Improve VTK-m compilation times by compiling more keys<T> types
We have split the compilation of the different `vtkm::worklet:Keys`
types over multiple implementation units to improve parallel build
performance.
2019-09-13 16:17:11 -04:00
Robert Maynard
5c69f1bae9 Update Wavelet to use WorkletVisitPointsWithCells
The Wavelet worklet doesn't need a custom scheduler but
can use WorkletVisitPointsWithCells
2019-09-13 16:11:14 -04:00
Robert Maynard
62357dea0f Tangle source has better runtime performance
By leveraging WorkletVisitPointsWithCells we can get already
pre-computed i,j,k locations helping with performance

In addition we have made the algorithm easier to read by
leveraging VTK-m Vec types.
2019-09-13 16:11:14 -04:00
Robert Maynard
eb3d866548 Add a test explicitly for vtkm::source::Tangle 2019-09-13 16:11:14 -04:00
Robert Maynard
63f2438098 Add vtkm::source::Wavelet as a new source
The Wavelet source creates a dataset similar to VTK's vtkRTAnalyticSource.
2019-09-13 16:11:14 -04:00
Robert Maynard
5c56ff945f Label tests which exercise a given Device Adapter
This allows developers an easy way to run all OpenMP tests
2019-09-13 15:52:40 -04:00
Robert Maynard
cf6c85735a Merge topic 'ghost_cell_classify_dont_timeout'
284929fd6 GhostCellClassify uses smaller dataset size so it doesn't timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1847
2019-09-13 15:05:07 -04:00
Robert Maynard
dcf614b34d Merge topic 'ArrayHandleCartesianProduct_works_with_implicit_array_handles'
93e638ce4 ArrayHandleCartesianProduct can be used with implicit handles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1842
2019-09-13 15:04:12 -04:00
Allison Vacanti
7e01edb017 Ensure that Portal::Set isn't defined for read-only portals.
This patch removes (or conditionally removes) the Set method from
portals that are read-only so that IsWritableArrayHandle will work as
expected. The ArrayPortal doxygen has been updated to reflect this.

The remaining exceptions are `ArrayPortalVirtual` and
`ArrayPortalMultiplexer`, since their mutability cannot be determined at
compile time.
2019-09-13 13:00:24 -04:00
nadavi
f505f2ae75 update Logging file documentation to reference new default vtk-m logging behavior 2019-09-13 10:15:37 -06:00
Robert Maynard
284929fd6a GhostCellClassify uses smaller dataset size so it doesn't timeout
The really large dataset size caused timeouts for the serial
test when built in debug mode.
2019-09-13 11:39:09 -04:00
Robert Maynard
23b73103e0 Merge topic 'improve_doxygen'
485df972f Update the documentation on the different VTK-m namespaces
d29f5ba37 Update doxyfile to suppress documenting unnecessary components.
18b09791e All export macros use the `VTK_M_*_EXPORT` pattern
f2a3ecd01 Don't generate doxygen for serialization helpers
fd4bcd809 Move PolicyExtrude into the correct vtk-m namespace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1843
2019-09-13 10:28:27 -04:00
Robert Maynard
93e638ce4b ArrayHandleCartesianProduct can be used with implicit handles
Previously it presumed that all the underlying Portals supported
a `Set` method.
2019-09-13 10:26:32 -04:00