Project

General

Profile

Bug #1924

Calls to chare array element entry methods can fail from [immediate] node group methods

Added by Sam White 3 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
05/24/2018
Due date:
% Done:

0%


Description

If an [immediate] entry method executes on the comm thread, then sending a message to chare array element will abort with an error "Cannot send a message from an array without a local branch" from ckarray.C, since the comm thread does not have a proper location manager to be able to know where to send the message. Sends to singleton chares, group elements, or node group elements work, as do broadcastsand reduction contributions of all kinds, since none of these need to access the location manager on the sender PE.

A workaround is to use the "_ckcallbackgroup" that Charm has internally, keep track of which PE you think the array element is on, and then do "_ckcallbackgroup[onPE].call(cb, 0, NULL);" from the `[immediate]` method where the callback is targeted at the entry method you want to invoke on the chare array element.

Also available in: Atom PDF