Commit Graph

558 Commits

Author SHA1 Message Date
Oliver Ruebel
3ba516d70e Updated print functionname to VTKm style and remove unused functions 2020-01-22 23:30:44 -08:00
Oliver Ruebel
bdabb282b3 Fix naming of functions/variable in vtkm/worklet/contourtree_augmented/processcontourtree 2020-01-22 14:54:52 -08:00
Oliver Ruebel
5db7eb6969 Replace use of PPP2 acronym in names to comply with coding style 2020-01-22 01:40:49 -08:00
Oliver Ruebel
30ba214f21 Remove use of DEGUG_TIMING var in ContourTreeApp 2020-01-22 01:22:54 -08:00
Oliver Ruebel
43aae4870b Replace tracking of timings in ContourTree with logging 2020-01-22 01:11:45 -08:00
Oliver Ruebel
7ed921d247 Use logging instead of cout in ContourTreeApp 2020-01-21 19:38:29 -08:00
Oliver Ruebel
66ed92e4d2 Use vtkm::cont::Initialize to init logging,device,help 2020-01-21 17:31:44 -08:00
dpugmire
c5f9b9b20f Fix to examples to use vtkm::Particle 2019-12-19 09:56:05 -05:00
Sujin Philip
bdbf24d132 Merge topic 'peter-changes'
bf2290c9e Fixed an implicit conversion change warning.
18caed60e Fixed some of the compiler warning from CDash.
d7d7cdd5b Merges with upstream reformated version.
d6cbd8301 Merge with unformated previous state of the remote branch.
9a6dec8bc Refactored control side function call from a VTKM_EXEC function.
ca5f79056 Swapped x and y dimensions when reading in contour trees from text files.
da83076d7 Merge branch 'master' into peter-changes
01c49f139 Wrote some documentation for the CT Height Branch Decomposition code.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1899
2019-12-16 13:52:57 -05:00
Kenneth Moreland
2fbcc78a60 Merge topic 'simple-list-template'
4659d69c7 Remove some commented out code
aec75ab1a Suppress CUDA warning about device calling host
851864d0b Work around with Visual Studio 2015 issue
452a2e1c9 Suppress warnings about CUDA host/device mismatch
4fdefe9f1 Suppress some deprecated warnings in visual studio
5cfc14482 Implement old ListTag features with new ListTag implementations
d5fe4046c Remove instances of ListTag in favor of List
92db37623 Convert uses of ListTagBase to List
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1918
2019-12-11 09:43:22 -05:00
Kenneth Moreland
92db376236 Convert uses of ListTagBase to List 2019-12-06 15:37:46 -07:00
Kenneth Moreland
cd302effb3 Update lists in TypeListTag.h
A new header named TypeList.h and the type lists have been redefined in
this new file. All the types have been renamed from `TypeListTag*` to
`TypeList*`. TypeListTag.h has been gutted to provide deprecated
versions of the old type list names.

There were also some other type lists that were changed from using the
old `ListTagBase` to the new `List`.
2019-12-05 11:05:19 -07:00
Robert Maynard
81fca4dae7 Correct warnings on OSX caused by differing symbol visibility settings 2019-12-03 13:24:04 -05:00
peter
ca5f79056c Swapped x and y dimensions when reading in contour trees from text files. 2019-11-20 13:17:46 +00:00
Robert Maynard
1de5774d57 Merge topic 'just_infer_execution_signature'
cf2d62fb9 Remove unneeded ExecutionSignatures
c3f0060cc ExecutionSignatures are now optional for simple worklets
1b08521fa Merge branch 'upstream-taotuple'
c6d309566 taotuple 2019-10-08 (0d1e4dfd)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1882
2019-10-09 15:44:36 -04:00
Robert Maynard
cf2d62fb90 Remove unneeded ExecutionSignatures 2019-10-09 14:56:07 -04:00
Dave Pugmire
e2ae2d74af Print optional agruments in usage information. 2019-10-08 10:22:29 -04:00
Dave Pugmire
05a37b88b4 Add device options to particle advection example. 2019-10-07 16:49:13 -04:00
nadavi
a2641282d2 update MeshQuality examples 2019-10-02 09:49:46 -06:00
Robert Maynard
4faf1bf0b8 Merge topic 'build_filter_lib'
8520d70e0 Compile most frequently used VTK-m filters into a library
d1d61b9eb vtkm::filter::Filter passes filter policies by value
4ff021b08 Improve VTK-m compilation times by compiling more keys<T> types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1836
2019-09-18 15:01:39 -04:00
Robert Maynard
7533f90d9b Merge topic 'improve_vtkm_sources'
3ef234ef1 Move Oscillator to the sources directory
5c69f1bae Update Wavelet to use WorkletVisitPointsWithCells
62357dea0 Tangle source has better runtime performance
eb3d86654 Add a test explicitly for vtkm::source::Tangle
63f243809 Add vtkm::source::Wavelet as a new source
257dc1f84 Sources have a more consistent API and internal style.
2d455bbef Document what the Tangle source will generate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1850
2019-09-18 14:05:11 -04:00
Robert Maynard
8520d70e0d Compile most frequently used VTK-m filters into a library
VTK-m now provides the following filters with the default policy
as part of the vtkm_filter library:
  - CellAverage
  - CleanGrid
  - ClipWithField
  - ClipWithImplicitFunction
  - Contour
  - ExternalFaces
  - ExtractStructured
  - PointAverage
  - Threshold
  - VectorMagnitude

By building these as a library we hope to provide faster compile
times for consumers of VTK-m when using common configurations.
2019-09-18 12:06:13 -04:00
Dan Lipsa
542cca20db Rename MultiBlock to PartitionedDataSet in comment. 2019-09-17 13:19:04 -04:00
Dan Lipsa
c05efcac83 Fix MultiBlock rename for ContourTree example. 2019-09-17 11:42:19 -04:00
Robert Maynard
3ef234ef13 Move Oscillator to the sources directory 2019-09-16 12:36:01 -04:00
nadavi
6455231882 fix some examples 2019-09-13 08:52:02 -06:00
Oliver Ruebel
1d9f6b37cf Add support for boundary augmentation for MPI optimization 2019-09-12 12:26:01 -04:00
Sujin Philip
2a1e1dcfd9 Parallel Contour Tree
This work updates Gunther Contour tree work to be parallel.
With contributions from: @oruebel, @dcamp and @sujin.philip.
2019-09-12 12:17:37 -04:00
Robert Maynard
1bfcce19dd VTK-m builds with separate function sections to allow smaller binaries
Consumers of VTK-m when enabling of dropping of unused functions
will see VTK-m functions dropped. Previously this didn't happen
as VTK-m didn't build object files with the correct flags for this.

By allowing the linker to remove unused symbols we see a significant
saving the file size of VTK-m tests, examples, and benchmarks.
An OpenMP build of the tests and benchmarks goes from 168MB to
141MB which is roughly a 16% filesize reduction.

Initially I had presumed that these changes would increase link times.
But in measurements the total wall time for compilation of VTK-m has
stayed about the same ( seeing a decrease of 1.5% ). Presumably the
increased computation is offset by the reduction in file writing.
2019-09-11 13:34:25 -04:00
Robert Maynard
e37c2061cf vtkm_add_target_information now supports multiple targets
Instead of having to be called for each target you can now
pass multiple targets at once. Do note that if you pass multiple
targets you will need to pass all the sources from those targets
that need to be 'device' compiled.
2019-09-11 09:17:52 -04:00
Kenneth Moreland
b95b7d6109 Merge topic 'get-cast-array-from-field'
630768600 Suppress CUDA warnings
5fa02057a Rely less on overload resolution for ApplyPolicy
26d7bfd0d Force ArrayPolicy of a specific type to the right template
6c136b978 Remove vtkm::BaseComponent
07c59fcf7 Update filters with secondary fields to use new policy method
3039a18ba Add ability to get an array from a Field for a particular type
2b6e6da6c Add ability to get VariantArrayHandle as an ArrayHandleMultiplexer
6323d6803 Add recursive component queries to VecTraits

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1829
2019-09-10 12:05:13 -04:00
Robert Maynard
d57a560997 Merge topic 'correct_warnings_found_by_clang8'
ce67b4f15 Correct signed/unsigned warnings found by clang 8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1833
2019-09-10 11:17:21 -04:00
Robert Maynard
ce67b4f157 Correct signed/unsigned warnings found by clang 8 2019-09-10 10:49:48 -04:00
Abhishek Yenpure
9e38f02546 Merge topic 'fix_temporal_example'
9b78276ca Updating usage statement for temporal advection example
8e27562ce Adding information about sample datasets in example
fd23bb3c7 Update attributes to include all files in data to lfs
01d735e1a Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into fix_temporal_example
d9b038fdd Updating method name in unit test
b7191e257 Fixing temporal advection example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1814
2019-09-09 18:52:18 -04:00
Kenneth Moreland
5fa02057ae Rely less on overload resolution for ApplyPolicy
Previously, all the ApplyPolicy functions had the same name and used
template resolution to figure out which one to use. This was pretty
clear at first when there was just one for fields and one for cell sets.
But then it grew to several different types, particularly for fields. It
was hard to look at the code and figure out which form of ApplyPolicy
was being used, and compilers were starting to get confused.

Resolve the problem by giving all the methods unique names to make it
clear which one you expect to be called.
2019-09-09 16:08:11 -06:00
Abhishek Yenpure
9b78276ca8 Updating usage statement for temporal advection example
Update usage message and comments for example data
Add parameter for velocity field
Fix warnings
2019-09-09 15:59:40 -06:00
Abhishek Yenpure
8e27562cea Adding information about sample datasets in example 2019-09-04 10:09:36 -06:00
Allison Vacanti
e8afcfd7d8 Merge topic '405_partitioned_ds'
63050f68f `MultiBlock` renamed to `PartitionedDataSet`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Merge-request: !1821
2019-09-04 07:22:07 -04:00
Abhishek Dilip Yenpure (-EXP)
01d735e1aa Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into fix_temporal_example 2019-09-03 11:53:00 -06:00
Allison Vacanti
63050f68fc MultiBlock renamed to PartitionedDataSet
The `MultiBlock` class has been renamed to `PartitionedDataSet`, and its API
has been refactored to refer to "partitions", rather than "blocks".
Additionally, the `AddBlocks` method has been changed to `AppendPartitions` to
more accurately reflect the operation performed. The associated
`AssignerMultiBlock` class has also been renamed to
`AssignerPartitionedDataSet`.

This change is motivated towards unifying VTK-m's data model with VTK. VTK has
started to move away from `vtkMultiBlockDataSet`, which is a hierarchical tree
of nested datasets, to `vtkPartitionedDataSet`, which is always a flat vector
of datasets used to assist geometry distribution in multi-process environments.
This simplifies traversal during processing and clarifies the intent of the
container: The component datasets are partitions for distribution, not
organizational groupings (e.g. materials).

Ref #405
2019-09-03 12:42:23 -04:00
Robert Maynard
5cd47a7065 DataSetBuilders don't require a cellset name 2019-09-02 09:05:56 -04:00
Robert Maynard
89fa2c0293 Remove multiple vtkm::cont::CellSet from vtkm::cont::DataSet
By removing the ability to have multiple CellSets in a DataSet
we can simplify the following things:

  - Cell Fields now don't require a CellSet name when being constructed
  - Filters don't need to manage what the active cellset is
2019-09-02 09:04:51 -04:00
Dave Pugmire
e34639818c Add example data file. 2019-08-28 11:14:30 -04:00
Dave Pugmire
cbc6e2e7c6 don't need know the pos in string::find. 2019-08-28 07:54:10 -04:00
Dave Pugmire
c56e53b6c4 Simplify particle advection example 2019-08-28 07:48:20 -04:00
Abhishek Dilip Yenpure (-EXP)
b7191e257e Fixing temporal advection example
Also, Updated filter to change previous to current
Fix for issue https://gitlab.kitware.com/vtk/vtk-m/issues/399
2019-08-27 11:25:24 -06:00
Robert Maynard
c454714079 Examples now compile when CUDA is enabled.
We some case sensitive issues, and some missing markup for
what files need to be compiled with CUDA
2019-08-23 11:11:39 -04:00
Robert Maynard
8c4730da22 Merge topic 'opt_into_all_cmake_315_policies'
267f963d3 Opt into all CMake 3.15 policies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1786
2019-08-21 08:18:19 -04:00
Robert Maynard
267f963d32 Opt into all CMake 3.15 policies 2019-08-20 15:38:27 -04:00
Li-Ta Lo
e66af369ba removed isosurface example, add clipped tangle to Contour unit test 2019-08-19 13:36:28 -06:00
Li-Ta Lo
c2e29f5c41 Merge branch 'master' into contour_hackathon 2019-08-18 14:49:08 -06:00
Li-Ta Lo
d1fe1c3f38 rename MarchingCubes to Contour 2019-08-17 19:10:57 -06:00
Li-Ta Lo
52d1ec8467 add Wedge and Pyramid support, visually verified with clipped Tangle field 2019-08-17 18:12:11 -06:00
Li-Ta Lo
1efdffb1b3 minor bug fix in edge table, visually verify that both Hex and Tetra works 2019-08-17 14:08:28 -06:00
Robert Maynard
4616286643 Merge topic 'provide_nicer_createresult_filter_api'
a6c1b10cd CreateResult API improved to make it easier to use

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1770
2019-08-15 10:47:58 -04:00
Robert Maynard
a6c1b10cd3 CreateResult API improved to make it easier to use
To help provide a better time writing VTK-m filter this streamlines
the CreateResult API to provide a focused set of methods, based on
how CreateResult has been used by existing filters.
2019-08-14 15:28:43 -04:00
Abhishek Yenpure
46d4e50622 Merge topic 'lagrangian-coherent-structures'
ac8d8c95b Separating GridMetaData class
4aa51fcab Adding custom dataset name to LCS filter output
ec8a29e07 Resolving nvcc implicit conversion warning
469e60430 Resolving nvcc compiler warnings
d5ef47040 LCS fixes
da3983d21 Changes from Ken's review
6b8aa3f24 Fixing missing header in install issue
9634924e1 Fixing issues with LCS Filter files
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1764
2019-08-13 19:13:37 -04:00
Abhishek Yenpure
4aa51fcabb Adding custom dataset name to LCS filter output 2019-08-13 09:19:32 -07:00
Abhishek Dilip Yenpure (-EXP)
d5ef470404 LCS fixes 2019-08-09 15:03:26 -06:00
Abhishek Yenpure
da3983d213 Changes from Ken's review
- Fixing nvcc compiler warnings
- Changes from Ken's review
2019-08-09 10:34:01 -07:00
Robert Maynard
cec717015a CreateResult is now part of vtkm::filter instead of being inside internals 2019-08-09 12:44:43 -04:00
Robert Maynard
3a7d3cb5ff VTK-m filters now launch all worklets via a vtkm::cont::Invoker
This has been done as to showcase the recommend best practices
for new VTK-m contributors.
2019-08-09 10:37:35 -04:00
Abhishek Yenpure
9634924e15 Fixing issues with LCS Filter files 2019-08-08 15:20:11 -07:00
Abhishek Yenpure
f5db0e85a0 Merge branch 'master' of gitlab.kitware.com:ayenpure/vtk-m into lcs 2019-08-08 14:21:29 -07:00
Kenneth Moreland
9fc9796cda Change HelloWorklet filter to use simplified field specification 2019-08-07 09:30:25 -06:00
Kenneth Moreland
045094e1bb Fix warning about unused variable in catch 2019-08-07 09:24:54 -06:00
Kenneth Moreland
721b25a127 Get rid of unified_memory directory in examples
This was not actually referenced by the CMake build anywhere. According
to Ollie, this "did not serve its purpose."
2019-08-07 09:14:02 -06:00
Kenneth Moreland
dc59d7ebe0 Get rid of tau_timing directory in examples
This was not actually referenced by the CMake build anywhere. According
to Dave, this is a "dead turd."
2019-08-07 09:14:01 -06:00
Kenneth Moreland
eb50948181 Update tetrahedra examples
The examples were way more complicated than necessary.
2019-08-07 09:14:00 -06:00
Kenneth Moreland
7194592603 Remove streamline example
This is a very old example. Just about everything it does is using an
old style that is either not well supported or discouraged. The whole
example should be rewritten to be more modern.
2019-08-07 09:14:00 -06:00
Kenneth Moreland
b42b839a11 Remove rendering example
This is an old example that uses the OpenGL rendering units that are
largely deprecated. Other more modern rendering examples exist, such as
in demo.
2019-08-07 09:13:59 -06:00
Kenneth Moreland
f2ce7a44ca Remove isosurface example
The demo example already creates an isosurface. Between this and the
marching cubes test, this is covered.
2019-08-07 09:13:58 -06:00
Kenneth Moreland
bd94573020 Remove hello_world example
This example was way too complicated to be considered "hello_world" and
it's graphics are too much of a pain to maintain. The demo example
covers the high points.
2019-08-07 09:13:57 -06:00
Kenneth Moreland
738ab0e9ad Simplify demo example 2019-08-07 09:13:56 -06:00
Kenneth Moreland
fb3c9e8186 Modernize clipping example
That example was written way before the filter classes ever existed. Now
by using the clip filter, everything becomes very simple.
2019-08-07 09:13:56 -06:00
Kenneth Moreland
7a0a35b29f Add hello worklet example
This is a simple "hello world" example in VTK-m of implementing some
algorithm that runs in parallel.
2019-08-07 09:13:55 -06:00
Kenneth Moreland
cc4d927955 Fix type conversion warnings in PolyLineArchimedeanHelix example 2019-08-07 09:13:54 -06:00
Robert Maynard
d7b2ff04c9 Provide a simpler way to restrict value types for filters 2019-08-06 17:04:07 -04:00
Abhishek Yenpure
5bd6046b95 Adding LCS example 2019-08-05 13:15:10 -07:00
NAThompson
88f2d63b4e Only build polyline example when rendering is enabled. 2019-08-01 14:21:37 -04:00
Kenneth Moreland
0be50c119d Update VTK-m code to use new Vec aliases
Should make the code easier to read.
2019-07-31 12:55:40 -06:00
Allison Vacanti
094cf21599 Rename a file to match CMakeLists.txt in an example.
Fixes #385.
2019-07-19 12:02:51 -04:00
Kenneth Moreland
79909ecf12 Merge topic 'add_mesh_quality'
b622c7962 Fixed index out of bounds error for the cell counts array
4d61066e9 Removed all modifications in the internal device adapter algorithm header files.
06ac9f721 Revised version of the original mesh quality merge request
e54001367 Added few lines of code missing from cuda device adapter header
3dd34d251 Added custom CopyIf function
417dbcea7 Removed all modifications in the internal device adapter algorithm header files.
50cb805ce Fixed cuda device adapter alg
8c070caa0 Added few lines of code missing from cuda device adapter header
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1714
2019-07-17 15:42:22 -04:00
Robert Maynard
28484fc6aa Update examples and benchmarks to use new VTK-m CMake helper function 2019-07-09 13:32:23 -04:00
Robert Maynard
a2e6660fdd Remove unused vtkm_compile_as_cuda CMake function 2019-07-09 13:04:07 -04:00
Brent Lessley
4d61066e9c Removed all modifications in the internal device adapter algorithm header files. 2019-07-03 11:12:19 -07:00
Brent Lessley
06ac9f7219 Revised version of the original mesh quality merge request 2019-07-02 22:35:54 -07:00
NAThompson
d8faed8480 Polyline examples: More intelligible comments. 2019-06-27 16:31:20 -04:00
NAThompson
cbd2dd60a7 Tubes: Add example. 2019-06-27 16:25:27 -04:00
Robert Maynard
74d713c774 Install compilation tests are enabled when examples are disabled
Previously VTK-m only activated the install/compilation tests when
examples had been enabled. This decreased the amount of coverage
on dashboards.
2019-06-24 14:48:01 -04:00
Robert Maynard
4020f51988 RuntimeDeviceTracker can't be copied and is only accessible via reference.
As the RuntimeDeviceTracker is a per thread construct we now make
it explicit that you can only get a reference to the per-thread
version and can't copy it.
2019-05-20 11:43:05 -04:00
Robert Maynard
2c026508b3 Merge topic 'correct_openmp_timeouts'
9c2920072 UnitTestBoundingIntervalHierarchy handles systems under load better
671c1df5c Timer logs the proper device name when called with an invalid device
d3d66a331 GameOfLife example always uses the proper device adapter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1645
2019-04-18 08:05:12 -04:00
Robert Maynard
d3d66a3312 GameOfLife example always uses the proper device adapter
Previously the example would only time using the serial device
adapter, which wouldn't work when the user explicitly specified
a device on the command line.
2019-04-17 14:58:32 -04:00
nadavi
6d9c2af795 remove warning in file due to non-reference exception catch 2019-04-17 10:57:13 -06:00
nadavi
fbcea82e78 conslidate the license statement 2019-04-17 10:57:13 -06:00
Robert Maynard
ff30684c8e Removes the default device macros from VTK-m
Fixes #116
2019-04-15 08:15:36 -04:00
Robert Maynard
7ea2accbc1 Correct issues when using a cuda enabled install of vtk-m. 2019-04-03 18:08:56 -04:00
Robert Maynard
001d1b0f47 VTK-m can now build and test against temporary installed vtkm.
We now have a couple of the examples also being built against
the installed version of VTK-m as a test. This allow us to verify
that VTK-m installs and can be found properly.
2019-04-03 18:08:56 -04:00
Robert Maynard
0ce7e82d43 VTK-m now enables all new CMake policies in 3.14
This means that we opt-in to policy changes introduced in 3.14
2019-03-26 11:50:06 -04: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
Robert Maynard
ae11e115a0 RuntimeDeviceTracker: Remove Global from names 2019-03-22 08:53:26 -07:00
Kenneth Moreland
fd794edb36 Fix particle advection example
The grid evaluator class structure changed.
2019-03-21 13:58:42 -06:00
Sujin Philip
d4e1c18254 Update existing code to use the new functions 2019-03-15 13:28:55 -04:00
Haocheng LIU
6e6968d97f Fix diy include and Timer construction errors in examples 2019-02-06 15:28:09 -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
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
Kenneth Moreland
2e426ad547 Run the update-control-signature-tags.sh script 2019-01-11 12:23:10 -07:00
Robert Maynard
f1e1a524e9 Require CMake 3.8 to build VTK-m. 2019-01-09 16:01:22 -05:00
Robert Maynard
8ca24baecd Update the UnifiedMemory example to properly disable managed memory 2018-12-28 11:30:29 -05:00
Robert Maynard
0a40c620ac Rename ArrayHandleVariant to VariantArrayHandle. 2018-12-27 14:35:56 -05:00
Robert Maynard
b138798604 Update examples to work with ArrayHandleVariant/Virtual 2018-12-27 14:35:56 -05:00
Robert Maynard
6e22bb5dc6 Cosmotools exmaples builds again with the change of vtkm::cont::Initialize 2018-12-27 11:58:16 -05:00
Robert Maynard
ab3d89d4e3 Simplify the example/demo CMakeLists.txt 2018-12-27 11:57:48 -05:00
Robert Maynard
028e954b41 Game Of Life example now supports -d/--device command line argument 2018-12-27 11:55:26 -05:00
Robert Maynard
e2c61e0100 Update the HelloWorld example to use VTK-m runtime device adapter logic 2018-12-27 11:50:28 -05:00
Robert Maynard
34165c8e75 Correct crashes in the GameOfLife example 2018-12-27 11:47:34 -05:00
Robert Maynard
cdbee58c1b Remove the dynamic_dispatcher example as is a compiler benchmark
This example doesn't need to exist as it was used to see how
long compile times are with DynamicArrayHandle
2018-12-27 11:45:41 -05:00
Allison Vacanti
cdb1f5680a Add vtkm::cont::Initialize.
Also
- Renamed vtkm::cont::make_DeviceAdapterIdFromName to just overload
  make_DeviceAdapterId.
- Refactored CMake logic for unit tests
  - Since we're now querying the device tracker for the names, they
    cannot be all caps.
- Updated usages of InitLogging to use Initialize instead.
- Added changelog.
2018-12-13 10:15:44 -05:00
Kenneth Moreland
01a9e85416 Change WorkletPointNeighborhood to specify neighborhood at runtime
Previously, WorkletPointNeighborhood had a template argument to select
the size of the neighborhood. This change removes that template
argument. Instead, the vtkm::exec::arg::BoundaryState methods now take
in a size parameter when determining when it overlaps the boundary.

If in the future we want to add the ability to select the neighborhood
size at compile-time (for performance reasons), I suggest adding this
template argument to the OnBoundary tag for ExecutionSignature.
2018-12-03 12:45:23 -07:00
Kenneth Moreland
e9d0d7de47 Fix the CosmoTools examples
The CosmoTools examples were still directly using device adapters.
Change the code to compile single executables that chooses a device at
runtime.
2018-11-27 10:56:00 -07:00
Kenneth Moreland
bddad9b386 Remove TryExecute from filters
Now that the dispatcher does its own TryExecute, filters do not need to
do that. This change requires all worklets called by filters to be able
to execute without knowing the device a priori.
2018-10-16 15:59:53 -06:00
Kenneth Moreland
723792a482 Use new integrators and evaluators for advection 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
9d5efbd95d Merge topic 'misc-typos'
d5beb69ec Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1426
2018-10-08 08:37:19 -04:00
Kenneth Moreland
cd8b41f478 Fix type conversion warnings
Make the types consistent in an std::accumulate call. Previously it was
taking vtkm::Id values, multiplying them as std::size_t, and then
storing them in an int. Now, the std::accumulate does everything as a
vtkm::Id and at the end converts the result to an std::size_t.
2018-10-05 09:08:19 -06:00
luz.paz
d5beb69ec1 Misc. typos
Found via `codespell`
2018-10-04 10:30:33 -04:00
Robert Maynard
91fd7f4f74 Merge topic 'ppp2'
c05b04c9d Fix windows warnings of duplicate symbols
12b90c434 Rename PPP2 to Augmented.
6f5c383e1 Move PPP2 over to constexpr instead of defines
f828ebfd4 Update PPP2 to dispatcher that don't require a device adapter template
98fd16d9a Correct PPP2 warnings found from 32bit builders
b460f5611 Make sure ContourTreeApp obeys the desired device
432ee3422 Optimize the PPP2 ActiveGraphs to reduce size of device transfers
2370a6cc5 Refactor the PPP2 work based on Code Review and add UnitTests.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1376
2018-09-29 09:40:17 -04:00
Robert Maynard
12b90c434b Rename PPP2 to Augmented. 2018-09-26 10:48:37 -07:00
Sujin Philip
d34eca5f4e Update RedistributePoints to use the new serialization methods 2018-09-25 13:58:39 -04:00
Sujin Philip
fd89dfc89b Add ArrayHandle Serialization 2018-09-25 13:58:39 -04:00
Robert Maynard
98fd16d9ad Correct PPP2 warnings found from 32bit builders 2018-09-18 08:54:22 -04:00
Robert Maynard
b460f56113 Make sure ContourTreeApp obeys the desired device 2018-09-18 08:54:22 -04:00
Oliver Ruebel
2370a6cc5d Refactor the PPP2 work based on Code Review and add UnitTests. 2018-09-18 08:54:22 -04:00
Gunther H. Weber
ab0ccd4cad vtk-m implementation of improved parallel peak pruning with hyperstructure (PPP2.0) 2018-09-18 08:54:22 -04:00
Kenneth Moreland
d879188de0 Make DispatcherBase invoke using a TryExecute
Rather than force all dispatchers to be templated on a device adapter,
instead use a TryExecute internally within the invoke to select a device
adapter.

Because this removes the need to declare a device when invoking a
worklet, this commit also removes the need to declare a device in
several other areas of the code.
2018-08-29 19:18:54 -07:00
Robert Maynard
9f5d57f8ab Remove the posthocinterpolation example as it didn't showcase vtkm 2018-08-24 08:28:56 -04:00
Robert Maynard
7231f7e557 Use vtkm::Math functions in ABCField. 2018-08-24 08:28:12 -04:00
Robert Maynard
2a75916dd3 Merge topic 'remove_duplicate_data_in_multi_backend'
6990b605b The multi backend example now doesn't share data between blocks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1344
2018-08-15 15:09:14 -04:00
Sudhanshu Sane
3364d1c4e0 Lagrangian filter, example
The added files provide support for Lagrangian analysis of velocity fields of time-varying data. Examples show how to use the filter to generate data and a second example demonstrates consuming generated information to calculate new particle trajectories.
2018-08-13 14:53:41 -07:00
Robert Maynard
6990b605b0 The multi backend example now doesn't share data between blocks
This should allow for multiple different devices.
2018-07-31 15:02:41 -04:00
Kenneth Moreland
49ae7d5e7d Add header file for std::isstype
This function might get defined through other headers, but it was not
being defined with visual studio.
2018-07-26 16:33:16 -06:00
Sebastien Jourdain
4192b9a1d8 Add a point-oscillator filter + example
The oscillator is a simple analytical source of time-varying data.
It provides a function value at each point that is computed as a
sum of Gaussian kernels -- each with a specified position, amplitude,
frequency, and phase.
2018-07-18 09:33:06 -04:00
Sujin Philip
01a45d8e5e Workaround compiling error in multi-backend example with some gcc versions 2018-06-21 12:07:12 -04:00
Robert Maynard
9861cdecb1 Use CMake to automatically set policies to NEW.
CMake 3.12 introduces a ...<max> syntax in the version given to
cmake_minimum_required to automatically set policies to NEW up
to that version. Use it to avoid listing policies explicitly.
2018-06-19 16:12:48 -04:00
luz.paz
940c891886 Misc. typos
Found via `codespell` and `grep`
more typos

includes source typo change and a typo that needs further review
follow-up typos


Follow-up typos


Revert a commit
2018-06-14 16:49:11 -04:00
Robert Maynard
5a2c2b9460 temporaladvection example follows the same naming pattern as all examples 2018-06-01 10:31:14 -04:00
Allison Vacanti
93506d25e2 Change function signatures to use 'using' aliases.
Also cleaned up some lingering type typedefs.
2018-05-25 17:18:41 -04:00
Haocheng LIU
5c797169ec Use the strong typed enums for vtkm::cont::Field
Since Field association is used either when creating or working
with 'vtkm::cont::Field', it's put in the class itself.
2018-05-22 11:44:51 -04:00
Haocheng LIU
fae8409c9c Add float version operations for vtkm::Math Pi()
This commit also removes the old static_cast<vtkm::float32>vtkm::Pi() usages and
fix serveral conversion warnings.
2018-05-21 10:58:15 -04:00
David Thompson
7cbbb016d4 Fix multi_backend when using double precision. 2018-05-18 14:05:11 -04:00