Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added local sampling for_all adapter #154

Draft
wants to merge 30 commits into
base: develop
Choose a base branch
from

Conversation

bwpriest
Copy link
Member

Will be informed by discussion #153. This is a new version of PR #124.

bwpriest and others added 30 commits February 1, 2023 15:51
…atures for ygm::container::map::for_local_random_samples()
…second) lambdas (LLNL#128)

* created ygm::container::detail::bag_impl::for_all_pairs() to be used with pair bags.

* created make_similar() functions for map and array containers that return empty containers with the same comm and default value (and size for arrays)

* Added missing cereal include for std::pair

* moved template metaprogramming boilerplate into its own header.

* Added special functionality to bag::for_all() so that it can accept split (first, second) signatures.

* removed vestigial header

* Added compiler guard to bag::for_all() and added more helpful compiler error messages.

* removed the make_similar function in favor of something more disciplined in the future.

* removed make_similar from multimap
* removed support for pair arguments in local and remote map lambdas.

* Added more informative compiler error messages for map lambda signature checks

* Removed outdate comment text [skip ci]

* minor cleanup of compiler error message [skip ci]
LLNL#133)

* Added support for local lambdas with (value_type&) signatures for arrays with constexpr compiler guards.
…:container::array::is_mine() operation to match other containers (LLNL#136)
* Adds basic caching layer to reducing_adapter without multi-hop caching

* Adds reduction tree to reducing_adapter

* Adds sanity check that reducing_adapter cache slot is empty after flushing

* Fixes bug where reducing_adapter cache was declared non-empty when a value was placed in the underlying container

* Adds missing check of pthis in reducing_adapter

* Moves reducing_adapter class to ygm::container::detail
…LNL#138)

* placed compiler guards on remote array lambdas

* Added compiler guards to local set lambdas

* changed local lambda signatures of disjoint_set to separated [](const value_type &, const value_type &) format to match map. Also added compiler guards to disjoint_set local and remote lambdas.
* Added reduce_by_key and started new traits features.
* Adds communicator collectives.

* fixed MPI_Comm.

* bcast & is_same
LLNL#140)

* Added rank-aware RNG wrapper. It can be modified with different rank/seed strategies.

* updated random namespace to mimic STL

* fixed namespace device -> engine

* removed shared_random_device. Will reintroduce when we add a post barrier callback concept

* moved most random machinery into ygm::detail and made std::mt19937 the default random engine
Removed old debug asserts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants