Commit Graph

1641 Commits

Author SHA1 Message Date
Dave Pugmire
d2cdbd66c0 Remove compiler warnings. Move functionality to Bitset class. 2019-10-09 13:31:45 -04:00
Dave Pugmire
ddd4451102 fix compiler warnings. 2019-10-09 10:39:49 -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
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
Dave Pugmire
28a73494b1 Added a version that directly uses ArrayHandle<vtkm::Particle> 2019-09-18 14:08:26 -04:00
Dave Pugmire
0c70950596 particle advection storage using array of structs. 2019-09-17 16:24:44 -04:00
Allison Vacanti
e110de0486 Merge topic 'oliver_parallel'
627cdc99b Fix host/device flags.
7148ab342 Fix type conversion warning when `size_t` differs from `vtkm::Id`.
1d9f6b37c Add support for boundary augmentation for MPI optimization
2a1e1dcfd Parallel Contour Tree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1737
2019-09-13 09:58:24 -04:00
Allison Vacanti
627cdc99b7 Fix host/device flags.
ArrayHandles don't exist in the execution environment, and functions
that use them must be marked `VTKM_CONT`.
2019-09-12 14:54:44 -04:00
Allison Vacanti
7148ab3425 Fix type conversion warning when size_t differs from vtkm::Id. 2019-09-12 13:56:43 -04:00
Oliver Ruebel
1d9f6b37cf Add support for boundary augmentation for MPI optimization 2019-09-12 12:26:01 -04:00
Sujin Philip
2a1e1dcfd9 Parallel Contour Tree
This work updates Gunther Contour tree work to be parallel.
With contributions from: @oruebel, @dcamp and @sujin.philip.
2019-09-12 12:17:37 -04:00
Li-Ta Lo
d8cbc990f5 Merge topic 'tangle_source'
05b679250 Merge branch 'master' into tangle_source
a6c044df9 added changelog
0d818701c put VTKM_SOURCE_EXPORT in .cxx
e0aae7d86 remove EXPORT from .cxx
4d7de67ee use VTKM_SOURCE_EXPORT
cd49136d5 add copyright notice, add installation of header
0c094a568 used the Tangle source
aeb8877a9 add newline at EOF, minor change based review
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1804
2019-09-12 11:18:52 -04:00
Dave Pugmire
c98a06071a Merge topic 'particleAdvectionFloatType'
58a587a7f Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType
a83629e95 compile error.
52fe3c403 compile warnings.
5af465efd Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType
bd9bc91ac Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType
c057f6b83 Merge branch 'particleAdvectionFloatType' of gitlab.kitware.com:dpugmire/vtk-m into particleAdvectionFloatType
9ca4cc2d0 type cleanup.
dff384572 Use vtkm::FloatDefault for particle advection code.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1827
2019-09-11 14:59:56 -04:00
Li-Ta Lo
05b6792500 Merge branch 'master' into tangle_source 2019-09-11 12:06:58 -06:00
Dave Pugmire
58a587a7f6 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType 2019-09-11 10:38:22 -04:00
Robert Maynard
8c3a8da99b GhostCellClassify now more efficient as it uses WorkletPointNeighborhood
By using the dual of the cellset we can quickly compute the GhostCells
of structured data using WorkletPointNeighborhood boundary condition
object

Using a 1024x1024x512 test grid we see the following perf:

Master Serial : 5.658144 sec
This MR Serial: 0.519684 sec

Master OpenMP : 0.532256 sec
This MR OpenMP: 0.080604 sec
2019-09-11 10:06:45 -04:00
Dave Pugmire
5af465efdb Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType 2019-09-11 07:32:31 -04:00
Kenneth Moreland
b95b7d6109 Merge topic 'get-cast-array-from-field'
630768600 Suppress CUDA warnings
5fa02057a Rely less on overload resolution for ApplyPolicy
26d7bfd0d Force ArrayPolicy of a specific type to the right template
6c136b978 Remove vtkm::BaseComponent
07c59fcf7 Update filters with secondary fields to use new policy method
3039a18ba Add ability to get an array from a Field for a particular type
2b6e6da6c Add ability to get VariantArrayHandle as an ArrayHandleMultiplexer
6323d6803 Add recursive component queries to VecTraits

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1829
2019-09-10 12:05:13 -04:00
Allison Vacanti
ea0bbfeefc Increase CUDA stack size for ParticleAdvection worklets.
Sometimes the CUDA runtime would not allocate sufficient stack
space for the particle advection code to run. This issue was exposed by
!1737 -- for some reason, once those changes to unrelated filters/worklets
are added to VTK, CUDA allocates less stack and the following tests would
fail:

UnitTestLagrangianFilterCUDA
UnitTestLagrangianStructuresFilterCUDA
UnitTestStreamlineFilterCUDA
UnitTestStreamSurfaceFilterCUDA

These were fixed by increasing the stack size in the particle advection
worklet Run(...) methods.

An RAII helper has been added that will restore the previous stack size
in case an exception is thrown, and the KDTree code has been updated
to use this helper when it adjusts the CUDA stack allocation.
2019-09-09 16:06:23 -04:00
Kenneth Moreland
6c136b978e Remove vtkm::BaseComponent
This functionality has been superseded by VecTraits::BaseComponentType.
The new functionality also supports replacing the BaseComponentType.
2019-09-09 13:01:03 -06:00
Kenneth Moreland
07c59fcf72 Update filters with secondary fields to use new policy method
Rather than do a CastAndCall on all possible field types when calling a
worklet with two fields (where they all typically get cast to the same
type as the primary field), use the new mechanism with
ArrayHandleMultiplexer to create one code path.

Also update the ApplyPolicy to accept the Field type, which is used to
determine any additional storage types to support.
2019-09-09 08:19:16 -06:00
Dave Pugmire
bd9bc91ac8 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType 2019-09-09 07:54:02 -04:00
Abhishek Yenpure
7c94c82d32 Merge topic 'lcs_flowamp_fix'
8ece545dc Fixing compiler warning
c9bc005f8 Addressing Ken's review suggestions
1925e356b Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into lcs_flowamp_fix
45eeab4df Fix LCS filter to use flowmaps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1809
2019-09-08 10:50:26 -04:00
Abhishek Yenpure
c9bc005f83 Addressing Ken's review suggestions
1. Removing `cswap` which caused confusion in understanding stuff.
2. Fixing 64 bit coords issue for Lagrangian Strucutres Test
2019-09-06 12:06:15 -06:00
Dave Pugmire
9ca4cc2d01 type cleanup. 2019-09-06 08:14:55 -04:00
Dave Pugmire
dff3845725 Use vtkm::FloatDefault for particle advection code. 2019-09-05 16:57:37 -04:00
Abhishek Yenpure
1925e356b2 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into lcs_flowamp_fix 2019-09-05 14:21:19 -06:00
Abhishek Yenpure
1df07f7395 Adding testing paths for Curvilinear case
Adding testing paths for curvilinear case

Changing names of interpolation helpers to be consistent

Rectifying interpolation helper error messages to reflect correct
location and types of failures
2019-09-04 16:53:02 -06:00
Abhishek Yenpure
f454912813 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into grid_eval_curvilinear_grids 2019-09-04 14:34:32 -06:00
Abhishek Yenpure
1697ca48c5 Adding testing paths for Curvilinear case 2019-09-04 14:33:20 -06:00
Robert Maynard
3b89bc0db2 CellSet classes don't require a name 2019-09-02 10:39:58 -04:00
Robert Maynard
5cd47a7065 DataSetBuilders don't require a cellset name 2019-09-02 09:05:56 -04:00
Robert Maynard
89fa2c0293 Remove multiple vtkm::cont::CellSet from vtkm::cont::DataSet
By removing the ability to have multiple CellSets in a DataSet
we can simplify the following things:

  - Cell Fields now don't require a CellSet name when being constructed
  - Filters don't need to manage what the active cellset is
2019-09-02 09:04:51 -04:00
Kenneth Moreland
75a060a243 Fix cell derivatives for polygon cell shape
For polygon cell shapes (that are not triangles or quadrilaterals),
interpolations are done by finding the center point and creating a
triangle fan around that point. Previously, the gradient was computed in
the same way as interpolation: identifying the correct triangle and
computing the gradient for that triangle.

The problem with that approach is that makes the gradient discontinuous
at the boundaries of this implicit triangle fan. To make things worse,
this discontinuity happens right at each vertex where gradient
calculations happen frequently. This means that when you ask for the
gradient at the vertex, you might get wildly different answers based on
floating point imprecision.

Get around this problem by creating a small triangle around the point in
question, interpolating values to that triangle, and use that for the
gradient. This makes for a smoother gradient transition around these
internal boundaries.
2019-08-29 17:37:42 -06:00
Li-Ta Lo
0c094a568a used the Tangle source 2019-08-27 16:42:25 -06:00
Dan Lipsa
b9c7396184 Merge topic 'circular-dependency'
001617b2a Fix comment and install.
60711eb19 Remove circular dependency between GridEvaluators and Integrators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1813
2019-08-27 09:02:04 -04:00
Dan Lipsa
001617b2ad Fix comment and install. 2019-08-27 08:41:50 -04:00
Dan Lipsa
60711eb193 Remove circular dependency between GridEvaluators and Integrators 2019-08-26 23:26:37 -04:00
Kenneth Moreland
0e0fae5769 Merge topic 'point-transform-transforms-points'
1f8030a6e Add non-const version of DataSet::Get methods
69226803c Make PointTransform actually transform the points

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1803
2019-08-26 18:46:24 -04:00
Allison Vacanti
93c5c50b9c Ensure that the serial device is enabled during part of OrientNormals test.
Once #377 is implemented we won't need this, but for now we have to
use the serial connectivity tables while validating the OrientNormals
output. Ensure that the serial device can be used during the validation
stage.
2019-08-26 16:44:24 -04:00
Abhishek Dilip Yenpure (-EXP)
507336f148 More cases for Grid Evaluator
Adding case to treat structured cells with weird coordinates as explicit.
2019-08-26 14:17:29 -06:00
Kenneth Moreland
69226803c2 Make PointTransform actually transform the points
The primary (likely only) use of PointTransform is to perform affine
transform on the position of the mesh. However, PointTransform did not
actually move the mesh. Rather, it just created a new field with the
transformed points.

Now, the output has its coordinate system replaced with the transformed
one generated (in addition to be added as a field). This can be turned
off (but defaults to on).

Also changed the constructor to turn on UseCoordinateSystemAsField so
that by default the filter operates on the existing coordinate system
and replaces it with the new coordinate system.

Also removed the template parameter on the filter. That added an
unnecessary complication to using it.
2019-08-26 12:29:24 -06:00
Abhishek Dilip Yenpure (-EXP)
45eeab4df1 Fix LCS filter to use flowmaps 2019-08-26 12:02:34 -06:00
Allison Vacanti
9560c4f633 Limit testing dispatch of atomic array to only atomic types. 2019-08-23 15:40:37 -04:00
Allison Vacanti
1a73641f9d Merge topic '391_reduce_device_transfers'
3eb91af96 Use ArrayGetValue where possible in worklets.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1799
2019-08-23 10:14:43 -04:00
Li-Ta Lo
c8af7699fd split generation of Tangle DataSet into a vtkm source 2019-08-22 18:23:34 -06:00
Allison Vacanti
3eb91af961 Use ArrayGetValue where possible in worklets.
Replace code such as `myArray.GetPortalControl().Get(0)` with
`vtkm::cont::ArrayGetValue(0, myArray)`, which will just retrieve
the single value without transferring the entire contents of
`myArray` to the host. This should prevent memory thrashing.

Also did some general style clean-ups and fixed loops that called
`GetPortalControl` in the loop body.
2019-08-22 16:42:17 -04:00
Dave Pugmire
8594936015 Merge topic 'tubeFilter'
0c25daf90 compile warnings.
43ddcab81 Add support for field mapping.
cbc972f10 Add Tube Filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1781
2019-08-22 15:09:49 -04:00