- changed milestone to 2020.9.0 release
-
assigned issue to
- changed version to Development Branch
- changed title to Guarantee equality for default-constructed invalid upcxx::team_id
Guarantee equality for default-constructed invalid upcxx::team_id
Many MPI libraries make use of MPI_TEAM_NULL as a placeholder value for uninitialized teams, among other things. Today, UPC++ does not have an equivalent sentinel value to represent an invalid team ID. Specifically, this issue was encountered while trying to port TAMM (part of NWChemx) from GA/MPI to UPC++.
From conversation on slack, it sounds like the current consensus is to change the implementation to include an explicit default constructor for team_id
to enforce default construction and adding a guarantee of equality for such invalid ids.
Comments (6)
-
-
-
assigned issue to
Proposed resolution in pull request #216 and spec PR 39
-
assigned issue to
-
- changed status to resolved
fix issue 343: ensure that default-construced team_id provide a unique invalid team_id
→ <<cset d675de91ad91>>
-
Merge pull request #216 into develop
- team_id: Update ChangeLog Add issue371 test Fix issue 371: team_id's are not "universal" as documented Update ChangeLog Add issue343 test fix issue 343: ensure that default-construced team_id provide a unique invalid team_id
→ <<cset a5caf15abce5>>
-
fix issue 343: ensure that default-construced team_id provide a unique invalid team_id
(cherry picked from commit d675de91ad9173d06b69c800e67f5a873ae5a751)
→ <<cset e9f2dd9a14e5>>
-
Merging release upcxx-2020.3.2
- upcxx-2020.3: ChangeLog: update release date 2020.3.2 package version bumps Make future and serialization tests "full" upc++ ChangeLog cleanups Update ChangeLog
- Added test/regression/issue380.cpp - Fixed issue 380 where rput with source+operation cx failed to compile.
Fix issue 368. Needed to add a default constructor for bcast_payload_header in runtime.hpp since it has a union containing a non-trivially constructible member (std::atomic).
Add a Serialization example with an abstract base class
ChangeLog.md bugfix entry
Bugfix issue 369.
<completion>::as_future()
was typically leaking a small 56 byte heap struct per completion notification due to a refcount bungling indetail::persona_tls::fulfill_during_user_of_active()
. configure: search PATH for python3 and python2 configure: implement check_tool_path() Update ChangeLog Add issue371 test Fix issue 371: team_id's are not "universal" as documented Update ChangeLog Add issue343 test fix issue 343: ensure that default-construced team_id provide a unique invalid team_id Update ChangeLog Improve bad_shared_alloc to output shared heap status Add a test to demonstrate shared heap allocation failures Tweak shared heap allocation exceptions test/memberof.cpp: silence a harmless warning with -std=c++2a docs: revise Intel/libstdc++ recommendation bench/misc_perf: avoid C++20 deprecation warnings INSTALL.md: Clarify recommendations for using parallel make ChangeLog.md: list fix#356Fully qualifiedstd::foo
to::std::foo
in UPCXX_SERIALIZED_FOO macros. For members injected into user classes by UPCXX_SERIALIZED_* macros: This fixes issue 356 where non-public constructors were inaccessible to UCPXX_SERIALIZED_XXX macros. The fix entails smuggling a public static function into the class that then calls the constructor. Add issue356 regression test Update ChangeLog ChangeLog: document CROSS to UPCXX_CROSS rename configure: automatically cross-compile on Cray XC Start a ChangeLog for hotfix release
→ <<cset e35f012d9670>>
- Log in to comment