tk::LinearMap class

Charm++ array map for initial placement of array elements in linear fashion

The map object is used by the Charm++ array manager to determine the "home" PE of each element. The home PE is the PE upon which the array element is initially placed, which will retain responsibility for maintaining the location of the element.

Constructors, destructors, conversion operators

LinearMap(int nelem) explicit

Public functions

auto procNum(int, const CkArrayIndex& idx) override -> int
Return the home processor number for the array element for linear distribution.
void populateInitial(int, CkArrayOptions& opt, void* msg, CkArrMgr* mgr) override
Create initial set of array elements based on linear distribution.

Function documentation

tk::LinearMap::LinearMap(int nelem) explicit

Parameters
nelem in Total number of array elements

Constructor

int tk::LinearMap::procNum(int, const CkArrayIndex& idx) override

Return the home processor number for the array element for linear distribution.

Parameters
idx in Charm++ array index object containing the array element index to assign a PE to
Returns PE assigned

void tk::LinearMap::populateInitial(int, CkArrayOptions& opt, void* msg, CkArrMgr* mgr) override

Create initial set of array elements based on linear distribution.

Parameters
opt in Charm++ array options object containing the number of initial array elements to be created
msg in Charm++ messsage to use for array element creation
mgr in Array manager to use