Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

PmePencilMap Class Reference

List of all members.

Public Member Functions

 PmePencilMap (int i_a, int i_b, int n_b, int n, int *d)
virtual int registerArray (CkArrayIndexMax &, CkArrayID)
virtual int procNum (int, const CkArrayIndex &i)
virtual void populateInitial (int, CkArrayIndexMax &, void *msg, CkArrMgr *mgr)

Constructor & Destructor Documentation

PmePencilMap::PmePencilMap int  i_a,
int  i_b,
int  n_b,
int  n,
int *  d
[inline]
 

Definition at line 135 of file ComputePme.C.

00136     : ia(i_a), ib(i_b), nb(n_b),
00137       size(n), data(newcopyint(n,d)) {
00138   }


Member Function Documentation

virtual void PmePencilMap::populateInitial int  ,
CkArrayIndexMax &  ,
void *  msg,
CkArrMgr *  mgr
[inline, virtual]
 

Definition at line 147 of file ComputePme.C.

References NAMD_bug(), and procNum().

00147                                                                                  {
00148     int mype = CkMyPe();
00149     for ( int i=0; i < size; ++i ) {
00150       if ( data[i] == mype ) {
00151         CkArrayIndex3D ai(0,0,0);
00152         ai.data()[ia] = i / nb;
00153         ai.data()[ib] = i % nb;
00154         if ( procNum(0,ai) != mype ) NAMD_bug("PmePencilMap is inconsistent");
00155         if ( ! msg ) NAMD_bug("PmePencilMap multiple pencils on a pe?");
00156         mgr->insertInitial(ai,msg);
00157         msg = 0;
00158       }
00159     }
00160     mgr->doneInserting();
00161     if ( msg ) CkFreeMsg(msg);
00162   }

virtual int PmePencilMap::procNum int  ,
const CkArrayIndex &  i
[inline, virtual]
 

Definition at line 143 of file ComputePme.C.

Referenced by populateInitial().

00143                                                   {
00144     //Return the home processor number for this element of this array
00145     return data[ i.data()[ia] * nb + i.data()[ib] ];
00146   }

virtual int PmePencilMap::registerArray CkArrayIndexMax &  ,
CkArrayID 
[inline, virtual]
 

Definition at line 139 of file ComputePme.C.

00139                                                          {
00140     //Return an ``arrayHdl'', given some information about the array
00141     return 0;
00142   }


The documentation for this class was generated from the following file:
Generated on Fri May 25 04:07:23 2012 for NAMD by  doxygen 1.3.9.1