Commit Graph

1465 Commits

Author SHA1 Message Date
Steven Walton
6dbd9bb3f1 Adding global offsets 2019-04-16 17:18:24 -07:00
Robert Maynard
da1fb63258 Merge topic 'remove_default_device_macros'
ff30684c8 Removes the default device macros from VTK-m

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1641
2019-04-15 10:24:41 -04:00
Robert Maynard
ff30684c8e Removes the default device macros from VTK-m
Fixes #116
2019-04-15 08:15:36 -04:00
Robert Maynard
e54cbe85a8 contourtree_augmented doesn't call abort in VTK-m worklets 2019-04-12 13:26:30 -04:00
Allison Vacanti
0c70f9b9ac Add BitFieldIn/Out/InOut worklet signature tags.
These provide an appropriate BitPortal for use in worklets.
2019-04-11 08:27:17 -04:00
Robert Maynard
364bdce530 Correctly override the proper PrepareForExecution method 2019-04-05 17:14:46 -04:00
Robert Maynard
107edaff75 Merge topic 'move_device_adapter_tag_to_vtkm_cont'
1d20ae4f7 Move DeviceAdapterTag to vtkm/cont

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1624
2019-04-05 08:03:53 -04:00
Robert Maynard
30aedf287f Refactor the design of CellLocator::PrepareForExecution
The try execute functor now doesn't need to be a member of the
class. This helps with the separation of concerns.
2019-04-04 13:17:49 -04:00
Robert Maynard
1d20ae4f7b Move DeviceAdapterTag to vtkm/cont 2019-04-04 11:58:51 -04:00
Robert Maynard
6306ca66ce Merge topic 'refactor_cast_and_call_location'
72cb6343b Move vtkm::cont::CastAndCall into a header in vtkm/cont

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1622
2019-04-04 10:05:22 -04:00
Robert Maynard
7f612502ac Merge topic 'remove_unneeded_cont_exec_markup'
f1056affa Move select functions to host only to remove host/device suppressions
4f2156dfa Thrust detail::aligned_reinterpret_cast doesn't warn now
f4840618c Make sure ThrustPatches is included before thrust.
b2bbd66e6 Merge branch 'upstream-taotuple' into update_taoo
4ec6fc812 taotuple 2019-04-03 (8e70fa8a)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1607
2019-04-04 09:32:04 -04:00
Sujin Philip
e408537608 Merge topic 'update-CellLocatorTwoLevelUniformGrid'
566e220ea Suppress dashboard warnings
f20d7e788 Document the changes that are part of this MR.
f78e763be Add CellLocatorGeneral
c6bead838 Rename CellLocatorTwoLevelUniformGrid to CellLocatorUniformBins
ee838b829 Stylistic changes to CellLocators to match VTK-m

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1615
2019-04-03 15:56:27 -04:00
Robert Maynard
72cb6343b8 Move vtkm::cont::CastAndCall into a header in vtkm/cont
Since CastAndCall is meant to be a user callable function,
we should make sure it is part of the vtkm cont headers
2019-04-03 14:15:26 -04:00
Robert Maynard
f1056affa7 Move select functions to host only to remove host/device suppressions
We previously had to mark the make_FunctionInterface function as
host/device as it could be used in either place. The ramifications
of this is that each time we launched a worklet any input parameter
had to either suppress cuda exceptions, or had to rely on the
DispatcherBase to suppress the warnings.

By making make_FunctionInterface only host callable ( as it is ),
we can remove all of our unneccesary suppression logic and better
expose real issues with code that is marked host/device but can't
be due to calling things such as std::abort
2019-04-03 12:48:33 -04:00
Sujin Philip
f78e763be4 Add CellLocatorGeneral
A general purpose `CellLocator` that should work with any type of dataset.
Internally, it tries to chose one of the existing cell locators that would be
optimal for the input data.

Also removes `CellLocatorHelper`.
2019-04-03 10:22:05 -04:00
Robert Maynard
f4840618cf Make sure ThrustPatches is included before thrust. 2019-04-03 08:51:05 -04:00
Kenneth Moreland
04254dbd25 Merge topic 'specialize-worklet-for-device'
4e34feecb Add ability to specialize worklet for device

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1608
2019-04-02 12:08:01 -04:00
Kenneth Moreland
4e34feecb4 Add ability to specialize worklet for device
This adds an ExecutionSignature tag named Device that passes the
DeviceAdapterTag as an argument to the worklet's operator(). This allows
worklets to specialize their code based on the device.
2019-04-01 10:01:54 -06:00
Robert Maynard
18ff6681fb Less vtkm_cont cxx files bring in the cuda device
When you have CUDA enabled we need to make sure that all worklet
launches come from a cuda file otherwise we will generate ODR
violations.
2019-04-01 08:21:07 -04:00
Robert Maynard
de280d6a1c Merge topic 'fix_non_vtkm_style_includes'
b9e0e541b VTK-m once again uses consistent include style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1611
2019-03-29 11:02:52 -04:00
Robert Maynard
b9e0e541b8 VTK-m once again uses consistent include style 2019-03-28 14:12:08 -04:00
Allison Vacanti
319a85270e Merge topic 'fix_hostdevice_on_default'
2fa5b95e8 Fix warnings about __host__ / __device__ on defaulted methods.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1605
2019-03-28 13:34:13 -04:00
Allison Vacanti
2fa5b95e8d Fix warnings about __host__ / __device__ on defaulted methods.
CellInterpolationHelper.h(43): warning #2913-D: __device__ annotation is
ignored on a function("~CellInterpolationHelper") that is explicitly
defaulted on its first declaration.
2019-03-28 10:40:58 -04:00
Allison Vacanti
9014de0ebf Suppress new host/device warnings for cuda 10.1. 2019-03-26 14:53:42 -04:00
Abhishek Yenpure
02af238c69 Merge topic 'temporal_particle_advect'
525317249 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporal_particle_advect
2c1d3ee51 Updating example with new interfaces
cb8ea7dff Adding missing APIs
a7510a3c0 Fixing out of seq init warning
f3f2469b8 Adding direct constructor and vtkm::Lerp
2daf18956 Updating copyright for Unit Test
eca618e10 Fixing typos
be80dcc1a Adding changes for temporal advection, and adding test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Merge-request: !1590
2019-03-25 13:47:36 -04:00
Li-Ta Lo
84351eff6d Merge branch 'master' into connected_component 2019-03-24 10:13:32 -06:00
Robert Maynard
256e0c3c11 Merge topic 'rename_to_GetRuntimeDeviceTracker'
ae11e115a RuntimeDeviceTracker: Remove `Global` from names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1592
2019-03-24 08:17:02 -04:00
ayenpure
5253172492 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporal_particle_advect 2019-03-23 21:52:51 -07:00
Robert Maynard
ae11e115a0 RuntimeDeviceTracker: Remove Global from names 2019-03-22 08:53:26 -07:00
ayenpure
cb8ea7dffd Adding missing APIs 2019-03-21 16:42:55 -07:00
Kenneth Moreland
07fe1060a0 Merge topic 'bounding-interval-hierarchy-in-vtkm-cont'
5960b8abf Suppress nvlink warnings about virtual methods not used
0af017b03 Move virtual methods of other CellLocators to vtkm_cont
e87864b0e Put CellLocatorBoundingIntervalHierarchy in vtkm_cont library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1594
2019-03-21 13:41:06 -04:00
Kenneth Moreland
0af017b038 Move virtual methods of other CellLocators to vtkm_cont
These changes caused some warnings in clang to show up based on virtual
methods in other cell locators. Hence, the rest of the cell locators
have also had some of their code moved to vtkm_cont.
2019-03-20 17:38:50 -06:00
Kenneth Moreland
e87864b0e3 Put CellLocatorBoundingIntervalHierarchy in vtkm_cont library
All of the methods in CellLocatorBoundingIntervalHierarchy were listed in
header files. This is sometimes problematic with virtual methods. Since
everything implemented in it can just be embedded in a library, move the
code into the vtkm_cont library.
2019-03-20 17:33:08 -06:00
ayenpure
a7510a3c05 Fixing out of seq init warning 2019-03-20 14:35:36 -07:00
ayenpure
f3f2469b87 Adding direct constructor and vtkm::Lerp 2019-03-20 14:07:20 -07:00
Li-Ta Lo
cbd04b4bed minor change based on code review feedback 2019-03-20 11:58:22 -06:00
Dave Pugmire
17a7decc67 Replace use of Float32 with FloatDefault 2019-03-20 09:32:38 -04:00
ayenpure
2daf189560 Updating copyright for Unit Test 2019-03-19 17:19:41 -07:00
ayenpure
eca618e106 Fixing typos 2019-03-19 17:16:39 -07:00
ayenpure
be80dcc1ab Adding changes for temporal advection, and adding test 2019-03-19 17:11:36 -07:00
Li-Ta Lo
045da86e49 add unit test for image connectivity filter 2019-03-17 21:24:24 -06:00
Dave Pugmire
07273c88f2 Merge topic 'gridEval'
3868a5b30 Remove the commented out stack code.
e7066ad94 compiler errors.
de7d9cc27 fix compile errors, remove cudastack hacks.
9b9742f43 Merge branch 'no-recurse-bih' of https://gitlab.kitware.com/kmorel/vtk-m into gridEval
ab9d0fad2 Remove warning exceptions for BoundingIntervalHierarchy recursive calls
8127093a2 Add CellLocator to name of BoundingIntervalHierarchy
c008df90c Non-recursive method to find cells in BoundingIntervalHierarchyExec
c463bbec9 Add parent index to BIH tree
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1536
2019-03-16 22:14:10 -04:00
Kenneth Moreland
19c981d387 Merge topic 'uint8-conversion-warnings'
68d5d2695 Fix warnings about conversion to int8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1583
2019-03-15 19:06:28 -04:00
Dave Pugmire
e7066ad94b compiler errors. 2019-03-15 14:46:25 -04:00
Dave Pugmire
de7d9cc27b fix compile errors, remove cudastack hacks. 2019-03-15 13:40:48 -04:00
Sujin Philip
d4e1c18254 Update existing code to use the new functions 2019-03-15 13:28:55 -04:00
Dave Pugmire
9b9742f436 Merge branch 'no-recurse-bih' of https://gitlab.kitware.com/kmorel/vtk-m into gridEval 2019-03-15 13:05:39 -04:00
Kenneth Moreland
68d5d26951 Fix warnings about conversion to int8
Now that UInt8 has become part of the list of default types compiled,
there have been numerous warnings that have popped up about converting
ints to unsigned char. The reason for these is when you do arithmetic
(+, -, *, or /) on a char or short, it is automatically upconverted to a
32-bit integer. When you then try to set that back to a smaller integer,
you get a conversion warning.

This change gets around this problem by explicitly telling the compiler
we expect this type with static_cast. We have also talked about
disabling conversion warnings, but this has not happened on all
dashboards, and it is not that hard to work around the warning.
2019-03-15 10:38:15 -06:00
Li-Ta Lo
df5420d192 Merge branch 'master' into connected_component 2019-03-14 16:16:21 -06:00
Kenneth Moreland
8127093a2f Add CellLocator to name of BoundingIntervalHierarchy
This will help identify the nature of this object as well as find cell
locator implementations.
2019-03-14 16:13:59 -06:00
Kenneth Moreland
c463bbec93 Add parent index to BIH tree
This will help us traverse back up the tree without a call stack (which
is causing issues on CUDA).
2019-03-14 15:52:47 -06:00
Dave Pugmire
6edda87c3a Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into gridEval 2019-03-14 13:40:33 -04:00
Dave Pugmire
533f2e5eb3 Cleanup. 2019-03-14 09:39:56 -04:00
Dave Pugmire
313618c590 disable explicit 2019-03-14 05:42:26 -04:00
Dave Pugmire
b2d5d66de5 fixes for cuda stack 2019-03-13 16:41:08 -04:00
Dave Pugmire
cfd36bcd5b wrap unit test with cuda stack change. 2019-03-13 11:29:49 -04:00
Dave Pugmire
722d4262e1 extend stacksize 2019-03-13 08:17:54 -04:00
Dave Pugmire
1d6cf30bbe Replace cleangrid with grid converter. 2019-03-08 11:08:30 -05:00
Kenneth Moreland
bfe06d6d18 Merge topic 'point-merge'
6aa99aec0 Add ability to remove degenerate cells in CleanGrid
5688375c9 Add point merge capabilities to CleanGrid filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Abhishek Yenpure <abhishek@uoregon.edu>
Merge-request: !1558
2019-03-07 20:33:36 -05:00
Dave Pugmire
25fee68e43 Fix src in cmake file error, and explicit ds creator func. 2019-03-07 14:48:26 -05:00
Robert Maynard
a6258b63cf Revert BoundingIntervalHierarchy.hxx back into existence. 2019-03-06 14:08:35 -05:00
Robert Maynard
48dc6509f8 Merge topic 'remove_usage_of_reserved_names'
8114e9e62 VTK-m now doesn't use reserved C++ identifiers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1564
2019-03-04 15:25:25 -05:00
Dave Pugmire
2eca1d7a1d Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into gridEval 2019-03-04 14:34:11 -05:00
Allison Vacanti
d1db4ef8b3 Clarify intent of TypeString and TypeName functions.
TypeName is used for logging, and is now TypeToString.

TypeString is used for serialization, and is now SerializableTypeString.
2019-03-01 11:47:53 -05:00
Robert Maynard
8114e9e627 VTK-m now doesn't use reserved C++ identifiers
Fixes #340
2019-02-28 15:08:08 -05:00
Li-Ta Lo
55910e5a76 Merge branch 'master' into connected_component 2019-02-28 11:31:56 -07:00
Dave Pugmire
52f75d868c add back explicit tests 2019-02-28 08:59:37 -05:00
Kenneth Moreland
6aa99aec0f Add ability to remove degenerate cells in CleanGrid 2019-02-26 12:44:57 -07:00
Kenneth Moreland
5688375c99 Add point merge capabilities to CleanGrid filter 2019-02-26 12:44:33 -07:00
Dave Pugmire
11fcaab15a Remove cleangrid from tests. 2019-02-26 12:19:43 -05:00
Kenneth Moreland
191d6e5580 Add Mask capabilities to worklets
Mask objects allow you to specify which output values should be
generated when a worklet is run. That is, the Mask allows you to skip
the invocation of a worklet for any number of outputs.
2019-02-25 08:58:39 -07:00
Dave Pugmire
337247ad40 Add back BIH support. 2019-02-20 15:37:42 -05:00
Kenneth Moreland
ddc6c91e37 Fix error about constexpr not available on CUDA device
For some reason, these changes caused one of the CUDA compilers to
create an error about a variable declared constexpr not being available
on the device. That sounds like a bug in nvcc as the constexpr should
just be evaluated rather than stored in some part of memory. At any
rate, changing the constexpr to a preprocessing macro solves the
problem.
2019-02-20 13:33:55 -07:00
Dave Pugmire
9101f690d8 fully rip out BIH for clean dashboards. 2019-02-20 09:18:46 -05:00
Dave Pugmire
e0ba2fc13a Remove BIH to test builds. 2019-02-19 16:31:41 -05:00
Dave Pugmire
6779b91038 remove unstructured tests temporarily. 2019-02-19 12:02:48 -05:00
Dave Pugmire
676689ed11 temporary disable unstructured grids. 2019-02-19 11:45:15 -05:00
mclarsen
bccb00df29 allow extract structured to output rectilinear coordinates 2019-02-19 08:11:09 -08:00
Dave Pugmire
314ebd3dc6 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into gridEval 2019-02-18 14:38:37 -05:00
Haocheng LIU
415252c662 Introduce asynchronous and device independent timer
The timer class now is asynchronous and device independent. it's using an
similiar API as vtkOpenGLRenderTimer with Start(), Stop(), Reset(), Ready(),
and GetElapsedTime() function. For convenience and backward compability, Each
Start() function call will call Reset() internally and each GetElapsedTime()
function call will call Stop() function if it hasn't been called yet for keeping
backward compatibility purpose.

Bascially it can be used in two modes:

* Create a Timer without any device info. vtkm::cont::Timer time;

  * It would enable timers for all enabled devices on the machine. Users can get a
specific elapsed time by passing a device id into the GetElapsedtime function.
If no device is provided, it would pick the maximum of all timer results - the
logic behind this decision is that if cuda is disabled, openmp, serial and tbb
roughly give the same results; if cuda is enabled it's safe to return the
maximum elapsed time since users are more interested in the device execution
time rather than the kernal launch time. The Ready function can be handy here
to query the status of the timer.

* Create a Timer with a device id. vtkm::cont::Timer time((vtkm::cont::DeviceAdapterTagCuda()));

  * It works as the old timer that times for a specific device id.
2019-02-05 12:01:56 -05:00
Dave Pugmire
96460fc5ef Fix compile error after .hxx file was deleted. 2019-01-31 09:14:55 -05:00
Dave Pugmire
9974cb064a Fix source file inclusion and copyright test failures. 2019-01-31 08:57:00 -05:00
Dave Pugmire
e631419d54 Fix export for BoundingIntervalHierarchy. Remove old grid evaluators. 2019-01-30 16:42:37 -05:00
Dave Pugmire
fc1bac3d70 add helper file. 2019-01-30 14:27:23 -05:00
Dave Pugmire
c6fb7b4341 move code to cxx file. 2019-01-30 14:05:50 -05:00
Dave Pugmire
8a1ac3a8d8 Add a single grid evaluator class for particle advection. 2019-01-30 13:47:27 -05:00
Robert Maynard
bcb347bf97 Merge topic 'test_vtkm_install'
9580b1921 Introduces SourceInInstall which verifies that VTK-m install its headers
c501500e1 Install missing headers found by VTKmCheckSourceInInstall
baaa47af4 Reduce verbosity of VTKmCheckCopyright
545a2ce91 VTKmCheckSourceInBuild now shows all missing files in a directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1532
2019-01-29 17:27:09 -05:00
Robert Maynard
c501500e1d Install missing headers found by VTKmCheckSourceInInstall 2019-01-29 14:46:27 -05:00
Kenneth Moreland
fb0ad1a13d Reduce the number of precompiled Keys instantiations
Previously, we precompiled just about any version of Keys that you could
be expected to use. This caused the time to compile Keys to be
unnecessarily long.

This reduces the compilation to types that are actually likely to be
used as keys. Also removed the less likely to be used build methods.
2019-01-28 15:44:37 -05:00
Kenneth Moreland
6ea55f838b Merge topic 'vtkm_worklet-library'
55570a16a Add most common implementations of Keys templates to library
887f79c6f Make a vtkm_worklet library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1520
2019-01-26 21:08:21 -05:00
Robert Maynard
002bd34197 Improve the compile time of WorkletMap* unit tests
By restricting the possible variant types we can dramatically
improve compile time performance.
2019-01-25 08:23:02 -05:00
Kenneth Moreland
55570a16ad Add most common implementations of Keys templates to library
Also moved the Keys<>::SortType outside to KeysSortType. The problem
with having it inside the Keys class was that there was a different
object created for every instances of Keys.
2019-01-24 13:18:10 -07:00
Kenneth Moreland
887f79c6f4 Make a vtkm_worklet library
This is a library that contains parts of worklets that can be
precompiled into a library.

Currently, this library contains the implementation of ScatterCounting.
2019-01-23 17:09:15 -07:00
Robert Maynard
c36b45435b Add UnitTestWorkletMapFieldWholeArrayAtomic
This covers the atomic tests that was previously part of WorkletMapFieldWholeArray
2019-01-18 13:30:37 -06:00
Robert Maynard
d6f66d17a3 Testing run methods now take argc/argv to init logging/runtime device
`vtkm::cont::testing` now initializes with logging enabled and support
for device being passed on the command line, `vtkm::testing` only
enables logging.
2019-01-17 13:16:27 -06:00
Robert Maynard
4ec5bae02d Remove VTK-m TestBuild infrastructure
The purpose of the TestBuild infrastructure was to confirm that
VTK-m didn't have any lexical issues when it was a pure header
only project. As we now move to have more compiled components
the need for this form of testing is mitigated. Combined
with the issue of TestBuilds causing MSVC issues, we should
just remove this infrastructure.
2019-01-16 10:04:33 -06:00
Kenneth Moreland
b2e20bf90e Fix issues from removing field type templates
The script fixed up most of the issues. However, there were some
instances that the script was not able to pick up on. There were
also some instances that still needed a means to select types.
2019-01-11 12:23:19 -07:00
Kenneth Moreland
2e426ad547 Run the update-control-signature-tags.sh script 2019-01-11 12:23:10 -07:00
Kenneth Moreland
42f810f70e Remove type lists from ControlSignature arguments for arrays
The typelist arguments for ControlSignature tags are antiquated. Remove
them.
2019-01-11 12:15:16 -07:00
Haocheng LIU
5251091e54 Remove compile time adapter checks in UnitTestBoundingIntervalHierarchy 2019-01-03 09:22:35 -05:00