Commit Graph

4735 Commits

Author SHA1 Message Date
David Thompson
52a1495859 Fix cell measure when using double precision as default. 2018-05-18 14:05:06 -04:00
Abhishek Yenpure
ffe7f67e52 Merge topic 'temporalparticleadvection'
7188c6ef Removing bad whitespace from TemporalGridEvaluators.h
bc405366 Fixing header guard warning
b39ee80b Fix errors missed/introduced in previous commit.
eb2ed4f2 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection
24dd0638 Fixing merge mess for particle advection
78118a84 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection
129e320d Replicating Rob's changes from the master
40fe133d Fix compile warnings for Temporal Advection
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Merge-request: !1165
2018-05-17 13:25:15 -04:00
Robert Maynard
9764aca5fe Merge topic 'vtkm_cont_device_tests_use_error_device_to_smoke_out_bad_device_uses'
1c5feeb1 Make sure all device specific tests use the intended device.
30205be8 Make sure PointLocatorUniformGrid always uses the provided device adapter
74df09fb Remove unneeded trailing ; from PointLocatorUniformGrid

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1209
2018-05-17 12:32:42 -04:00
David Thompson
1cf1ca7141 Merge topic 'cell-measure'
00c7905a Rename `vtkm::dot()` to `vtkm::Dot()`.
dd7c17f7 Compute cell measures (arc length, area, volume).

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1203
2018-05-17 11:02:34 -04:00
Brad King
b0baa951fa Merge topic '43-ArrayHandleCompositeVector-refactor'
c3c8d0fd Refactor ArrayHandleCompositeVector to simplify usage and impl.
ec88b7dd Markup array portals for use in the exec env.
3159b376 Make Swizzle and ExtractComponent array parameters runtime vars.
19344707 Add vtkm_taotuple to build system.
d23c4452 Merge branch 'upstream-taotuple' into tmp
b3b14de7 taotuple 2018-05-15 (e3de8c97)
b00f6c1c Add taocpp/tuple as a thirdparty package.

Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1199
2018-05-17 09:23:28 -04:00
David Thompson
00c7905afb Rename vtkm::dot() to vtkm::Dot().
This keeps the old name around but prepares it for removal
in the next release.
2018-05-17 08:51:01 -04:00
David Thompson
dd7c17f776 Compute cell measures (arc length, area, volume).
This commit adds a worklet and a filter to compute
signed integral measures of cells.

It also begins the practic of adding a markdown
changelog entry in `doc/changelog`. See the
changelog entry for details.
2018-05-17 08:50:56 -04:00
ayenpure
7188c6ef63 Removing bad whitespace from TemporalGridEvaluators.h 2018-05-16 11:30:27 -07:00
Allison Vacanti
c3c8d0fd70 Refactor ArrayHandleCompositeVector to simplify usage and impl.
- Use tao::tuple instead of FunctionInterface to hold array/portal
  collections.
- Type signatures are simplified. Now just use:
  - ArrayHandleCompositeVector<ArrayT1, ArrayT2, ...>
  - make_ArrayHandleCompositeVector(array1, array2, ...)
  instead of relying on helper structs to determine types.
- No longer support component selection from an input array. All
  input arrays must have the same ValueType (See ArrayHandleSwizzle
  and ArrayHandleExtractComponent as the replacements for these
  usecases.
2018-05-16 11:45:12 -04:00
Allison Vacanti
ec88b7dd24 Markup array portals for use in the exec env.
Since we now use a CUDA-aware tuple object to store ArrayHandles and
Portals for the CompositeVector, these must be constructable on
devices.
2018-05-16 11:45:12 -04:00
Allison Vacanti
3159b376b3 Make Swizzle and ExtractComponent array parameters runtime vars. 2018-05-16 11:45:11 -04:00
Allison Vacanti
193447078f Add vtkm_taotuple to build system. 2018-05-16 11:45:11 -04:00
Robert Maynard
1c5feeb185 Make sure all device specific tests use the intended device.
This means that we not only setup the runtime device tracker
to force the intended device, it also means making sure
the default device is the error device.
2018-05-16 08:21:16 -04:00
Robert Maynard
30205be832 Make sure PointLocatorUniformGrid always uses the provided device adapter 2018-05-16 08:21:16 -04:00
Robert Maynard
74df09fbe0 Remove unneeded trailing ; from PointLocatorUniformGrid
These cause warnings with the nvcc compiler
2018-05-16 08:21:16 -04:00
ayenpure
bc40536639 Fixing header guard warning 2018-05-15 17:55:30 -07:00
ayenpure
b39ee80b70 Fix errors missed/introduced in previous commit.
- Missed a ',' to seperate template argument in GridEvaluator
- Adding initialization of params to Integrators for RK4
- Fixing ExecutionBaseObject changes for Particles
2018-05-15 17:45:04 -07:00
Robert Maynard
a4b16c4b4e Merge topic 'deviceadapter_runtime_odr'
e28244f3 Re-implement DeviceAdapterRuntimeDetector to avoid ODR violations.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1206
2018-05-15 17:31:01 -04:00
Haocheng Liu
ebdc8bd047 Merge topic 'make-pi-constexpr'
2e62d78b Make vtkm:Math Pi() operations constexpr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1207
2018-05-15 15:26:35 -04:00
Allison Vacanti
d23c445296 Merge branch 'upstream-taotuple' into tmp
* upstream-taotuple:
  taotuple 2018-05-15 (e3de8c97)
2018-05-15 15:19:13 -04:00
TaoCpp Tuple Upstream
b3b14de7e0 taotuple 2018-05-15 (e3de8c97)
Code extracted from:

    https://gitlab.kitware.com/third-party/taotuple.git

at commit e3de8c97081d4ccf92c2a2c898caeae2a12f96e7 (for/vtk-m).
2018-05-15 15:19:13 -04:00
ayenpure
eb2ed4f275 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection 2018-05-15 11:46:26 -07:00
ayenpure
24dd063810 Fixing merge mess for particle advection
Adding Utkarsh's changes from 86bd81de to Rectilinear grid as well
 - To make rectilinear grids work with any storage type

Adding Rob's changes from 7d6fe568 to the RK4Integrator
 - Previously the RK4Integrator could compute velocity with uninitialized inputs.

Adding Rob's changes from a6bf830f to ParticleAdvection
 - Previous ParticleAdvection would dispatch some of the worklets on the default device adapter
   and not the explicitly requested device adapter

Adding Ken's change from 0753131a
 - For supporting all the previous merge conflicts with the new ExecutionObjectBase change.
2018-05-15 11:35:29 -07:00
Haocheng LIU
2e62d78b49 Make vtkm:Math Pi() operations constexpr
If they are used inside other mathematical expressions then the compiler
has a better chance to perform the operation at compile time.
2018-05-15 14:27:26 -04:00
Allison Vacanti
b00f6c1c0a Add taocpp/tuple as a thirdparty package. 2018-05-15 13:32:42 -04:00
Robert Maynard
e28244f345 Re-implement DeviceAdapterRuntimeDetector to avoid ODR violations.
The previous implementation of DeviceAdapterRuntimeDetector caused
multiple differing definitions of the same class to exist and
was causing the runtime device tracker to report CUDA as disabled
when it actually was enabled.

The ODR was caused by having a default implementation for
DeviceAdapterRuntimeDetector and a specific specialization for
CUDA. If a library had both CUDA and C++ sources it would pick up
both implementations and would have undefined behavior. In general
it would think the CUDA backend was disabled.

To avoid this kind of situation in the future I have reworked VTK-m
so that each device adapter must implement DeviceAdapterRuntimeDetector
for that device.
2018-05-15 13:08:34 -04:00
Robert Maynard
4e2e96dd6f Merge topic 'upgraded_multi_backend_example'
ad545dad multi_backend shows how a filter can use multiple device adapter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1184
2018-05-15 11:52:44 -04:00
Robert Maynard
ad545dad5b multi_backend shows how a filter can use multiple device adapter 2018-05-15 10:35:18 -04:00
Sujin Philip
7cf0926172 Merge topic 'cuda-arch-flags'
52758f7f Properly set up cuda architecture flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1204
2018-05-14 15:58:34 -04:00
Sujin Philip
52758f7f3a Properly set up cuda architecture flags 2018-05-14 14:23:28 -04:00
Robert Maynard
ea721a2420 Merge topic 'worklet_testing_proper_device_adapter'
d77ac2c8 Don't explicitly set backend on tests that use error backend.
4a750231 UnitTests with an explicitly backend pass it as a compile def

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1201
2018-05-11 15:29:00 -04:00
Robert Maynard
d77ac2c8dd Don't explicitly set backend on tests that use error backend.
The per device tests specifically setup the default backend to
be error to smoke out bad uses of the default backend.
2018-05-11 14:21:36 -04:00
Robert Maynard
4a75023115 UnitTests with an explicitly backend pass it as a compile def
Previously the backend was not past as a compile definition which
would cause serial worklet tests to use the TBB backend if
it was enabled.
2018-05-11 14:21:36 -04:00
Kenneth Moreland
eb75456d17 Merge topic 'name-of-exeuction-object-base'
0753131a Replace ExecutionObjectFactoryBase with ExecutionObjectBase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1200
2018-05-11 09:19:26 -04:00
Kenneth Moreland
0753131a04 Replace ExecutionObjectFactoryBase with ExecutionObjectBase
While making changes to how execution objects work, we had agreed to
name the base object ExecutionObjectBase instead of its original name of
ExecutionObjectFactoryBase. Somehow that change did not make it through.
2018-05-10 17:53:39 -06:00
Robert Maynard
e79e6a3403 Merge topic 'buildin_more_cuda_classes'
571556d9 CUDA's RuntimeDeviceTracker and Timer are now built as part of vtkm_cont

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1196
2018-05-10 16:34:25 -04:00
Robert Maynard
a37d191f11 Merge topic 'suppress_ptx_stack_size_on_dashboards'
6173300d Suppress on dashboards PTX recursive worklet stack size warnings.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1197
2018-05-10 16:30:50 -04:00
Sujin Philip
0a9c840419 Merge topic 'add-devflags-option'
d501a415 Add VTKm_ENABLE_DEVELOPER_FLAGS cmake option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1198
2018-05-10 13:24:48 -04:00
Sujin Philip
d501a41576 Add VTKm_ENABLE_DEVELOPER_FLAGS cmake option
The goal is to provide a way to disable VTK-m warning flags when used as a
thirdparty library.
VTK-m's stricter warning flags were cauing several new warnings in VTK.
2018-05-10 12:47:20 -04:00
Robert Maynard
6173300d5d Suppress on dashboards PTX recursive worklet stack size warnings.
The PTX pass has pretty bad warning controls and we can't suppress
specific warnings for a single function. So instead we suppress
on dashboard the ptx warning for functions we know work
2018-05-10 11:32:24 -04:00
Robert Maynard
571556d984 CUDA's RuntimeDeviceTracker and Timer are now built as part of vtkm_cont
This is done to not only reduce the amount of code that users need
to generate but to reduce the amount of errors when using
the RuntimeDeviceTracker. If the runtime device tracker is initially
used in a library by a c++ file it will never properly detect the
cuda backend. By moving the code into vtkm_cont we can make sure
this problem doesn't occur.
2018-05-10 10:57:06 -04:00
Sujin Philip
60c115fb68 Merge topic 'fix-warnings'
0c1634bb Fix a few more warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1195
2018-05-10 09:59:19 -04:00
Sujin Philip
0c1634bbc3 Fix a few more warnings
These warnings were detected on my local machine.
2018-05-09 17:49:45 -04:00
Sujin Philip
48d298e0af Merge topic 'suppress-cuda-warnings'
2f92e405 Suppress false positive cuda warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1192
2018-05-09 16:31:53 -04:00
Kenneth Moreland
b71416606b Merge topic 'fix-aspect-projections'
0da55730 Fix scaling of x/y field of views
39b347db Fix raytrace using wrong fov with standard camera

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1185
2018-05-09 16:02:40 -04:00
Sujin Philip
2f92e40503 Suppress false positive cuda warnings
Suppresses "declared but never referenced" warnings.
2018-05-09 13:17:37 -04:00
Sujin Philip
477eff2954 Merge topic 'fix-warnings'
78577345 Fix warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1191
2018-05-09 12:58:44 -04:00
Robert Maynard
5e52798e0a Merge topic 'document_cmake_compiler_targets'
916c0902 Correct Wstrict-overflow issues with gcc 5 and 6
b7ab0f11 ContourTreeUniform ignores strict-overflow optimization warnings.
c69fa0f3 Better document and consistently use vtkm compiler flag targets.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1194
2018-05-09 11:50:19 -04:00
Robert Maynard
916c0902cf Correct Wstrict-overflow issues with gcc 5 and 6 2018-05-09 08:26:45 -04:00
Robert Maynard
b7ab0f1194 ContourTreeUniform ignores strict-overflow optimization warnings.
Numerous worklets of ContourTreeUniform generate optimizations that
presume no vtkm::Id overflow. This assumption is correct, and the
related warning about this optimization can be safely ignored.
2018-05-08 17:38:35 -04:00