Commit Graph

4034 Commits

Author SHA1 Message Date
Kenneth Moreland
6ebc3ea761 Fix potential warning in AverageByKey
To get the average, we (of course) divide the sum by the amount of
values, which is returned from valuesIn.GetNumberOfComponents(). To do
this, we need to cast the number of components (returned as a
vtkm::IdComponent) to a FieldType. This is a little more complex than it
first seems because FieldType might be a Vec type. If you just try a
static_cast<FieldType>(), it will use the constructor to FieldType which
might be a Vec constructor expecting the type of the component. This in
turn could cause a warning because the vtkm::IdComponent is implicitly
converted to the Vec's component type.

Get around this problem by first casting to the component type of the
field and then constructing a field value from that.
2018-11-27 09:31:23 -07: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
Haocheng LIU
88bcd06964 Bump Mean C++ Option Parser
This MR bumps the version from 1.3 to 1.7 to absorb MSC compiler
fixes and const-correctness.
2018-11-23 10:13:56 -05:00
Robert Maynard
b922851bf2 Correct rendering warning of a 64bit to 32bit conversion 2018-11-19 14:20:45 -05:00
Kenneth Moreland
6002b1c1b5 Merge topic 'more-precise-boundary-state'
3e3baad6f Add better queries to vtkm::exec::arg::BoundaryState

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1456
2018-11-14 18:17:36 -05:00
Kenneth Moreland
33db6655fc Make the building of static color table presets is thread safe
If multiple threads call a function with a static function
simultaneously for the first time, C++ does not guarantee that the
static member will be constructed correctly. Make sure that it happens
correctly.
2018-11-14 09:19:07 -06:00
Kenneth Moreland
3e3baad6f8 Add better queries to vtkm::exec::arg::BoundaryState
Previously, vtkm::exec::arg::BoundaryState only provided methods that
said whether or not the neighborhood extened past the boundary of a
mesh. That is fine for a 3x3x3 neighborhood, which can only extend over
the boundary by one. However, that is problematic for larger
neighborhoods where you may need to know how far neighborhood extends
over the boundary.

This changes allows you to query how far the neighborhood extends within
the constrains of the boundary.
2018-11-13 22:45:06 -06:00
Kenneth Moreland
8984e74e8c Hold preset information in simple struct
Creating all the presets as vtkm::cont::ColorTable objects and passing
them back was problematic. It caused state to be shared and caused
issues when deallocating after the device deallocation methods were
finalized. Instead, make a simple struct and build new color tables on
the fly.
2018-11-11 17:30:11 -07:00
Kenneth Moreland
70e10459c7 Update presets for ColorTable
The ParaView project went through a rigourous selection process
for a short list of color tables. Let's replicate that for our
presets.
2018-11-09 09:02:10 -07:00
Dave Pugmire
1e9c7b3c2a Add tests for rectilinear and explicit datasets. Remove a commented-out line. 2018-11-06 16:39:56 -05:00
Robert Maynard
dadfeab00a Simplify vtkm::cont::Field by using delegating constructors. 2018-11-02 14:18:09 -04:00
Haocheng LIU
e178b8c4cd Merge topic 'change-RuntimeDeviceInformation-template-independent'
bb0671780 Make RuntimeDeviceInformation class template independent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1446
2018-11-02 10:20:36 -04:00
Kenneth Moreland
67c9af91a9 Merge topic 'policies-for-auxiliary-fields'
86a747a11 Add ability to customize filter policy to auxiliary input fields

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1442
2018-11-01 20:04:01 -04:00
Haocheng LIU
bb06717803 Make RuntimeDeviceInformation class template independent
By making RuntimeDeviceInformation class template independent, vtkm is
able to detect
device info at runtime with a runtime specified deviceId. In the past
it's impossible
because the CRTP pattern does not allow function overloading(compiler
would complain
that DeviceAdapterRuntimeDetector does not have Exists() function
defined).
2018-11-01 14:55:33 -04:00
mclarsen
2d782ff7d0 removing some entries from test build exclusion (colors) 2018-11-01 09:45:57 -07:00
mclarsen
2addf93938 removing color conversion files from test build 2018-11-01 09:36:19 -07:00
mclarsen
e5d03852b1 add subdirectory for colorconversion 2018-11-01 09:25:10 -07: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
Robert Maynard
154b65f47a Install vtkm/cont/ColorTable.hxx so users can use color tables 2018-10-31 17:02:12 -04:00
Matt Larsen
27d7162b1e Merge topic 'partial_composites'
fd4ff8c1f adding files patch forgot
e03703578 removing unused variable
5a1685d8a updates to the connectivity tracer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1447
2018-10-31 11:40:29 -04:00
Robert Maynard
458fc974b5 Merge topic 'rework_colortable_for_separable_compilation'
169ca722b Redesign vtkm::cont::ColorTable to work with separable compilation.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1445
2018-10-31 11:24:43 -04:00
Robert Maynard
169ca722b3 Redesign vtkm::cont::ColorTable to work with separable compilation. 2018-10-31 08:18:08 -04:00
Matt Larsen
fd4ff8c1f3 adding files patch forgot 2018-10-30 08:18:56 -07:00
Matt Larsen
e037035780 removing unused variable 2018-10-30 08:09:11 -07:00
Matt Larsen
5a1685d8aa updates to the connectivity tracer 2018-10-30 07:46:42 -07:00
Robert Maynard
8237db209e Merge topic 'noexcept_move_constructors'
c66a6e480 Provided vtkm::cont::Storage with move schematics
1f86878f7 Make the ArrayHandle move constructors noexcept.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1439
2018-10-29 10:24:48 -04:00
Robert Maynard
e549cea8eb Merge topic 'openmp_rendering_tests'
184bdf9d6 Test rendering with OpenMP

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1441
2018-10-25 08:29:31 -04:00
Robert Maynard
c66a6e480d Provided vtkm::cont::Storage with move schematics 2018-10-24 15:45:55 -04:00
Robert Maynard
184bdf9d60 Test rendering with OpenMP 2018-10-24 15:39:54 -04: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
1f86878f78 Make the ArrayHandle move constructors noexcept.
std::containers only activate fast emplace operations if the
T types move operators are noexcept
2018-10-23 16:21:05 -04:00
Robert Maynard
8a739ee1b6 Merge topic 'correct_vtkm_warnings'
9403bac1f VTK-m device side math functions need to use the vtkm:: wrappers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1436
2018-10-22 08:36:42 -04:00
Robert Maynard
9403bac1f6 VTK-m device side math functions need to use the vtkm:: wrappers 2018-10-18 13:57:53 -04: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
Robert Maynard
57236e0f6e particleadvection was missing ::template causing VS2015 failures 2018-10-17 10:53:19 -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
bcbad61002 Fix warnings about uninitalized value
In some functors within Algorithm.h, the functor did not have a
default constructor that initialized its fields. This could in turn
lead to a warning about using it unitialized.
2018-10-16 17:19:49 -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
Robert Maynard
03e2e721ec Merge topic 'correct_ppp2_compile_failures'
a423cf056 TestBuild header paths are shorter to make windows happy.
e49e21aea Cleanup more of contourtree_augmented to make windows builders happy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1424
2018-10-16 16:16:47 -04:00
Robert Maynard
a423cf056c TestBuild header paths are shorter to make windows happy.
ContourTreeAugumneted paths became too long and caused msvc
to fail to construct pdb paths
2018-10-16 15:01:39 -04: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
723792a482 Use new integrators and evaluators for advection 2018-10-16 09:53:18 -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
Robert Maynard
e49e21aea4 Cleanup more of contourtree_augmented to make windows builders happy 2018-10-16 10:30:57 -04:00
Robert Maynard
45422478cf Refactor VirtualObjectHandle to support new virtual design 2018-10-15 17:38:54 -04:00
Robert Maynard
ab25b4228e Cleanup the documentation in ErrorBadDevice 2018-10-11 08:11:43 -04:00
Allison Vacanti
6fb879ec20 Fix typo in logging docs. 2018-10-10 15:39:13 -04:00
Allison Vacanti
be0db4b021 Add parameter-less InitLogging().
Also document that this function should only be called from a
single thread.
2018-10-10 15:39:03 -04:00