df0881631 minor coding style improvment
68c18f154 remove redundant #include
ba35520b1 use condition number for error tolerance
ee422b7f2 move data member initialization to constructors
e0c4db209 add VTKM_EXEC_CONT to constructor
c25f0b4bb Rename StatisticalMoments. more unit tests
5eeeb4791 Change StatState's API to better conform to VTKm's coding standard
794db28ad Merge branch 'master' into stats_by_key
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2128
This merge request is Phase 1 of several to implement the distributed parallel
contour tree in VTKm. This merge requests adds the base outline for the
algorithm. The implementation of the details of the algorithm in the
BoundaryRestrictedAugmentedContourTree.h is currently still missing.
However, these will require a substantial (~3000) lines of additional code.
The goal is to stage the integration process across merge requests to make
the review process simpler.
934f085e0 Build diy as a library
f0a37ac6a Merge branch 'upstream-diy' into diy-mpi-nompi
7687aabf8 diy 2020-06-05 (b62915aa)
6ca2b9f87 Point to new version of Diy
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2123
Initially, the probe filter would simply not set a value if a sample was
outside the input `DataSet`. This is not great as the memory could be
left uninitalized and lead to unpredictable results. The testing
compared these invalid results to 0, which seemed to work but is
probably unstable.
This was partially fixed by a previous change that consolidated to
mapping of cell data with a general routine that permuted data. However,
the fix did not extend to point data in the input, and it was not
possible to specify a particular invalid value.
This change specifically updates the probe filter so that invalid values
are set to a user-specified value.
We now use SumYAxis when executing with CUDA for better memory patterns.
Instead of using the heavy Pass4/Pass4WithNormals, CUDA now uses a
2 pass approach with the second pass outputting the normals and
coordinates using with significantly less warp divergence
Generally, fields that have a WHOLE_MESH association might be valid even
if the structure of the mesh changes. Thus, it makes sense for filters
to pass this data pretty much all the time.
Also cleaned up some code and comments to make the relationship between
`MapFieldOntoOutput` and `DoMapField` more clear.
When using math operators on small integers, the numbers are promoted to
32-bit ints. If that is set back to the same type, then some compilers
give a warning. This is annoying and pointless when dealing with
templated types, but we have to deal with it.
According to talks with Rob Maynard, using a worklet should be
(counterintuitively) faster than using ArrayHandlePermutation with
ArrayCopy.
This change also gives an opportunity to handle invalid indices, which
may be intentionally set when no mapping is available for that value.
For this case, MapFieldPermutation now takes an invalidValue argument to
set such values.
This function is compiled into the vtkm_filter library, so all filters
can implement this type of mapping without providing their own version
of compiling it.
Because we only compile it once, we provide more types to convert.
Hopefully the total compile time balances out.
This function is compiled into the vtkm_filter library, so all filters
can implement this type of mapping without providing their own version
of compiling it.
Because we only compile it once, we provide more types to convert.
Hopefully the total compile time balances out.
544a078cd Remove use of deprecated policies in examples
06f5119c2 Fix deprecation warning
f29a4712b Correct field types for ComputeMoments filter
a20ec03d0 Disable proxies in filter benchmark
72cd0107e Deprecate Execute with policy
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2093
This means that the filters in the examples will no longer properly
support the policies handed to them, but that is the direction we are
headed as the policies are now deprecated.
The header was previously not marked inline and therefore
you could only have a single instance of the filter compiled
in a dynamic library / executable
Most of this code is not templated methods. Rather, it implements over
several types to call templated functions, which creates quite a bit of
code. Rather than have all code using a reader recompile the code, just
compile it once and put it in a library.
This filter is designed to work on vectors of many sizes. It was written
when selecting field types was the responsibility of the policy. It is
now the responsibility of the filter to specify possible field types.
This change is required to compile the MomentInvariants module for VTK
without policies.
The version of `Filter::Execute` that takes a policy as an argument is now
deprecated. Filters are now able to specify their own fields and types,
which is often why you want to customize the policy for an execution. The
other reason is that you are compiling VTK-m into some other source that
uses a particular types of storage. However, there is now a mechanism in
the CMake configuration to allow you to provide a header that customizes
the "default" types used in filters. This is a much more convenient way to
compile filters for specific types.
One thing that filters were not able to do was to customize what cell sets
they allowed using. This allows filters to self-select what types of cell
sets they support (beyond simply just structured or unstructured). To
support this, the lists `SupportedCellSets`, `SupportedStructuredCellSets`,
and `SupportedUnstructuredCellSets` have been added to `Filter`. When you
apply a policy to a cell set, you now have to also provide the filter.
Fixed error in one entry of number_of_triangles table for MarchineCells that results in missing triangles for wedge cell type as reported by issue #496.
9a68931c0 Do not add half-baked 1.6 release notes; let Robert consolidate release notes.
01b61be46 Start release notes for 1.6
697369fc1 Remove deprecation warnings throughout the project.
d610176ab First commit demos backwards compatibility and printing of warnings.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2067
882dcacca Have filter specify its own field types
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2064
Previously, the policy specified which field types the filter should
operate on. The filter could remove some types, but it was not able to
add any types.
This is backward. Instead, the filter should specify what types its
supports and the policy may cull out some of those.
d7ab1a608 Improve parallelization when compiling filter tests
142d151ca Update CONTRIBUTING.md to cover gitlab piplines
5bc09b976 Add gitlab-ci infrastructure
ef7ef5fb2 Add documentation for the what/why of using Gitlab ci
36d1a2d6a Add dockerfiles to be used by VTK-m Gitlab ci
b16e4fc17 Add ECP CI support to vtk-m
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1987
df2dba346 throws an exception if Gradient input is scalar
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2009
91c56d680 Update Contour tests to be aware of flying edge output
1b256281f Convert contour worklet to expect isovalues to a std::vector
c2bab6c6b Introduce FlyingEdges for 3d structured datasets
1995e5204 Correct minor issues from refactoring MarchingCells worklets
d3512879d Remove unneeded template parameters from Gradient.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2005