Commit Graph

348 Commits

Author SHA1 Message Date
Robert Maynard
251bd82b80 Significantly improve FlyingEdges performance across all devices
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
2020-05-22 15:53:49 -04:00
Robert Maynard
769a10b47b FlyingEdge Normal and Point generation occurs in Pass4
By doing this in pass 4 we can remove numerous boundary condition
checks, improving the algorithm performance
2020-05-22 14:58:38 -04:00
Kenneth Moreland
f8fd0ce316 Silence warning about cast losing precision
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.
2020-05-21 08:34:33 -06:00
Kenneth Moreland
3c4e8a2ea5 Convert filters to use precompiled field map functions where applicable 2020-05-21 08:34:32 -06:00
Kenneth Moreland
2383a7fffd Add MapFieldPermutation function
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.
2020-05-21 08:34:28 -06:00
Kenneth Moreland
934732bb64 Add MapFieldPermutation function
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.
2020-05-21 08:33:48 -06:00
Kenneth Moreland
d4ff67a226 Merge topic 'deprecate-execute-with-policy'
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
2020-05-20 18:28:37 -04:00
Kenneth Moreland
0612be9c5b Move VTKDataSetReaderBase code to vtkm_io
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.
2020-05-19 12:27:01 -06:00
Kenneth Moreland
72cd0107ee Deprecate Execute with policy
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.
2020-05-18 12:38:41 -06:00
NAThompson
d961c185ac Deprecate ReadPortal().Get pattern. 2020-05-12 15:43:40 -04:00
Robert Maynard
51e600e7e2 Remove no_discard warnings from unneeded calls of a rng 2020-05-12 09:38:18 -04:00
Li-Ta Lo
08da38bd49 use the new VTKDataSetReader 2020-05-08 11:14:47 -06:00
Li-Ta Lo
8c0787b5de Merge branch 'master' into marching_cell_wedge 2020-05-07 16:51:35 -06:00
Li-Ta Lo
aef44b5c97 change sample input file in unit test 2020-05-05 14:24:21 -06:00
Li-Ta Lo
52f0d5b2d5 Fix MarchingCell for Wedge
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.
2020-05-04 15:32:41 -06:00
NAThompson
697369fc14 Remove deprecation warnings throughout the project. 2020-04-30 08:12:04 -04:00
NAThompson
b82051746c Test that no warnings are generated and tests pass. 2020-04-29 11:30:18 -04:00
Robert Maynard
f06a5db9af Merge topic 'add_gitlab_ci'
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
2020-03-26 15:39:28 -04:00
Robert Maynard
d7ab1a6084 Improve parallelization when compiling filter tests 2020-03-26 13:40:47 -04:00
Vicente Bolea
a25f023413 Merge topic 'fix-418-gradient-throw-error'
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
2020-03-26 09:55:56 -04:00
Vicente Adolfo Bolea Sanchez
df2dba3467 throws an exception if Gradient input is scalar
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-25 12:08:47 -04:00
Robert Maynard
91c56d680c Update Contour tests to be aware of flying edge output 2020-03-25 08:23:10 -04:00
Kenneth Moreland
10e8a4a7f9 Remove locking control ArrayPortals
Previously, when a ReadPortal or a WritePortal was returned from an
ArrayHandle, it had wrapped in it a Token that was attached to the
ArrayHandle. This Token would prevent other reads and writes from the
ArrayHandle.

This added safety in the form of making sure that the ArrayPortal was
always valid. Unfortunately, it also made deadlocks very easy. They
happened when an ArrayPortal did not leave scope immediately after use
(which is not all that uncommon).

Now, the ArrayPortal no longer locks up the ArrayHandle. Instead, when
an access happens on the ArrayPortal, it checks to make sure that
nothing has happened to the data being accessed. If it has, a fatal
error is reported to the log.
2020-03-16 07:10:10 -06:00
Vicente Adolfo Bolea Sanchez
e4aa20594a Output CoordinateSystemTransforms results in Coordinates
This commit changes how CoordinateSystemTransforms write their result.

Before theoy would write their result in a DataSet in which the new
Coords where stored in a field with the name of:
 - cylindricalCoordinateSystemTransform
 - sphericalCoordinateSystemTransform

Now, they write their results as a DataSet in which its first Coords
are the transformed Coords. Previous Coordinates are appended

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-05 15:21:47 -05:00
Kenneth Moreland
ec34cb56c4 Use new ways to get array portal in control environment
Also fix deadlocks that occur when portals are not destroyed
in time.
2020-02-26 13:10:46 -07:00
Kenneth Moreland
47249ee3c0 Merge branch 'master' into oruebel/vtk-m-cleanup/contourtreeaugmented 2020-02-24 20:53:47 -07:00
Oliver Ruebel
2134acd9e6 Unit test different augmentation settings. Fix parameter warning 2020-01-27 14:17:39 -08:00
Oliver Ruebel
3ba516d70e Updated print functionname to VTKm style and remove unused functions 2020-01-22 23:30:44 -08:00
Oliver Ruebel
5db7eb6969 Replace use of PPP2 acronym in names to comply with coding style 2020-01-22 01:40:49 -08:00
Sudhanshu Sane
2e2a847f55 Change Lagrangian output format to structured grid 2020-01-16 23:54:47 -08: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
5646527b6b cleanup for LCS filter. 2019-12-11 13:32:40 -07:00
Dave Pugmire
29c21cdbc4 Code cleanup. Update Lagranian filter to use vtkm::Particle 2019-12-11 11:45:13 -07: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
dpugmire
ef2b97838c code cleanup. 2019-12-10 09:44:01 -05:00
Kenneth Moreland
cd302effb3 Update lists in TypeListTag.h
A new header named TypeList.h and the type lists have been redefined in
this new file. All the types have been renamed from `TypeListTag*` to
`TypeList*`. TypeListTag.h has been gutted to provide deprecated
versions of the old type list names.

There were also some other type lists that were changed from using the
old `ListTagBase` to the new `List`.
2019-12-05 11:05:19 -07:00
Kenneth Moreland
6fc883213c Deprecate ListTag operations
The newer List operations should still work on the old ListTags, so make
those changes first to ensure that everything still works as expected if
given an old ListTag.

Next step is to deprecate ListTagBase itself and move all the lists to
the new types.
2019-12-05 11:27:31 -05:00
dpugmire
bdab4a56d2 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into pa_storage 2019-12-04 11:59:14 -05:00
dpugmire
115f0a6ee3 Changes to particle advection worklets. 2019-12-04 11:52:08 -05:00
Robert Maynard
7fc7c61a9b VTK-m use a jobs pool for compiling large compilation units.
When building with the ninja generator VTK-m now uses a job pool
to help limit the chances of a machine going out of memory
when compiling VTK-m.
2019-11-29 15:49:54 -05: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
d47f7aaa29 Add an ImageMedian filter 2019-10-14 16:09:44 -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
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
Robert Maynard
25fb666df9 CellSetConnectivity now inherits from FilterDataSet
Fixes #409
2019-09-30 08:50:40 -04:00
Hank Childs
dd57d20231 incorporate Steven's RSS fix 2019-09-27 07:57:20 -07:00
Hank Childs
38c00e0571 incorporate Steven changes 2019-09-26 17:20:01 -07:00
Hank Childs
9084b6dcbe infrastructure for rss 2019-09-25 16:46:39 -07:00