Open stwhite91 opened 7 years ago
Original date: 2017-04-04 17:34:13
Retargetting this to a later version until someone makes a case for it being urgently required in 6.8.0.
Original date: 2018-08-22 01:47:11
Re-assigning to Evan since Quinoa was originally the motivation for this.
Original date: 2018-08-27 22:03:27
For CProxy_MyChareArray array;
, calling array.ckDestroy();
only serves to broadcast a call to ArrayElement::ckDestroy
. This removes all the elements from the array but does not delete the array itself, if such a concept even exists. CkArray::ckDestroy
is never called. In testing I was able to insert new elements into the array after such a ckDestroy broadcast completed. Groups and nodegroups do not allow insertion or removal of elements so ckDestroy does not make sense for them in light of this fact. We would need to redefine ckDestroy which is out of scope of this issue.
Original date: 2018-08-28 15:06:46
Jozsef's original email to the Charm mailing list was IIRC more interested in how to best free the memory associated with a Group that is only transiently used. Even if it shouldn't be named ckDestroy() for semantic reasons, we should provide an API for freeing Groups, even if it's just a wrapper around 'delete this' for each element of the Group. We should also better document the semantics of ckDestroy(), the manual looks to be lacking here at the moment.
Reopening because as Sam mentioned, there may be a need for completely destroying Groups and NodeGroups, as well as Arrays, in addition to the current ckDestroy
semantic of removing all array elements.
CkArray::ckDestroy
is never called.
@epmikida pointed out that there may be a way to call this, and if so, it may be closer to what destroying groups and nodegroups would be like.
Original issue: https://charm.cs.illinois.edu/redmine/issues/1386
Jozsef Bakosi pointed out on the charm mailing list that we currently do not support deleting Groups. ckDestroy is only defined for Chare Arrays.