Commit Graph

654 Commits

Author SHA1 Message Date
Robert Maynard
002bd34197 Improve the compile time of WorkletMap* unit tests
By restricting the possible variant types we can dramatically
improve compile time performance.
2019-01-25 08:23:02 -05:00
Robert Maynard
c36b45435b Add UnitTestWorkletMapFieldWholeArrayAtomic
This covers the atomic tests that was previously part of WorkletMapFieldWholeArray
2019-01-18 13:30:37 -06:00
Kenneth Moreland
b2e20bf90e Fix issues from removing field type templates
The script fixed up most of the issues. However, there were some
instances that the script was not able to pick up on. There were
also some instances that still needed a means to select types.
2019-01-11 12:23:19 -07:00
Kenneth Moreland
2e426ad547 Run the update-control-signature-tags.sh script 2019-01-11 12:23:10 -07:00
Haocheng LIU
5251091e54 Remove compile time adapter checks in UnitTestBoundingIntervalHierarchy 2019-01-03 09:22:35 -05:00
Robert Maynard
bef70820c9 Update new worklets to work with ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
0a40c620ac Rename ArrayHandleVariant to VariantArrayHandle. 2018-12-27 14:35:56 -05:00
Robert Maynard
f63be1abe6 Update vtkm/filter to work with ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
eed321aad0 Update vtkm/worklet to work with ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
161ffdff3a Move zfp helper functions to zfp namespace and remove debug code 2018-12-21 16:36:09 -05:00
Allison Vacanti
58509f647e Store return value after parameters.
This allows execution signatures like

using ExecutionSignature = _1(_1, ...)

to work as expected.
2018-12-21 11:37:45 -05:00
Abhishek Yenpure
80fffd1d64 Merge topic 'visit_clipping'
977d0cdb2 Removing redundant code line
33a04c34c Fixing variable name according to standard
2b4801239 Moving ClipTables
d1d495d43 Fixing warnings
e340cdf88 Fixing warnings
d0cf80bdd Updating tests for the new Clip tables
831914f31 Fising warnings
1ca02af98 Removing whitespaces
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1476
2018-12-19 13:12:23 -05:00
Mark Kim
3dae0b08fd CUDA can still be finicky. 2018-12-17 19:48:57 -05:00
Mark Kim
e7c1151c74 So many warnings. 2018-12-17 17:54:26 -05:00
Mark Kim
59b1efaf44 Testing output. 2018-12-17 17:07:50 -05:00
Mark Kim
20328534b5 clean up warnings. 2018-12-13 14:49:38 -05:00
Mark Kim
a6bcf8a0ab something's not quite right. 2018-12-13 14:49:38 -05:00
Mark Kim
ce44a4d183 better tests. 2018-12-13 14:49:38 -05:00
Mark Kim
8a9bfcba1b zfp 1d worklet. 2018-12-13 14:49:38 -05:00
Mark Kim
95636ff2cd decode/encode 2d. 2018-12-13 14:49:37 -05:00
mclarsen
aa891c58a7 fixed decompression porting bugs 2018-12-13 14:49:37 -05:00
mclarsen
37cba9e99f adding path for decompress 2018-12-13 14:49:37 -05:00
mclarsen
0c788b92a2 fixed error with integer types 2018-12-13 14:49:37 -05:00
mclarsen
584b36d64e adding partial gather3 2018-12-13 14:49:37 -05:00
mclarsen
4650881f58 something 2018-12-13 14:49:37 -05:00
mclarsen
bcd0150e9e save point 2018-12-13 14:49:36 -05:00
mclarsen
1c45e48fac compression working and benchmarked 2018-12-13 14:49:36 -05:00
mclarsen
c01e1b7349 debugging cuda failure 2018-12-13 14:49:36 -05:00
mclarsen
8cd7c5db32 fixed the gather 2018-12-13 14:49:36 -05:00
mclarsen
ea9bef19da init zfp 2018-12-13 14:49:36 -05:00
ayenpure
d0cf80bddd Updating tests for the new Clip tables 2018-12-08 11:57:34 +05:30
Robert Maynard
dd0cbc3689 Merge topic 'disable_cuda_optimizations_for_UnitTestBoundingIntervalHierarchy'
a9c151188 Disable ptxas for CUDA 8 && 9 for UnitTestBoundingIntervalHierarchy.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1465
2018-12-07 08:28:04 -05:00
Kenneth Moreland
82536092cc Rename boundary classes
Did a bit of renaming of the support classes used for
WorkletPointNeighborhood. First, the OnBoundary tag is changed to
Boundary to match other tags and reflect some changes in the resulting
methods. Also moved the BoundaryState and Neighborhood classes from
vtkm::exec::arg to vtkm::exec to be more accessible. Finally, the
Neighborhood class name was changed to FieldNeighborhood to be more
specific on what role this class plays with neighborhood.
2018-12-03 12:45:23 -07:00
Kenneth Moreland
01a9e85416 Change WorkletPointNeighborhood to specify neighborhood at runtime
Previously, WorkletPointNeighborhood had a template argument to select
the size of the neighborhood. This change removes that template
argument. Instead, the vtkm::exec::arg::BoundaryState methods now take
in a size parameter when determining when it overlaps the boundary.

If in the future we want to add the ability to select the neighborhood
size at compile-time (for performance reasons), I suggest adding this
template argument to the OnBoundary tag for ExecutionSignature.
2018-12-03 12:45:23 -07:00
Haocheng LIU
0d39806f4f Rename worklet testing executable
Now it's in accordance with vtkm testing name convension as
UnitTests_vtkm_worklet_testing.
2018-11-29 15:51:41 -05:00
Robert Maynard
a9c1511888 Disable ptxas for CUDA 8 && 9 for UnitTestBoundingIntervalHierarchy. 2018-11-28 11:14:59 -05:00
Haocheng LIU
8859636672 Merge worklet testing executables into a device dependent shared library
VTK-m has been updated to replace old per device worklet testing executables with a device
dependent shared library so that it's able to accept a device adapter
at runtime.
Meanwhile, it updates the testing infrastructure APIs. vtkm::cont::testing::Run
function would call ForceDevice when needed and if users need the device
adapter info at runtime, RunOnDevice function would pass the adapter into the functor.

Optional Parser is bumped from 1.3 to 1.7.
2018-11-23 10:13:56 -05:00
Kenneth Moreland
86a747a117 Add ability to customize filter policy to auxiliary input fields
The field infrastructure has a "trait" that specifies the valid types
for the default active scalar field. Most filters have at most one input
field. The majority of the remaining filters use the same types for
inputs. There are some examples, however, where some auxiliary fields
use different types. This change adds a second template parameter to
FieldTraits to customize the valid types of the input scalar field to
different fields.

These changes are in anticipation of the removal of list specifier tags
on worklet ControlSignature arguments.
2018-10-31 23:51:36 +01:00
Matthew Letter
5426ae0ed3 added runtime device tracker force
added `vtkm::cont::GetGlobalRuntimeDeviceTracker().ForceDevice(VTKM_DEFAULT_DEVICE_ADAPTER_TAG());`
2018-10-24 11:19:52 -06:00
Matthew Letter
cb03238804 removed device from run function for AverageByKey
I also cleaned up the unit test to no longer pass the device
2018-10-24 10:28:12 -06:00
Robert Maynard
cd6367646c ParticeAdvection for cuda <= 9 now built without ptxas optimizations
The ParticleAdvection code would always cause cuda 9's ptxas phase
to crash, so we disable optimization to work around this issue
2018-10-18 11:19:23 -04:00
Kenneth Moreland
f4f5dcb74c Fix warnings about using template outside of a template
Previously, UnitTestProbe used a struct templated on the device adapter,
and that necessitated the use of the template keyword when using an
ambiguous type. These recent changes remove that template argument and
thus can cause a warning about using the template keyword in a non-
ambiguous type.
2018-10-16 22:41:19 -06:00
Kenneth Moreland
bddad9b386 Remove TryExecute from filters
Now that the dispatcher does its own TryExecute, filters do not need to
do that. This change requires all worklets called by filters to be able
to execute without knowing the device a priori.
2018-10-16 15:59:53 -06:00
Kenneth Moreland
f3b923a597 Temporarily remove UnitTestParticleAdvection.cxx from CUDA tests
The CUDA compiler is giving us grief while compiling
UnitTestParticleAdvection.cxx even though the code is correct. Disable
it for now until we figure out what can be done with the compiler.
2018-10-16 10:42:45 -06:00
Kenneth Moreland
d49c29cef9 Make particle advection integrators and evaluators ExecObject
By making these helper classes ExecObject, they no longer need to have a
device to be constructed. This is important for future plans to make the
filters not determine a device adapter now that dispatchers no longer
require a device adapter.
2018-10-16 09:53:18 -06:00
Kenneth Moreland
a2602183a4 Make integrators have a virtual superclass
This will make it easier to support integrators as an ExecObject.

One side effect is that the integrators and partical advection
are not templated by the type of the field.
Regardless of the type of the field, there is probably little reason to
compute particle advection with less than 64 bit floats to account for
accumulated errors. This will make it easier to use these classes.
2018-10-16 09:53:18 -06:00
Haocheng LIU
246a58309c Add a split sharp edge worklet and filter
It's a filter that Split sharp manifold edges where the feature angle
between the adjacent surfaces are larger than the threshold value.
When an edge is split, it would add a new point to the coordinates
and update the connectivity of an adjacent surface.
Ex. there are two adjacent triangles(0,1,2) and (2,1,3). Edge (1,2) needs
to be split. Two new points 4(duplication of point 1) an 5(duplication of point 2)
would be added and the later triangle's connectivity would be changed
to (5,4,3).
By default, all old point's fields would be copied to the new point.
Use with caution.
2018-10-09 15:33:47 -04:00
Robert Maynard
12b90c434b Rename PPP2 to Augmented. 2018-09-26 10:48:37 -07:00
Oliver Ruebel
2370a6cc5d Refactor the PPP2 work based on Code Review and add UnitTests. 2018-09-18 08:54:22 -04:00
Kenneth Moreland
d879188de0 Make DispatcherBase invoke using a TryExecute
Rather than force all dispatchers to be templated on a device adapter,
instead use a TryExecute internally within the invoke to select a device
adapter.

Because this removes the need to declare a device when invoking a
worklet, this commit also removes the need to declare a device in
several other areas of the code.
2018-08-29 19:18:54 -07:00