Commit Graph

6155 Commits

Author SHA1 Message Date
Li-Ta Lo
f66c782b14 Extract WorkletNeighborhood base class 2020-07-20 17:50:14 -06:00
Kenneth Moreland
502c310cf8 Merge topic 'deprecate-arrayhandlevirtualcoordinates'
c689a68c5 Suppress bad deprecation warnings in MSVC
a3f23a03b Do not cast to ArrayHandleVirtual in VariantArrayHandle::CastAndCall
f6b13df51 Support coordinates of both float32 and float64
453e31404 Deprecate ArrayHandleVirtualCoordinates
be7f06bbe CoordinateSystem data is VariantArrayHandle

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2177
2020-07-16 17:25:43 -04:00
Li-Ta Lo
760c51ed62 install ThreadIndicesNeighborhood.h 2020-07-16 08:06:17 -06:00
Li-Ta Lo
e52b8fa88a Add CellNeighborhood 2020-07-15 14:41:32 -06:00
Sujin Philip
c35323ae42 Merge branch 'upstream-diy' into update-to-latest-diy
* upstream-diy:
  diy 2020-07-15 (4ea1241e)
2020-07-15 15:36:03 -05:00
Sujin Philip
78221a09ed Update diy tag name 2020-07-15 15:35:48 -05:00
Kenneth Moreland
c689a68c5c Suppress bad deprecation warnings in MSVC
The Microsoft compiler has this annoying and stupid behavior where if
you have a generic templated method/function and that method is
instantiated with a deprecated class, then the compiler will issue a
C4996 warning even if the calling code is suppressing that warning
(because, for example, you are implementing other deprecated code and
the use is correct). There is no way around this other than suppressing
the warnings for all uses of the templated method.
2020-07-14 16:25:04 -06:00
Kenneth Moreland
ea340ed9cb Fix UnitTestArrayPortalValueReference
A recent change to the continuous integration setup has caused
`UnitTestArrayPortalValueReference` to fail on one platform.

The problem was that the test was doing two unsafe things with the
right-shift assignment operator. The first unsafe thing was using itself
as the operand.

```cpp
  ref >>= ref;
```

This causes clang to give a "self assign overload" warning. Using a
variable as its own operand for a compute assign operation isn't great
style, but for some operations it can cause weird errors. The reason for
the warning is that for a true integer shift operation, the compiler
will recognize that the result should be 0. So, when using this on base
integer types, you will get 0. But overloads can give you something
different, so that might lead to unexpected results. Because we _are_
using an overload (for the `ArrayPortalValueReference` class), the
compiler tells us we can get potentially unexpected results.

OK. That seems like something we can safely ignore (and were ignoring
for some time). After all, the whole point of the
`ArrayPortalValueReference` operators is to behave exactly the same as
the values they wrap. That brings us to the second unsafe thing the test
was doing: using an invalid value as the right hand operation. And this
is where things get weird.

The test was specifically failing when being run on `Int32`. It was
setting the underlying value for `ref` to be `1000` to start with. So
the expression `ref >>= ref` was trying to right shift `ref` by 1000
bits. Logically, this should of course give you 0. However, shifting a
number by more bits than exist causes undefined behavior (c.f.
https://wiki.sei.cmu.edu/confluence/display/c/INT34-C.+Do+not+shift+an+expression+by+a+negative+number+of+bits+or+by+greater+than+or+equal+to+the+number+of+bits+that+exist+in+the+operand).
You might not get back the expected value, and this is exactly what was
happening.

What I think happened was that the compiler determined that any valid
shift would be contained in 5 bits, so it truncated the value (1000) to
the least signifcant 5 bits (which happens to be 8). It then shifted
1000 by 8 and got the value 3 instead of 0.

The fix picks an operand number that is sure to be valid.
2020-07-14 16:13:12 -06:00
Kenneth Moreland
a3f23a03b6 Do not cast to ArrayHandleVirtual in VariantArrayHandle::CastAndCall
We are moving to deprecate `ArrayHandleVirtual`, so we are removing the
feature where `VariantArrayHandle::CastAndCall` automatically casts to
an `ArrayHandleVirtual` if possible.

The big reason to make this change now (as opposed to later when
`ArrayHandleVirtual` is deprecated) is to improve compile times.
This prevents us from having to compile an extra code path using
`ArrayHandleVirtual`.
2020-07-14 08:53:03 -06:00
Kenneth Moreland
f6b13df513 Support coordinates of both float32 and float64
Previously there were issues if the coordinate system was using floating
point values that were not FloatDefault. This remedies that issue.
2020-07-14 08:53:01 -06:00
Kenneth Moreland
453e314044 Deprecate ArrayHandleVirtualCoordinates
We are in the process of deprecating virtual classes in VTK-m
(that run in the execution environment).
2020-07-14 08:51:47 -06:00
Kenneth Moreland
be7f06bbe7 CoordinateSystem data is VariantArrayHandle
`CoordinateSystem` differed from `Field` in that its `GetData`
method returned an `ArrayHandleVirtualCoordinates` instead of
a `VariantArrayHandle`. This is probably confusing since
`CoordianteSystem` inherits `Field` and has a pretty dramatic
difference in this behavior.

In preparation to deprecate `ArrayHandleVirtualCoordinates`, this
changes `CoordiantSystem` to be much more like `Field`. (In the
future, we may change the `CoordinateSystem` to point to a `Field`
rather than be a special `Field`.)

A method named `GetDataAsMultiplexer` has been added to
`CoordinateSystem`. This method allows you to get data from
`CoordinateSystem` as a single array type without worrying
about creating functors to handle different types and without
needing virtual methods.
2020-07-14 08:50:39 -06:00
Dave Pugmire
e66986dabe Merge topic 'worldAnnotationsOptional'
cabaf3e26 Add option to enable/disable world annotations.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !2175
2020-07-14 10:19:48 -04:00
Petar Hristov
15cbf41dfb Merge branch 'master' into working-branch 2020-07-14 15:09:26 +01:00
Petar Hristov
97b6e727f3 Fixing osx build warnings. 2020-07-14 14:00:02 +01:00
Robert Maynard
29bac212c7 Merge topic 'extrude-fix'
a428d75e0 adding CellSetExtrude to DefaultTypesVTK
235d9ce14 add GetThreadIndex to ThreadIndicesExtrude classes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2172
2020-07-13 14:24:58 -04:00
dpugmire
cabaf3e269 Add option to enable/disable world annotations. 2020-07-09 14:38:39 -04:00
Sujin Philip
b32cc894b6 Merge topic 'fix-gitlab-ci'
2f7ae83c9 Fix warnings
e67fc619c Fix setting build type in gitlab ci

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2171
2020-07-09 14:38:32 -04:00
Kenneth Moreland
e2027da0c3 Merge topic 'write-uniform-rectilinear'
058927c82 Write uniform and rectilinear grids to legacy VTK files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2173
2020-07-09 10:53:20 -04:00
Sujin Philip
2f7ae83c9f Fix warnings 2020-07-09 08:10:54 -05:00
Kenneth Moreland
85bdc030ba Merge topic 'fix-multiplexer-cuda'
18b5be92d Fix issue with CUDA and ArrayHandleMultiplexer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2168
2020-07-09 08:25:55 -04:00
Petar Hristov
c6433140da Removed unused worklet. 2020-07-09 12:45:59 +01:00
Petar Hristov
98d0d69947 Removed unused library. 2020-07-09 10:49:51 +01:00
Petar Hristov
8fc73ebd23 Removed uint variables. 2020-07-09 10:20:37 +01:00
Kenneth Moreland
058927c82f Write uniform and rectilinear grids to legacy VTK files
As a programming convenience, all `vtkm::cont::DataSet` written by
`vtkm::io::VTKDataSetWriter` were written as a structured grid. Although
technically correct, it changed the structure of the data. This meant that
if you wanted to capture data to run elsewhere, it would run as a different
data type. This was particularly frustrating if the data of that structure
was causing problems and you wanted to debug it.

Now, `VTKDataSetWriter` checks the type of the `CoordinateSystem` to
determine whether the data should be written out as `STRUCTURED_POINTS`
(i.e. a uniform grid), `RECTILINEAR_GRID`, or `STRUCTURED_GRID`
(curvilinear).
2020-07-08 19:12:14 -06:00
Caitlin Ross
a428d75e02 adding CellSetExtrude to DefaultTypesVTK 2020-07-08 14:51:41 -04:00
Caitlin Ross
235d9ce14b add GetThreadIndex to ThreadIndicesExtrude classes 2020-07-08 14:51:41 -04:00
Kenneth Moreland
d5fd24fe13 Merge topic 'fix-allocate-token-deadlock'
cbf986891 Fix potential deadlock in ArrayHandle::PrepareForOutput

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2170
2020-07-08 13:47:04 -04:00
Petar Hritov
c20608288c Removed unused worklet. 2020-07-08 14:26:25 +01:00
Kenneth Moreland
cbf9868915 Fix potential deadlock in ArrayHandle::PrepareForOutput
`ArrayHandle::PrepareForOutput` often has to reallocate the array to the
specified size. Previously, this allocation was not happening with the
`Token` that is passed to `PrepareForOutput`. If the `ArrayHandle` is
already attached or enqueued for that `Token`, then the allocation would
deadlock.

You can now pass a `Token` object to `Allocate`, which is what
`PrepareForOutput` does.
2020-07-07 18:30:38 -06:00
Kenneth Moreland
18b5be92d6 Fix issue with CUDA and ArrayHandleMultiplexer
When you try to call the `Reduce` operation in the CUDA device adapter
with a sufficently complex interator type, you get a compile error
that says `error: cannot pass an argument with a user-provided
copy-constructor to a device-side kernel launch`.

This appears to be a bug in either nvcc or Thrust. I believe it is
related to the following reported issues:

* https://github.com/thrust/thrust/issues/928
* https://github.com/thrust/thrust/issues/1044

Work around this problem by making a special condition for calling
`Reduce` with an `ArrayHandleMultiplexer` that calls the generic
algorithm in `DeviceAdapterAlgorithmGeneral` instead of the algorithm in
Thrust.
2020-07-06 13:51:36 -06:00
Sujin Philip
8c3c138bb9 Enable the Game of Life example back
It was commented out by accident in a previous commit.
2020-07-06 12:25:42 -05:00
Petar Hritov
9e8784a780 Refactoring. 2020-07-03 18:28:21 +01:00
Petar Hritov
edd2585752 Merge branch 'master' into working-branch 2020-07-03 13:55:21 +01:00
Petar Hritov
cdc0fa9e42 Added some additional comments. 2020-07-03 13:53:49 +01:00
Petar Hritov
1ed02d151f Working volume parallel BD version. 2020-07-03 11:40:47 +01:00
Robert Maynard
749a110cd0 Merge branch 'upstream-diy' into update_diy_to_always_build_with_pic
* upstream-diy:
  diy 2020-07-01 (b0623438)
2020-07-01 10:48:43 -04:00
Robert Maynard
5a2a26d3fc Update DIY to make sure we always build diy libs with pic enabled 2020-07-01 10:48:18 -04:00
Robert Maynard
a1680ef8bf Merge branch 'upstream-diy' into update_diy_to_namespace_DEBUG_define
* upstream-diy:
  diy 2020-06-24 (ab765e66)
2020-07-01 08:28:17 -04:00
Robert Maynard
f7b3d1bca7 Update DIY to not leak the DEBUG define
Fixes #539
2020-07-01 08:28:10 -04:00
Kenneth Moreland
42219f8d61 Fix buffer leak in BufferInfo 2020-06-29 16:36:21 -06:00
Kenneth Moreland
8e1c87b5c2 Work around known bug in LagrangianFilter
The implementation of LagrangianFilter uses some `ArrayHandle`s
declared as `static` in the .hxx header file. One of the bad
consequences of this is that there is no control over when the
arrays are freed. We have seen where these arrays get freed
after the CUDA system is closed, which causes nasty things to
happen as the program closes.

This works around the problem until a fix is implemnted.
2020-06-25 14:02:46 -06:00
Kenneth Moreland
a47fd42bc1 Pin user provided memory in ArrayHandle
Often when a user gives memory to an `ArrayHandle`, she wants data to be
written into the memory given to be used elsewhere. Previously, the
`Buffer` objects would delete the given buffer as soon as a write buffer
was created elsewhere. That was a problem if a user wants VTK-m to write
results right into a given buffer.

Instead, when a user provides memory, "pin" that memory so that the
`ArrayHandle` never deletes it.
2020-06-25 14:02:46 -06:00
Kenneth Moreland
56bec1dd7b Replace basic ArrayHandle implementation to use Buffers
This encapsulates a lot of the required memory management into the
Buffer object and related code.

Many now unneeded classes were deleted.
2020-06-25 14:02:26 -06:00
Kenneth Moreland
8f7b0d18be Add Buffer class
The buffer class encapsulates the movement of raw C arrays between
host and devices.

The `Buffer` class itself is not associated with any device. Instead,
`Buffer` is used in conjunction with a new templated class named
`DeviceAdapterMemoryManager` that can allocate data on a given
device and transfer data as necessary. `DeviceAdapterMemoryManager`
will eventually replace the more complicated device adapter classes
that manage data on a device.

The code in `DeviceAdapterMemoryManager` is actually enclosed in
virtual methods. This allows us to limit the number of classes that
need to be compiled for a device. Rather, the implementation of
`DeviceAdapterMemoryManager` is compiled once with whatever compiler
is necessary, and then the `RuntimeDeviceInformation` is used to
get the correct object instance.
2020-06-25 14:01:39 -06:00
Li-Ta Lo
365b1bb25c use make_ArrayHandleZip 2020-06-25 09:51:06 -06:00
Li-Ta Lo
980c4864ac Merge branch 'master' into standard_normal 2020-06-24 14:38:50 -06:00
Li-Ta Lo
beba90b6f7 Merge topic 'uniform_real'
143e3d39a remove unused type alias
01a448663 Merge branch 'master' into uniform_real
c67e5bb12 fixe warnings about implicit type conversion
1e4294392 Add deterministic seed to avoid potential spurious failure
5b0e309b9 the random source is still 64 bits
cc3061bab Avoid calling ReadPortal() all the time
9bf6dea22 remove inline initialization of seed
e69308047 Add statistics base testing, add Flot32 RNG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2148
2020-06-24 16:36:36 -04:00
Nick
470058c328 Unfoobar the float_distance MR. 2020-06-24 10:52:59 -04:00
Kenneth Moreland
f6a8993469 Make tests that throw an STL exception fail
If a test throws any unexpected exception, the test is supposed to
detect that and fail. For the STL exceptions, the test failed to return
an error code. Fix that.
2020-06-23 16:25:09 -06:00
Kenneth Moreland
7f60b0025d Merge topic 'cuda-no-assert'
c84588caf Re-add assert to fix deadlock
270ba214d Disable asserts for CUDA architecture builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2157
2020-06-22 21:18:17 -04:00
Kenneth Moreland
c84588caf7 Re-add assert to fix deadlock
For some reason, `UnitTestContourTreeUniformAugmentedFilterCUDA` was
deadlocking on some of the dashboards when `VTKM_ASSERT` was changed to
be empty when compiling CUDA kernels (for compiler performance reasons).
Fix this by calling `assert` directly in this case.

For the life of me, I cannot figure out why this would be an issue.
Clearly the `assert` is never actually called or else the test would
error out (unless a special condition in CUDA is causing it to be
hidden). But if you take out the code, something changes to lock up the
kernel.
2020-06-22 17:10:33 -06:00
Kenneth Moreland
270ba214d5 Disable asserts for CUDA architecture builds
`assert` is supported on recent CUDA cards, but compiling it appears to be
very slow. By default, the `VTKM_ASSERT` macro has been disabled whenever
compiling for a CUDA device (i.e. when `__CUDA_ARCH__` is defined).

Asserts for CUDA devices can be turned back on by turning the
`VTKm_NO_ASSERT_CUDA` CMake variable off. Turning this CMake variable off
will enable assertions in CUDA kernels unless there is another reason
turning off all asserts (such as a release build).
2020-06-22 13:54:22 -06:00
Matt Larsen
280d3e6909 Merge topic 'fix/rendering_export'
1c63c7032 export symbols need by vtkh

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2154
2020-06-22 15:35:42 -04:00
Robert Maynard
3029994a97 Remove some unneeded include statements from vtkm/exec 2020-06-22 09:28:51 -04:00
dpugmire
0654d1853d fix cuda compile, export function. 2020-06-19 10:57:30 -04:00
Matt Larsen
1c63c7032a export symbols need by vtkh 2020-06-19 07:41:54 -07:00
dpugmire
00b1f85ebd link error 2020-06-18 21:42:51 -04:00
dpugmire
6d1930bc20 forgot the storage tags 2020-06-18 19:41:37 -04:00
dpugmire
03e3198977 move funcs to cxx, remove storage template 2020-06-18 19:37:09 -04:00
dpugmire
bac9664104 Move array copy to cxx 2020-06-18 17:53:19 -04:00
dpugmire
35ed68911e fix compile error. 2020-06-18 15:59:09 -04:00
dpugmire
1a7823c604 code cleanup. 2020-06-18 15:50:25 -04:00
dpugmire
02d8c3782d Add unittest for particlearraycopy 2020-06-18 15:45:36 -04:00
Li-Ta Lo
143e3d39a6 remove unused type alias 2020-06-18 13:33:20 -06:00
dpugmire
24451a3de2 Create a function for copying fields from particle arrays. 2020-06-18 14:54:18 -04:00
Li-Ta Lo
01a4486638 Merge branch 'master' into uniform_real 2020-06-18 11:46:18 -06:00
Li-Ta Lo
c67e5bb121 fixe warnings about implicit type conversion 2020-06-18 11:35:33 -06:00
dpugmire
1ef1180692 Add hxx into cmake file. 2020-06-18 11:59:10 -04:00
dpugmire
4952a628ff Add particle advection filter. 2020-06-18 11:52:16 -04:00
Kenneth Moreland
45c29a0c62 Merge topic 'override-deprecated-warnings'
3d991d1d8 Fix warnings about overriding deprecated methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2151
2020-06-18 08:26:05 -04:00
Kenneth Moreland
3d991d1d84 Fix warnings about overriding deprecated methods
The VS compiler gives a warning when you override a deprecated method.
Changed the StartScene and EndScene methods in Mapper to be non-virtual
with empty implementations. Deleted the corresponding methods from all
subclasses.
2020-06-17 17:58:07 -06:00
Li-Ta Lo
2aea7534bd Add ArrayHandleRandomStandardNormal 2020-06-17 15:48:09 -06:00
Kenneth Moreland
8a1df977a7 Add common superclass to VariantArrayHandleBase
Many of the operations of `VariantArrayHandleBase` are not dependent on
the TypeList parameter of the class. Still others can operate just as
well by providing a type list to a method. Thus, it is convenient to
create a superclass that is not templated. That allows us to pass around
a `VariantArrayHandle` when the type list does not matter.

This superclass is called `VariantArrayHandleCommon` because "base" was
already taken.
2020-06-17 15:38:20 -06:00
Kenneth Moreland
c35abc732f Rename IsInValidArrayHandle to IsInvalidArrayHandle
This makes it clear that it returns true for an invalid array handle.
The previous name implied that it was looking for an ArrayHandle in some
"valid" set, which is the opposite.
2020-06-17 15:38:19 -06:00
Kenneth Moreland
31feaed0f8 Merge topic 'fix-warnings'
0a4317709 Fix issues of calling __host__ from __device__
dd4d88cd5 Fix warnings about comparing floating point values
cd4b59059 Fix warnings about data type conversion

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2146
2020-06-17 17:23:07 -04:00
Kenneth Moreland
0a4317709e Fix issues of calling __host__ from __device__
Some methods were marked as `VTKM_CONT` when they should have been
marked `VTKM_EXEC_CONT`.
2020-06-17 14:55:43 -06:00
Li-Ta Lo
1e42943928 Add deterministic seed to avoid potential spurious failure 2020-06-17 13:36:15 -06:00
Li-Ta Lo
5b0e309b95 the random source is still 64 bits 2020-06-17 12:58:03 -06:00
Li-Ta Lo
cc3061bab1 Avoid calling ReadPortal() all the time 2020-06-17 12:53:11 -06:00
Li-Ta Lo
9bf6dea226 remove inline initialization of seed 2020-06-17 12:47:54 -06:00
Li-Ta Lo
e69308047b Add statistics base testing, add Flot32 RNG 2020-06-17 12:01:10 -06:00
Kenneth Moreland
dd4d88cd5e Fix warnings about comparing floating point values 2020-06-17 11:58:45 -06:00
Dave Pugmire
d30293ee2f Merge topic 'betterParticleAdvectionDiffs2'
474473063 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into betterParticleAdvectionDiffs2
447e8aff0 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into betterParticleAdvectionDiffs2
27c39217d remove debug statements
1a2910165 debug for dashboard.
cff830fb4 Remove some debugging code.
b5270f5fa change float/double to vtkm typedefs.
ee4146667 Accidently added some garbage numbers to line 35. Removed it.
bece39ec4 Fix compiler warnings.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2138
2020-06-17 13:30:41 -04:00
Nick Thompson
83cf25f1f3 Merge topic 'deprecate_startscene'
8065e76e7 Deprecate StartScene() and EndScene()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2140
2020-06-17 12:48:40 -04:00
Kenneth Moreland
cd4b59059e Fix warnings about data type conversion 2020-06-17 10:29:08 -06:00
dpugmire
4744730630 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into betterParticleAdvectionDiffs2 2020-06-17 11:12:11 -04:00
Nick Thompson
b8f5e9f080 Merge topic 'deprecate_donothing'
0f0c465c1 Deprecate Camera::Activate() and Camera::Finish()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2139
2020-06-16 16:38:51 -04:00
Li-Ta Lo
5a47c39ac1 Merge branch 'master' into particle_density 2020-06-16 14:17:12 -06:00
Li-Ta Lo
55f85f0674 Merge topic 'stats_by_key'
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
2020-06-16 16:06:21 -04:00
Li-Ta Lo
df08816317 minor coding style improvment 2020-06-16 13:01:08 -06:00
Li-Ta Lo
68c18f1546 remove redundant #include 2020-06-16 12:25:58 -06:00
Li-Ta Lo
ba35520b1c use condition number for error tolerance 2020-06-16 10:56:17 -06:00
Li-Ta Lo
ee422b7f27 move data member initialization to constructors 2020-06-16 10:25:16 -06:00
dpugmire
447e8aff04 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into betterParticleAdvectionDiffs2 2020-06-16 11:49:21 -04:00
dpugmire
27c39217d4 remove debug statements 2020-06-16 11:43:20 -04:00
dpugmire
1a2910165c debug for dashboard. 2020-06-16 08:43:29 -04:00
Kenneth Moreland
f8a09d6de5 Handle read-only portals in ArrayHandleMultiplexer
The ArrayPortalMultiplexer always called Set on the delegate portals.
However, sometimes the portals were not supported. Instead, only call
when the delegate is supported.

Probably the "right" thing to do would be to check all posible portals
for support, but that sounds like it would slow down the compile.
2020-06-16 00:15:11 -06:00
Kenneth Moreland
ed2f4aabf7 Detect when VariantArrayHandle::AsMultiplexer fails
Previously, the VariantArrayHandle::AsMultiplexer operation silently
failed and returned an invalid ArrayHandleMultiplexer. This is now
changed to throw an exception if the desired ArrayHandleMultiplexer
cannot hold the VariantArrayHandle's array.
2020-06-16 00:12:24 -06:00
Li-Ta Lo
e0c4db2095 add VTKM_EXEC_CONT to constructor 2020-06-15 15:15:43 -06:00
Li-Ta Lo
c25f0b4bb8 Rename StatisticalMoments. more unit tests
Change StatisticalMoments to the more descriptive DescriptiveStatistics,
add some more property based tests.
2020-06-15 14:24:00 -06:00
dpugmire
cff830fb4c Remove some debugging code. 2020-06-15 14:23:52 -04:00
dpugmire
b5270f5fae change float/double to vtkm typedefs. 2020-06-15 14:09:42 -04:00
dpugmire
ee41466673 Accidently added some garbage numbers to line 35. Removed it. 2020-06-15 14:01:12 -04:00
dpugmire
bece39ec44 Fix compiler warnings. 2020-06-15 13:27:01 -04:00
Nick
8065e76e74 Deprecate StartScene() and EndScene() 2020-06-14 11:27:45 -04:00
NAThompson
0f0c465c1b Deprecate Camera::Activate() and Camera::Finish() 2020-06-14 11:04:06 -04:00
Nick Thompson
ca0cd5f380 Merge conflict resolution. 2020-06-13 14:21:25 -04:00
NAThompson
755137a822 Particle advection tests with file. 2020-06-13 10:58:45 -04:00
Li-Ta Lo
5eeeb47914 Change StatState's API to better conform to VTKm's coding standard 2020-06-12 21:41:31 -06:00
Nick Thompson
da57431d9c Merge topic 'demangle_in_print_summary'
b3cb8e834 Nuke the ostream overload.
b55ce7369 Demangle symbols in PrintSummary.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2137
2020-06-12 20:07:10 -04:00
Nick Thompson
1015d33330 Merge topic 'silence_gcc10'
97a8c61b6 Don't silence the warning on clang.
bae0a3724 Code review suggestions.
dec4abf42 Silence spurious gcc-10 warning.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2135
2020-06-12 20:04:36 -04:00
NAThompson
97a8c61b6c Don't silence the warning on clang. 2020-06-12 16:29:55 -04:00
NAThompson
b3cb8e834c Nuke the ostream overload. 2020-06-12 16:07:16 -04:00
NAThompson
b55ce7369e Demangle symbols in PrintSummary. 2020-06-12 15:23:16 -04:00
NAThompson
bae0a3724a Code review suggestions. 2020-06-12 14:29:09 -04:00
Oliver Ruebel
66c96a983f Add BRACT for distributed contour tree computation
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.
2020-06-12 11:50:01 -06:00
NAThompson
dec4abf421 Silence spurious gcc-10 warning. 2020-06-12 13:28:25 -04:00
Li-Ta Lo
794db28ad6 Merge branch 'master' into stats_by_key 2020-06-11 23:12:07 -06:00
Li-Ta Lo
964c1a778b Reversion to the Mean
Change the formula for calculating Mean to be exactly as is in the
literature. My own invention actually causes more numeric error.
2020-06-11 22:47:24 -06:00
Kenneth Moreland
22f227a91e Merge topic 'ordered-async-access'
de3bda373 Use deque instead of list for ArrayHandle queue
498d44548 Pass Token::Reference by value
c32c9e8e8 Fix deadlock when changing device during read
99e14ab8a Add proper enqueuing of Tokens for ArrayHandle

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2130
2020-06-11 21:55:27 -04:00
Kenneth Moreland
de3bda3738 Use deque instead of list for ArrayHandle queue 2020-06-11 15:47:41 -06:00
Kenneth Moreland
498d445483 Pass Token::Reference by value
There is no point in passing Token::Reference by reference since (being
just a simple reference itself) it is no larger than a pointer.
2020-06-11 11:51:42 -06:00
Matt Larsen
a3b8525ef9 Merge topic 'fix/multi_plots'
62ef51325 fix bug that zero'd color buffers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sudhanshu Sane <ssane@cs.uoregon.edu>
Acked-by: James Kress <james@jameskress.com>
Merge-request: !2132
2020-06-11 09:51:44 -04:00
Robert Maynard
0fa2d5e9af Merge topic 'update_demo_code'
16e04db15 FlyingEdges: Handle when pass 1 generates no intersections
8ebea33c7 FlyingEdges: Handle when a dimensions size is <= 3
60eff58bd Correct warning in TransferToOpenGL found by the examples

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2125
2020-06-11 09:40:03 -04:00
Li-Ta Lo
c04b8440eb Merge topic 'uniform_real'
c0dee7402 make it explicit that we are using 64-bit unsigned integer in bit op
34f350588 Added changelog
e9f584a91 ArrayHandleRandomUniformReal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2116
2020-06-11 08:41:38 -04:00
Robert Maynard
16e04db157 FlyingEdges: Handle when pass 1 generates no intersections
Previously if pass 1 generated no intersections, pass 2 would
incorrectly generate no intersections resulting in an empty
dataset.
2020-06-11 08:32:28 -04:00
Matt Larsen
62ef513257 fix bug that zero'd color buffers 2020-06-10 16:02:21 -07:00
Li-Ta Lo
8e6fb01d02 Merge branch 'stats_by_key' of gitlab.kitware.com:ollielo/vtk-m into stats_by_key 2020-06-10 13:40:55 -06:00
Robert Maynard
8ebea33c7e FlyingEdges: Handle when a dimensions size is <= 3
Previously if any axis <= 3, we would incorrectly generate
triangles on the boundary.
2020-06-10 12:33:03 -04:00
Li-Ta Lo
6bc6a7ef50 widen error tolerance for variance test 2020-06-10 08:30:41 -06:00
Li-Ta Lo
72e21f398e remove auto return type 2020-06-09 18:17:13 -06:00
Li-Ta Lo
8a1a7c1b10 Refactor AverageByKye to use StatisticalMoments 2020-06-09 16:14:21 -06:00
Li-Ta Lo
0cf611e3b7 Add ByKey version 2020-06-09 14:13:07 -06:00
Robert Maynard
60eff58bdf Correct warning in TransferToOpenGL found by the examples 2020-06-09 13:34:33 -04:00
Petar Hritov
40090351a7 Checkpoint. 2020-06-09 14:11:12 +01:00
Sujin Philip
b7d0c94f1b Merge topic 'diy-mpi-nompi'
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
2020-06-08 21:25:54 -04:00
Kenneth Moreland
c32c9e8e8d Fix deadlock when changing device during read
Because ArrayHandle currently only supports one device at a time, it is
possible that a `PrepareForInput` might actually need to wait for write
access so that it could move the data between devices. However, we don't
want the `Token` to be attached for writing because that could block
other read operations.

To get around this, add a hack to WaitToWrite to allow it to attach for
reading instead of writing.
2020-06-08 18:15:13 -06:00
Kenneth Moreland
99e14ab8a6 Add proper enqueuing of Tokens for ArrayHandle
An issue that was identified for the thread safety of `ArrayHandle` is
that if several threads are waiting to use an `ArrayHandle`, there might
be an expectation of the order in which the operations happen. For
example, if one thread is modifying the contents of an `ArrayHandle` and
another is reading those results, we would need the first one to start
before the second one.

To solve this, a queue is added to `ArrayHandle` such that when waiting
to read or write an `ArrayHandle` the `Token` has to be at the top of
the queue in addition to other requirements being met.

Additionally, an `Enqueue` method is added to add a `Token` to the queue
without blocking. This allows a control thread to queue the access and
then spawn a thread where the actual work will be done. As long as
everything is enqueued on the main thread, the operations will happen in
the expected order.
2020-06-08 16:49:02 -06:00
Sujin Philip
934f085e09 Build diy as a library
Support both mpi and nompi versions simultaneously.
2020-06-08 15:57:51 -05:00
Sujin Philip
f0a37ac6aa Merge branch 'upstream-diy' into diy-mpi-nompi
* upstream-diy:
  diy 2020-06-05 (b62915aa)
2020-06-08 15:55:58 -05:00
Sujin Philip
6ca2b9f877 Point to new version of Diy 2020-06-08 15:55:38 -05:00
Matt Larsen
4cb94e7fc1 Merge topic 'respect_max_distance'
ce3a64b41 fix comparison
ab6bb14d3 Merge branch 'respect_max_distance' of gitlab.kitware.com:mclarsen/vtk-m into respect_max_distance
a6ed41027 use bounds based epsilon for tiny meshes
59775c4eb respect ray max distance

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sudhanshu Sane <ssane@cs.uoregon.edu>
Merge-request: !2129
2020-06-08 15:43:52 -04:00
Li-Ta Lo
c9da2a9c06 add unit test on the property of variance 2020-06-08 10:22:24 -06:00
Li-Ta Lo
63232e0eed add reference to the algorithm and a unit test on normal RN 2020-06-08 09:20:25 -06:00
Robert Maynard
748f8f8c30 Correct flying edge cell-id mapping 2020-06-08 10:01:04 -04:00
Matt Larsen
ce3a64b412 fix comparison 2020-06-06 18:00:42 -07:00
Matt Larsen
a6ed41027e use bounds based epsilon for tiny meshes 2020-06-06 17:56:25 -07:00
Matt Larsen
59775c4eba respect ray max distance 2020-06-06 15:39:25 -07:00
Li-Ta Lo
807a0a9dea add newline 2020-06-05 16:18:19 -06:00
Li-Ta Lo
991e7eac2a United We Stand
Implemented a one-pass, Divide and Conqur algorithm to calculate various statistical
moments. Only one call to Reduce is needed.
2020-06-05 16:09:10 -06:00
NAThompson
0dccfb7d74 Rough semicolon. 2020-06-05 15:28:51 -04:00
NAThompson
db8f3c9fc9 Remove Initialize() boilerplate. 2020-06-05 13:38:18 -04:00
Kenneth Moreland
7be44c847f Enable setting invalid value in probe filter
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.
2020-06-03 15:29:37 -06:00
Li-Ta Lo
c0dee74028 make it explicit that we are using 64-bit unsigned integer in bit op 2020-06-03 11:43:14 -06:00
Kenneth Moreland
7ded85f012 Remove reference to Canvas in ImageReaderBase
It is no longer necessary for the image reader to access a Canvas, and
this does not work anyway if rendering is turned off.
2020-06-03 09:25:19 -06:00
Kenneth Moreland
7fa2c9f769 Update doxygen comments in Tuple.h.in
The `Tuple.h` file was updated with some comments that were not updated
in `Tuple.h.in`. This caused the pyexpander script to fail with
mismatched files.
2020-06-03 09:22:48 -06:00
Robert Maynard
14338a559c Merge topic 'gitlab_ci_doxygen'
930c3d2fb reproduce_ci_env better detects which stage a job is for
71d9d4311 Doxygen is now generated by gitlab and done on each master merge
a652f7fe1 Update vtk-m doxygen to generate less warnings
97a2408fc Correct warnings for using TBB 2020 deprecated functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2117
2020-06-03 10:01:07 -04:00
Kenneth Moreland
7c7b95e5b1 Merge topic 'structured-gradient-fix'
8239eb467 Fix an issue with structured (non-uniform) gradients

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2118
2020-06-03 09:51:16 -04:00
Kenneth Moreland
fe527ae26e Merge topic 'image-reader-structure'
1949cad40 Add get/set filename methods for image reader/writer
e8c5ee5e6 Remove pixel type selection from PNG reader
6c97054b7 Update image writes to style and library
1e91b32ac Update image readers to style and library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nickolas Davis <nadavi@sandia.gov>
Merge-request: !2109
2020-06-02 19:50:26 -04:00
Kenneth Moreland
8239eb467f Fix an issue with structured (non-uniform) gradients
This fixes a bug introduced in commit
93d87e06fd7a0ef479a324e5cd2453c1c7ece0ee

Part of the commit moved fromusing a `BoundaryState` object to keeping
boundary flags in a `vtkm::Vec<bool,3>`. However, the meaning of the
flag got inverted. The `BoundaryState::IsRadiusIn?Boundary` methods
returned true if the current location was inside the bounds (i.e. _not_
on the boundary), but the new flags are true if the current location is
on the boundary (the inverse).

The updating of the code for the `StructuredPointGradient::Jacobian`
method got the flag somewhat wrong and scaled the wrong case.
2020-06-02 17:44:06 -06:00
Li-Ta Lo
e9f584a91f ArrayHandleRandomUniformReal
Add an ArrayHandle for generating random Float64 in the range of [0, 1).
2020-06-02 11:58:57 -06:00
Abhishek Yenpure
8260be6fc6 Merge topic 'euler_integrator_fix'
e9fd545b0 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix
23126bbec Integrator status fix for consistant behavior
3e18f105e Fixing Integrator Status Behavior
ff112e424 Integrator status behavior check
343f2d577 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix
82cfba27c Rectify testing code
8ddecbb43 Fixing test issues
6274b1657 Updating Euler Integrator to work

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2023
2020-06-01 17:20:16 -04:00
Robert Maynard
a652f7fe1e Update vtk-m doxygen to generate less warnings 2020-06-01 16:58:32 -04:00
Robert Maynard
97a2408fc4 Correct warnings for using TBB 2020 deprecated functions 2020-06-01 16:58:32 -04:00
Kenneth Moreland
1949cad400 Add get/set filename methods for image reader/writer 2020-06-01 10:33:20 -06:00
Kenneth Moreland
e8c5ee5e69 Remove pixel type selection from PNG reader
Selecting the pixel type just means that lodepng casts it to that type
for it then to be cast to the type VTK-m uses. Since VTK-m always uses
the same type, there is little value for changing the intermediate cast.
2020-06-01 10:00:37 -06:00
Kenneth Moreland
6c97054b7f Update image writes to style and library
Updated the image writer classes to better follow VTK-m naming
convention (i.e. use `ImageWriterPNG` instead of `PNGWriter`). The
structure of the image writer class now also better matches the
interface for the VTK writer.

Also put the implementation of the image writers into the `vtkm_io`
library so that it only has to be compiled once.
2020-06-01 10:00:36 -06:00
Kenneth Moreland
1e91b32ace Update image readers to style and library
Updated the image reader classes to better follow VTK-m naming
convention (i.e. use `ImageReaderPNG` instead of `PNGReader`).
The structure of the image reader class now also better matches
the interface for the VTK reader.

Also put the implementation of the image readers into the `vtkm_io`
library so that it only has to be compiled once.
2020-06-01 10:00:18 -06:00
Li-Ta Lo
e72cfc3d8a add particle density 2020-05-29 15:42:37 -06:00
Kenneth Moreland
da6fc5e378 Merge topic 'add/hyperstructstats'
3273f1c48 Update to AddPointField of dataset
eef30c232 Merge branch 'master' into add/hyperstructstats
1014dbf04 Fix BOV reader support in ContourTreeApp
e908826c1 Temporary disabled BOV reader in ContourTreeApp pending #517
8a27ff510 Merge branch 'master' into add/hyperstructstats
43e470de7 Fix g++ conversion warning in ContourTreeApp
a9a4736c3 Add BOV reader support and fix TBB settings in contour tree app
38da8dc43 Fix TBB check bug in ContourTreeApp
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2002
2020-05-28 13:25:08 -04:00
Robert Maynard
d7af19ea8f Merge topic 'deprecated_bov_reader_still_constructible'
0f867c05f vtkm::io::reader::BOVDataSet fix 'constructor delegates to itself'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2107
2020-05-28 13:10:53 -04:00
Oliver Ruebel
eef30c2325 Merge branch 'master' into add/hyperstructstats 2020-05-28 09:32:30 -07:00
Robert Maynard
0f867c05f2 vtkm::io::reader::BOVDataSet fix 'constructor delegates to itself'
Fixes #517
2020-05-28 08:34:31 -04:00
Oliver Ruebel
8a27ff5109 Merge branch 'master' into add/hyperstructstats 2020-05-28 00:38:29 -07:00
NAThompson
fe4f71ab92 Deprecate DataSetFieldAdd. 2020-05-27 15:27:47 -04:00
Abhishek Yenpure
e9fd545b06 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix 2020-05-27 10:55:49 -07:00
Robert Maynard
cf9b74d7ff Merge topic 'improve_flying_edge_perf'
251bd82b8 Significantly improve FlyingEdges performance across all devices
fa9373801 Rework FlyingEdges::Pass1 to handle NUMA and CUDA requirements.
769a10b47 FlyingEdge Normal and Point generation occurs in Pass4
93d87e06f Optimize StructuredPointGradient for non boundary points.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2080
2020-05-27 08:47:09 -04:00
Ben Boeckel
0488aab201 docs: update gitlab links to include /-/ component 2020-05-26 14:48:49 -04:00
Allison Vacanti
ac3fa0f252 Merge topic 'cuda_fixes'
6c98cbc6e Add missing Algorithm::Synchronize() in timer test.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2094
2020-05-25 19:18:16 -04:00
Abhishek Yenpure
23126bbec5 Integrator status fix for consistant behavior
- Return OK and spatial bits set when particle is out of bounds
- Changes done after discussion w/ Dave
2020-05-23 21:37:25 -07:00
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
fa93738010 Rework FlyingEdges::Pass1 to handle NUMA and CUDA requirements.
First the Pass1 now uses WorkletVisitPointsWithCells as it is
faster since it doesn't compute some implicit boundary / neighborhood
info.

Second we reworked the logic around using `Fill` and a conditional
write of the edge case. The requirements of SMP when on a NUMA
machine is the complete opposite of what works great with CUDA.
2020-05-22 14:58:38 -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
Robert Maynard
93d87e06fd Optimize StructuredPointGradient for non boundary points.
We can remove lots of clamp calls by checking if we are on
a boundary and using a non-clamped API.
2020-05-22 14:58:38 -04:00
Kenneth Moreland
5498ecd35b Properly handle global (whole mesh) fields in data set filters
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.
2020-05-21 08:34:34 -06: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
98f20ec269 Use a worklet to permute fields rather than ArrayHandlePermutation
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.
2020-05-21 08:34:30 -06:00
Kenneth Moreland
4a5dbb65db Convert CleanGrid (and dependents) to use precompiled field map 2020-05-21 08:34:29 -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
b1f288aaea Add non-templated base class to Keys class.
The only reason Keys has a template is so that it can hold a UniqueKeys
array and provide the key for each group. If that is not needed and you
want to implement a library function that takes a keys object, you can
now grab the Keys superclass KeysBase. KeysBase is not templated, so you
can pass it to a standard method in a library.
2020-05-21 08:34:07 -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
Robert Maynard
0d2678368b Merge topic 'image_median_inline_constructor'
9dd7b8b48 filter::ImageMedian can be used in multiple compilation units

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2102
2020-05-21 09:15:25 -04:00
Abhishek Yenpure
3e18f105e9 Fixing Integrator Status Behavior
-- Setting the Spatial and OK bit both to 1 for Euler integrator
   similar to RK4

-- After discussion w/ Dave, the Spatial/Temporal bit will be the
   status of the particle and not the OK bit.
2020-05-20 16:27:57 -07: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
544a078cdb Remove use of deprecated policies in examples
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.
2020-05-20 12:58:24 -06:00
Sudhanshu Sane
10dc96cb87 Remove extra count variable 2020-05-20 10:30:16 -07:00
Sudhanshu Sane
536249f634 Merge remote-tracking branch 'upstream/master' into lagrangian_bugfix 2020-05-20 10:15:47 -07:00
Robert Maynard
9dd7b8b487 filter::ImageMedian can be used in multiple compilation units
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
2020-05-20 08:44:45 -04:00
Kenneth Moreland
05fcda6c76 Compile IO library with device compilers
Because the IO classes use ArrayHandle, they have to be compiled with
device compilers (even though they do not directly produce any device
code). This is a dumb requirement, but it is a requirement nonetheless.
2020-05-19 15:04:08 -06:00
Kenneth Moreland
dce576bd11 Add BOVDataSetReader implementation to vtkm_io 2020-05-19 14:33:45 -06:00
Kenneth Moreland
8657a9b3c8 Update VTKDataSetWriter to compile into vtkm_io 2020-05-19 14:32:48 -06:00
Kenneth Moreland
086439e71e Update variants of VTKDataSetReaders to compile into vtkm_io 2020-05-19 13:04:12 -06: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
Nick Thompson
5d20506a5d Remove overly verbose log pring. 2020-05-18 22:25:29 -04:00
Kenneth Moreland
06f5119c29 Fix deprecation warning
This came up when updating VTK-m in VTK.
2020-05-18 18:41:47 -06:00
Kenneth Moreland
f29a4712b0 Correct field types for ComputeMoments filter
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.
2020-05-18 18:39:22 -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
Allison Vacanti
6c98cbc6e4 Add missing Algorithm::Synchronize() in timer test. 2020-05-17 12:53:14 -04:00
Nick
9aa350ee3d Fix bad whitespace. 2020-05-14 18:13:03 -04:00
Nick
9991179e6d Do not use auto return type; it's not supported until C++14. 2020-05-14 18:10:32 -04:00
Nick
f1ee3f51f1 Merge branch 'master' into deprecate_read_portal_get 2020-05-14 16:26:49 -04:00
Nick
a55596b38c Reorder member functions. 2020-05-14 16:10:33 -04:00
Nick
6fba7347a9 Mark pixel destructors as virtual to fix build error. 2020-05-14 14:29:34 -04:00
Nick
9471041484 Merge branch 'master' into deprecate_read_portal_get 2020-05-14 14:04:44 -04:00
Robert Maynard
cd1f6393c9 Merge topic 'deprecated_warnings_nvcc_gcc_7'
53c33e24a Assume NVCC has zero support for VTK_M_DEPRECATED_ATTRIBUTE_SUPPORTED

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2088
2020-05-14 08:50:16 -04:00
Nickolas Davis
3a42ebf7bd Merge topic 'image-io'
24d022b02 Implement and test ImageReader and ImageWriter capabilities in the io library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1967
2020-05-13 19:20:42 -04:00
nadavi
24d022b02b Implement and test ImageReader and ImageWriter capabilities in the io library 2020-05-13 16:10:21 -06:00
Robert Maynard
53c33e24ad Assume NVCC has zero support for VTK_M_DEPRECATED_ATTRIBUTE_SUPPORTED 2020-05-13 14:52:13 -04:00
NAThompson
1f8e2db7b2 Remove unused variable from UnitTestTimer. 2020-05-13 13:00:40 -04:00
NAThompson
194c6f6b42 Attempt to make UnitTestTimer fail less often. 2020-05-13 12:31:25 -04:00
Abhishek Yenpure
ff112e4244 Integrator status behavior check 2020-05-12 17:00:52 -07:00
Vicente Bolea
ba77f36347 Merge topic 'fix-optimizing-threadindices'
d5906eccd add ThreadIndicesTopologyMap optimized specializations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2027
2020-05-12 18:08:32 -04:00
Nick
9d9e332b0d Merge topic 'bov_test'
2fc636c27 Test BOV reader. Fix slow WritePortal().Set(idx, val) loop.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2081
2020-05-12 16:18:44 -04:00
NAThompson
d961c185ac Deprecate ReadPortal().Get pattern. 2020-05-12 15:43:40 -04:00
Abhishek Yenpure
343f2d5773 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix 2020-05-12 11:35:53 -07:00
Sudhanshu Sane
5198447820 Fix order of initialized seeds to match output format 2020-05-12 11:18:33 -07:00
Vicente Adolfo Bolea Sanchez
d5906eccd9 add ThreadIndicesTopologyMap optimized specializations
This commit splits ThreadIndicesTopologyMap into two
different specializations which can be instanciated with the
tags: DefaultScatterAndMaskTag and CustomScatterAndMaskTag.

These specialization will allow ThreadIndicesTopologyMap
instances to avoid holding in memory InputIndex, OutputIndex and ThreadIndex
variables when Mask = MaskNone and Scatter = ScatterIdentity which in this case
are not needed since no transformation are done.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-05-12 13:45:43 -04:00
Robert Maynard
51e600e7e2 Remove no_discard warnings from unneeded calls of a rng 2020-05-12 09:38:18 -04:00
NAThompson
2fc636c276 Test BOV reader. Fix slow WritePortal().Set(idx, val) loop. 2020-05-11 17:08:44 -04:00
Nick
990ae4b9a6 Merge topic 'readportalget2'
afe9c2a2b Update UnitTestTimer.cxx
46faf574f ReadPortal().Get(idx) is slow in a loop.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2078
2020-05-08 18:25:14 -04:00
Li-Ta Lo
f670103fe6 Merge topic 'marching_cell_wedge'
08da38bd4 use the new VTKDataSetReader
97094cfb8 Merge branch 'master' into marching_cell_wedge
8c0787b5d Merge branch 'master' into marching_cell_wedge
aef44b5c9 change sample input file in unit test
2880be2ea rename sample input for wedge contour
52f0d5b2d Fix MarchingCell for Wedge

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2070
2020-05-08 15:11:35 -04:00
Nick
afe9c2a2b0 Update UnitTestTimer.cxx 2020-05-08 15:00:02 -04:00
Li-Ta Lo
08da38bd49 use the new VTKDataSetReader 2020-05-08 11:14:47 -06:00
Li-Ta Lo
97094cfb88 Merge branch 'master' into marching_cell_wedge 2020-05-08 09:45:52 -06:00
NAThompson
46faf574fa ReadPortal().Get(idx) is slow in a loop. 2020-05-08 11:30:59 -04:00
NAThompson
9da8c81409 Trivial typo fix. 2020-05-08 10:59:09 -04:00
Li-Ta Lo
8c0787b5de Merge branch 'master' into marching_cell_wedge 2020-05-07 16:51:35 -06:00
Kenneth Moreland
ddf038742d Use finite types when serializing fields
When serializing fields, you have to select what underlying data types
of the field you want to support serializing. With recent changes in the
default policy, attempts to serialize a field often resulted in trying
to use the `vtkm::ListUniversal` type list, which is infinite.
Obviously, this cannot be compiled.

Instead, when the `vtkm::ListUniversal` list is encountered, use
`vtkm::TypeListAll` instead.
2020-05-07 13:58:08 -06:00
Li-Ta Lo
aef44b5c97 change sample input file in unit test 2020-05-05 14:24:21 -06:00
Allison Vacanti
2d4d54b170 Remove Set method from const ArrayPortalFromIterators specialization...
...and add unit test.

Related to !2071, #502.
2020-05-05 13:55:54 -04:00
Robert Maynard
2151c0a375 Merge topic 'add_windows_shell_ci_worker'
b033b28ef Add a windows10 vs2019 + shell builder
1e5c19a28 ContourTreeUniformAugmented compiles with visual studio + cuda
0ee0bf7cb Correct vtkm/Deprecated.h to work with CUDA and VS2019

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2055
2020-05-05 11:19:46 -04: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
Robert Maynard
1e5c19a285 ContourTreeUniformAugmented compiles with visual studio + cuda 2020-05-04 12:02:56 -04:00
Robert Maynard
0ee0bf7cb2 Correct vtkm/Deprecated.h to work with CUDA and VS2019 2020-05-04 12:02:56 -04:00
Vicente Adolfo Bolea Sanchez
3b55797d41 replaces Dataset fields vector to a map
This refactor aims to increase the performance of
AddField / Getfield at the expense of memory usage and
some bits of performances when only few fields are used

Moving to non-contiguous memory will impact cpu cache benefits,
however, since each of the Field has again another pointer to
its actual data, this benefits where actually just small.

Also the choice of map v.s. unordered_map is about the number of
elements, very likely few rehashing happenings from until <100

This will also reduce the memory fragmentation caused by vectors.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-05-01 14:05:03 -04:00
Vicente Bolea
048652e25b Merge topic 'fix-303-remove-opengl-rendering-classes'
48ee2e518 removed classes related to OpenGL/OSMESA/EGL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !2010
2020-05-01 13:44:33 -04:00
Nick
becb289694 Merge topic 'deprecate_reader'
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
2020-05-01 07:53:21 -04:00
Vicente Adolfo Bolea Sanchez
48ee2e5182 removed classes related to OpenGL/OSMESA/EGL 2020-04-30 18:24:01 -04:00
Kenneth Moreland
1c703b94c4 Merge topic 'filter-specifies-own-field-types'
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
2020-04-30 10:01:20 -04:00
NAThompson
697369fc14 Remove deprecation warnings throughout the project. 2020-04-30 08:12:04 -04:00
NAThompson
d610176aba First commit demos backwards compatibility and printing of warnings. 2020-04-30 07:37:55 -04:00
NAThompson
b82051746c Test that no warnings are generated and tests pass. 2020-04-29 11:30:18 -04:00
NAThompson
20c6e69338 Deprecate writer/ directory. 2020-04-29 11:11:02 -04:00
Kenneth Moreland
882dcacca4 Have filter specify its own field types
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.
2020-04-28 10:31:44 -06:00
NAThompson
820b8c8a8a Fix comment and new line. 2020-04-28 11:24:09 -04:00
NAThompson
277a0c7f7d Deprecate EncodePNG and DecodePNG from vtkm::rendering. 2020-04-28 11:14:51 -04:00
NAThompson
51c4e6d4ff Merge remote-tracking branch 'upstream/master' into refactor_vtkm_io 2020-04-28 11:13:54 -04:00
Nick
54e15e8f14 Export symbol as VTK_IO_EXPORT. 2020-04-28 09:12:11 -04:00
Nick
1a16299b8c Fix build error. 2020-04-28 07:47:31 -04:00
Nick
981f0ed0d9 First stab at building a vtkm_io library target. 2020-04-28 07:13:27 -04:00
Kenneth Moreland
a44392027a Fix compile error in UnitTestTaskStrided.cu from changes in Fetch
A recent change removed the thread indices parameters from the arguments
to the `Fetch` template. Somehow, an instance of using the old template
in the CUDA task strided tests snuck through the dashboard tests.
Correct that.
2020-04-27 17:47:37 -06:00
Dave Pugmire
87470a89b7 Merge topic 'fix_euler_step_particleAdvection2'
2ecca9edf Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into fix_euler_step_particleAdvection2
d2e9b3d30 Fix for small euler step for particle advection.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2057
2020-04-27 09:41:39 -04:00
Vicente Adolfo Bolea Sanchez
d0396e2a40 relaxes ThreadIndicesType across multiple worklets fetchs
This change is needed for being able to use different thread indices types
without changing Fetchs. Basically decoupling those two areas.

1. This commit removes concrete specialization instantiations of
   ThreadIndicesTypes in all of the Fetch's specializations.

2. It also moves the ThreadIndicesType template parameter from the Fetch
   struct to a template parameter in their methods Load/Store.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-24 17:39:31 -04:00
dpugmire
2ecca9edf1 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into fix_euler_step_particleAdvection2 2020-04-24 14:47:41 -04:00
nadavi
02ef5291f5 incorporate -fPIC flag in lodepng when buliding linux 2020-04-24 12:10:35 -06:00
Matt Larsen
319af8e25e Merge topic 'fix/scalar_rendering'
6fe468410 add normalization bypass for nodal scalars
4c0a3858b don't always normalize scalars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sudhanshu Sane <ssane@cs.uoregon.edu>
Merge-request: !2056
2020-04-23 20:35:20 -04:00
dpugmire
d2e9b3d306 Fix for small euler step for particle advection. 2020-04-23 16:14:28 -04:00
Matt Larsen
6fe4684102 add normalization bypass for nodal scalars 2020-04-23 12:56:46 -07:00
Nickolas Davis
d22b658c3a Merge topic 'lodepng-in-lib'
b380e702d only include the lodepng header when installing
c9cbd9693 fix type warnings
62fe68acd fixes to match old files
abf569288 Merge branch 'upstream-lodepng' into lodepng-in-lib
957568e36 lodepng 2020-04-16 (b51302e1)
e925d6d54 turn lodepng into a library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2034
2020-04-23 14:02:09 -04:00
Matt Larsen
4c0a3858b2 don't always normalize scalars 2020-04-23 10:31:39 -07:00
Petar Hritov
c3781433e4 Upgarded performance output for cvs files. 2020-04-23 10:41:28 +01:00
Petar Hritov
fe6c0e94cc Updated performance number output. 2020-04-23 09:40:09 +01:00
Vicente Adolfo Bolea Sanchez
738c05ae87 fixes OMP reduction when using OMP_NUM_THREADS lt 4
This fixes, which where triggered since in the new CI, one of the
docker runner set `OMP_NUM_THREADS=3`:

1. `UnitTestOpenMPDeviceAdapter`
2. `UnitTestMeshQualityFilter`

In the redution optimized implementation for _OpenMP_, it unrolls
the reduce loop in iterations of four elements. The last iteration
in the loop might overflow the loop end element (when it is not a
multiple of four).

This commit fixes this by setting the OpenMP unrolled reduce loop
end element to its previous closest multiple of four of the original end
element.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-22 20:14:34 -04:00
nadavi
b380e702d2 only include the lodepng header when installing 2020-04-22 15:00:19 -06:00
nadavi
c9cbd9693d fix type warnings 2020-04-22 12:29:40 -06:00
nadavi
62fe68acdd fixes to match old files 2020-04-22 12:18:43 -06:00
nadavi
abf5692887 Merge branch 'upstream-lodepng' into lodepng-in-lib
* upstream-lodepng:
  lodepng 2020-04-16 (b51302e1)
2020-04-22 12:07:52 -06:00
nadavi
e925d6d54c turn lodepng into a library 2020-04-22 12:07:32 -06:00
Kenneth Moreland
94f0d2f8a5 Restore device tests
While debugging, I commented out a section of the device adapter tests
to narrow down on some issues. Oops, I forgot to restore the test. Do
that now.
2020-04-21 11:46:40 -06:00
Petar Hritov
00907fde2d Fully parallel BG (finally). 2020-04-21 17:34:30 +01:00
Robert Maynard
098c50b382 Merge topic 'encode_png'
1d4ebaec9 Image was upside down; flip it over, demo usage.
4e76c00a4 Fix linker error and multiply defined symbols.
eb36a07ab Use logging framework [CI SKIP]
104e7bd9c Halting first steps towards encoding .pngs.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2048
2020-04-21 08:05:03 -04:00
Petar Hritov
2e2a88cd77 Now outputing the time of the hypersweep in a single number. 2020-04-20 08:21:27 +01:00
Petar Hritov
6b02a5356a New working checkpoint (version with including the vertex in the min/max. 2020-04-19 16:07:36 +01:00
Petar Hritov
eb72a90357 Bugfix, height BD now fully parallelised. 2020-04-19 11:13:20 +01:00
Petar Hritov
560bcb0667 Fully parallelised Hypersweep. 2020-04-17 16:23:26 +01:00
Vicente Bolea
a0e7838b87 Merge topic 'refactor-meshquality-use-errorcodes'
026fd14ba CellMetrics return vtkm::ErrorCode instead of raising errors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2041
2020-04-17 10:43:48 -04:00
Nick
1d4ebaec9f Image was upside down; flip it over, demo usage. 2020-04-17 07:56:03 -04:00
Nick
4e76c00a42 Fix linker error and multiply defined symbols. 2020-04-17 07:32:01 -04:00
Nick
eb36a07ab7 Use logging framework [CI SKIP] 2020-04-17 06:53:32 -04:00
Nick
104e7bd9c2 Halting first steps towards encoding .pngs. 2020-04-17 06:22:30 -04:00
Petar Hritov
99a16f8367 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into working-branch-scan-fixed 2020-04-17 08:07:25 +01:00
Vicente Adolfo Bolea Sanchez
026fd14ba6 CellMetrics return vtkm::ErrorCode instead of raising errors
- MeshQuality now throws ErrorCode messages

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-16 17:27:42 -04:00
Kenneth Moreland
6dc0b394a9 Fix reduce-by-key with a fancy output array
If you gave ReduceByKey a fancy output array that decorated another
array, you could get a runtime error for using an invalid array (if the
device adapter used the generic algorithm). The problem was that
ReduceByKey creates a temporary array, and that array was given the same
storage as the output array. That might not be valid for fancy arrays,
so instead use the default storage for the temporary array.
2020-04-16 14:19:44 -06:00
Petar Hristov
791843214c Parallelised half of the hypersweep. 2020-04-16 18:25:22 +01:00
Kenneth Moreland
52f157e420 Fix scan-by-key with a fancy output array
If you gave ScanInclusiveByKey a fancy output array that decorated
another array, you would get a runtime error for using an invalid array.
The problem was that ScanInclusiveByKey creates a temporary output array
and then copies the result to the actual output array. The problem was
that the temporary output array was given the same storage as the output
array, which won't work if the output array is fancy. Instead, make the
storage for the temporary array default.
2020-04-16 10:37:48 -06:00
Petar Hristov
40b3c7c2b8 Fixed bug where a node was incorrectly added to the subtree min/max. 2020-04-16 16:52:48 +01:00
Petar Hristov
d63961da7c Properly parallelised the hypersweep. 2020-04-16 07:35:40 +01:00
Robert Maynard
fdffaac2d2 Merge topic 'flying_edges_support_multi_contour'
243425421 Flying Edges now works with multiple contours

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2039
2020-04-15 13:46:27 -04:00
Petar Hristov
cd271994b2 Parallelised the hypersweep. 2020-04-15 18:11:06 +01:00
Robert Maynard
2434254218 Flying Edges now works with multiple contours 2020-04-14 09:21:27 -04:00
Vicente Adolfo Bolea Sanchez
6c7855aed8 relax ThreadIndicesType requirements for WorkletInvokeFunctorDetail
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-10 13:13:35 -04:00
Matt Larsen
0a6f66986c add whitespace 2020-04-07 18:08:02 -07:00
Matt Larsen
ecd1512dd6 render 2d mesh lines 2020-04-07 13:13:10 -07:00
Jérôme Dubois
4416f85543 Fixing ColorTable::PrepareForExecution and DispatcherMapField 2020-04-03 14:14:29 +02:00
Vicente Adolfo Bolea Sanchez
64e35e6fbf removed doxygen warning at ArrayHandleRandomUniformBits 2020-04-02 11:49:24 -04:00
Abhishek Yenpure
82cfba27cf Rectify testing code 2020-04-01 21:26:26 -07:00
Abhishek Yenpure
8ddecbb431 Fixing test issues 2020-04-01 17:29:33 -07:00
Abhishek Yenpure
6274b16570 Updating Euler Integrator to work 2020-04-01 17:11:15 -07:00
Robert Maynard
5061d43f5a vtkm_option should be used as it properly handles CMP0077
Without using vtkm_option, you will run into CMP0077 which
means "option() won't honor normal variables".
2020-04-01 08:52:07 -04:00
Robert Maynard
ac55c0e551 Merge topic 'disable_deprecation_under_nvcc'
e37eedadb CUDA doesn't like [[deprecated]] when applied to typedefs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2018
2020-04-01 08:30:27 -04:00
Robert Maynard
e37eedadb1 CUDA doesn't like [[deprecated]] when applied to typedefs
So we disable deprecation support when building with `nvcc`
2020-03-31 14:56:49 -04:00
Kenneth Moreland
2016aa01d5 Fix unused parameter warnings
One of the dashboard compilers (gcc 4.8 with cuda, I think) was giving
warnings about an unused parameter. Apparently, the compiler did not
like the parameters defined for `default` assignment operators.
2020-03-30 14:45:40 -06:00
James
46d7d1865a Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-27 11:33:18 -04:00
Robert Maynard
b6a92c940b Merge topic 'fixed_point_write'
cad7b593d Fix warning.
7da30d254 Write data in fixed point, not scientific notation. Increase performance by removing buffer flushes.
98dbf7c1a Replace spaces by underscores in SCALAR name field.
b3d170f2d Compound datatypes for writer.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2001
2020-03-27 08:41:25 -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
Nick
cad7b593d2 Fix warning. 2020-03-26 12:12:54 -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
Robert Maynard
e1ccaced3e Merge topic 'add_flying_edges'
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
2020-03-25 16:53:21 -04:00
Robert Maynard
8810fc2fa6 Merge topic 'philox'
ef49a71aa Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox
563642400 remove outdated comments on type-punning
be7c18544 tried to supress warning about type punning
c795f74b2 Merge branch 'master' into philox
2b43fcb25 change function signature for work with MSVC
13e7ac362 Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox
1e2fd540d add Doxygen documentation
f2ea17917 add Doxygen documentation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1990
2020-03-25 13:17:50 -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
Vicente Bolea
f05f2edd33 Merge topic 'fix-cuda-runtime-errors'
873f6bab0 check more types in UnitTestScatterAndMaskWithTopology

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2006
2020-03-25 12:04:11 -04:00
Kenneth Moreland
287a6f8b9b Merge topic 'fix-inappropriate-virtual-method'
c0b780543 Fix an inappropriate use of virtual methods in an execution test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2011
2020-03-25 11:28:40 -04:00
Kenneth Moreland
545e60fbe3 Merge topic 'no-streaming-arrayhandle'
4f9fa08fa Remove ArrayHandleStreaming capabilities

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2008
2020-03-25 11:26:26 -04:00
Robert Maynard
91c56d680c Update Contour tests to be aware of flying edge output 2020-03-25 08:23:10 -04:00
Robert Maynard
1b256281f4 Convert contour worklet to expect isovalues to a std::vector
This reduces an ugly component of the Contour API
2020-03-25 08:23:10 -04:00
Robert Maynard
c2bab6c6bb Introduce FlyingEdges for 3d structured datasets 2020-03-25 08:23:10 -04:00
Petar Hristov
361f26383a Working checkpoint. 2020-03-25 10:31:03 +00:00
Petar Hristov
f0645de4cd First attemps at parallelising the Hypersweep. 2020-03-25 08:07:39 +00:00
Vicente Adolfo Bolea Sanchez
873f6bab0c check more types in UnitTestScatterAndMaskWithTopology
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-24 20:20:46 -04:00
Kenneth Moreland
4f9fa08fa1 Remove ArrayHandleStreaming capabilities
The `ArrayHandleStreaming` class stems from an old research project
experimenting with bringing data from an `ArrayHandle` in parts and
overlapping device transfer and execution. It works, but only in very
limited contexts. Thus, it is not actually used today. Plus, the feature
requires global indexing to be permutated throughout the worklet
dispatching classes of VTK-m for no further reason.

Because it is not really used, there are other more promising approaches
on the horizon, and it makes further scheduling improvements difficult,
we are removing this functionality.
2020-03-24 15:01:56 -06:00
Kenneth Moreland
c0b7805435 Fix an inappropriate use of virtual methods in an execution test
One of the execution tests, UnitTestScatterAndMaskWithTopology,
was defining a hierarchy of worklets that defined a virtual
operator(). It mostly still worked since the code was executed
with the final type and thus did not actually need to look up
the virtual table. However, some invalid memory access must have
been happening in CUDA since under some unpredictable circumstances
a memory protection error was happening.

This fixes the problem by removing the virtual methods.
2020-03-24 11:42:08 -06:00
Kenneth Moreland
b54719b4e0 Merge topic 'modify-default-policy'
42bc9a393 Fix gaps in type support
dc112b516 Enable changing policy used for library compiles
76f870150 Type check input and output array arguments differently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1997
2020-03-24 12:17:23 -04:00
Li-Ta Lo
563642400a remove outdated comments on type-punning 2020-03-24 09:49:48 -06:00
Vicente Bolea
83fdb10df2 Merge topic 'fix-doxygen-warnings'
4797426e1 silenced doxygen unsupported c++ syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2000
2020-03-24 11:33:25 -04:00
James
95ba497bb2 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-24 10:53:06 -04:00
Petar Hristov
7013a4afa6 Parallse part of the hypersweep. 2020-03-24 11:38:23 +00:00
Petar Hristov
5f1333cabb Parallelised pointer doubling in the contour tree branch decomposition. 2020-03-24 09:06:32 +00:00
Petar Hristov
ad2dfc18e8 Added stopwatches for debugging. 2020-03-24 07:17:49 +00:00
Vicente Adolfo Bolea Sanchez
4797426e1f silenced doxygen unsupported c++ syntax
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-23 19:55:46 -04:00
Li-Ta Lo
be7c185449 tried to supress warning about type punning 2020-03-23 15:03:57 -06:00
Kenneth Moreland
dec4b96d38 Fix warning about using a deprecated method 2020-03-23 10:23:47 -06:00
Li-Ta Lo
c795f74b24 Merge branch 'master' into philox 2020-03-23 08:28:02 -06:00
Petar Hristov
ecfb1f2e36 Working parallelisable height BD. 2020-03-23 14:11:31 +00:00
Robert Maynard
1995e52047 Correct minor issues from refactoring MarchingCells worklets 2020-03-22 12:49:58 -04:00
Robert Maynard
d3512879d1 Remove unneeded template parameters from Gradient. 2020-03-22 12:49:58 -04:00
Matt Larsen
6a809676d6 re-set ray camera for default light 2020-03-21 14:07:05 -07:00
Matt Larsen
e889373686 fix scalar renderer portal warning 2020-03-21 08:29:19 -07:00