Commit Graph

430 Commits

Author SHA1 Message Date
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