Commit Graph

29 Commits

Author SHA1 Message Date
Utkarsh Ayachit
6938b05c33 Remove GetBounds methods from MultiBlock.
Removing GetBounds and related methods from MultiBlock. These have been
replaced by BoundsCompute and BoundsGlobalCompute.
2018-04-05 17:31:49 -04:00
Utkarsh Ayachit
f966a36214 Remove MultiBlock::GetGlobalNumberOfBlocks.
Removing another API that need not be on MultiBlock. There's generally
no need for apps to know this. If needed, we can add `...Compute`
function. This removes another API on MultiBlock that could trigger
parallel communication/synchronization.
2018-04-05 17:16:10 -04:00
Utkarsh Ayachit
f37e642563 Remove MultiBlock::GetGlobalRange API.
Removing MultiBlock::GetGlobalRange API to keep things consistent with
DataSet API. Instead, one should use `FieldRangeCompute` or
`FieldRangeGlobalCompute` as appropriate.
2018-04-05 17:16:10 -04:00
Utkarsh Ayachit
60f4936d54 cleanup diy usage in MultiBlock.
This fixes several issues with how DIY was used in MultiBlock.

Instead of using `diy::RegularSwapPartners` using
`diy::RegularMergePartners` to reduce data to block(gid=0) and then
broadcast out to all ranks (and not blocks) using
`diy::RegularBroadcastPartners`. Old code that used RegularSwapPartners
ended up building reduced result on all blocks, which was not only
unnecessary, but expensive since we would generally have more blocks
than ranks.

Remove `DecomposerMultiBlock`. This class was needed due to my
misunderstanding of how the decomposer works.
`diy::RegularDecomposer<diy::DiscreteBounds>` provides all the necessary
functionality provided by `DecomposerMultiBlock`.
2018-03-31 11:34:33 -04:00
Kenneth Moreland
117ce0be92 Add const correctness to MultiBlock method arguments
Several MultiBlock methods take references as arguments. Generally that
is good as some of the arguments take larger data structures like
DataSet and std::vector that can be passed much faster as a reference.
However, the references were not declared const, which means that you
could not use rvalues. This is now fixed.
2018-03-20 16:33:40 -06:00
Utkarsh Ayachit
4ade3984ac warnings: int/size_t conversion warnings. 2018-02-26 15:33:56 -05:00
Utkarsh Ayachit
7002c71e95 add warning guards around diy includes.
Adding `VTKM_THIRDPARTY_PRE_INCLUDE` and `VTKM_THIRDPARTY_POST_INCLUDE`
guards around diy includes.
2018-02-26 15:33:56 -05:00
Utkarsh Ayachit
70b647071c Make DIY a required dependency.
DIY now depends on MPI optionally. Hence we no longer need to depend on
DIY optionally based on whether MPI was enabled. Update cmake and c++
code to always use DIY-based components.

DIY is built with MPI support if VTKm_ENABLE_MPI is ON.
2018-02-26 11:25:56 -05:00
Sujin Philip
70fcd1d1cc Update CoordinateSystem to use the Virtual Array 2018-01-10 10:19:19 -05:00
Utkarsh Ayachit
37969e9602 Use VTKM_DIY() to include diy headers.
This makes it easier to mangle diy and support using external diy.
2018-01-03 14:53:37 -05:00
Utkarsh Ayachit
cac71555e2 Use diy::reduce in MultiBlock reductions.
MultiBlock now uses `diy::reduce` for reductions rather than using proxy
collectives. To support using `diy::reduce` operations on a
vtkm::cont::MultiBlock, added AssignerMultiBlock and
DecomposerMultiBlock classes. This are helper classes that provide DIY
concepts on top of a existing MultiBlock.
2018-01-03 10:23:26 -05:00
Utkarsh Ayachit
1bb7dde971 Update MultiBlock to use diy for block-based operations.
Updating MultiBlock to use `diy` for computing block summaries like
ranges, bounds etc. This makes it possible to MultiBlock to
work in distributed operations without explicit logic.
2017-12-15 15:15:23 -05:00
Utkarsh Ayachit
e72ce1e141 Update MultiBlock to follow coding style.
Use `this` and rename `blocks` to `Blocks`.
2017-12-15 10:53:30 -05:00
Kenneth Moreland
c3a3184d51 Update copyright for Sandia
Sandia National Laboratories recently changed management from the
Sandia Corporation to the National Technology & Engineering Solutions
of Sandia, LLC (NTESS). The copyright statements need to be updated
accordingly.
2017-09-20 15:33:44 -06:00
dongliangchu
f492f7ff7c reviewed version 1 2017-08-30 12:37:15 -04:00
dongliangchu
90c870f2f5 reviewed version 1 2017-08-24 10:50:14 -04:00
dongliangchu
ff4ce72d4e reviewed version 1 2017-08-20 15:02:52 -04:00
dongliangchu
eb4320ab17 reviewed version 1 2017-08-20 14:00:11 -04:00
dongliangchu
fffc0282a5 reviewed version 1 2017-08-18 19:20:15 -04:00
dongliangchu
424b37ec97 reviewed version 1 2017-08-18 16:28:33 -04:00
dongliangchu
d9cc8a7806 fix multiblock compiling macro issue 2017-08-02 16:17:31 -04:00
dongliangchu
6c953eccff fix multiblock compiling macro issue 2017-08-02 15:34:34 -04:00
dongliangchu
73e3753d9e fix multiblock compiling macro issue 2017-08-02 15:18:55 -04:00
dongliangchu
95b88fdff1 fix multiblock compiling macro issue 2017-08-01 23:15:41 -04:00
dongliangchu
b75bfd34ce fix multiblock compiling macro issue 2017-08-01 22:16:00 -04:00
dongliangchu
cbf5d3f74e fix multiblock compiling macro issue 2017-08-01 18:01:02 -04:00
dongliangchu
9c9387e1fb fix multiblock compiling definition issue 2017-08-01 16:52:16 -04:00
dongliangchu
711164f9eb fix multiblock compiling definition issue 2017-08-01 15:19:38 -04:00
dongliangchu
440a6be88e Expand MultiBlock Functionality 2017-07-20 15:11:12 -04:00