OpenAtom
Version1.5a
|
Some basic data structures and the array map classes are defined here. More...
#include "debug_flags.h"
#include "CPcharmParaInfoGrp.h"
#include "load_balance/PeList.h"
#include "uber/Uber.h"
#include "EachToManyMulticastStrategy.h"
#include "RingMulticastStrategy.h"
#include "StreamingStrategy.h"
#include "ckhashtable.h"
#include "load_balance/IntMap.h"
#include "load_balance/MapTable.h"
#include "Atoms.h"
#include "energy.h"
#include "paircalc/ckPairCalculator.h"
#include "cpaimd.decl.h"
Go to the source code of this file.
Classes | |
class | main |
The class which creates the main chare. More... | |
class | CkArrayMapTable1 |
Helper class for map hashtables copied from femrefine.C. More... | |
class | CkArrayMapTable2 |
class | CkArrayMapTable3 |
class | CkArrayMapTable4 |
class | AtomComputeMap |
Class used for instantiation of G-space group objects. More... | |
class | GSMap |
class | RSMap |
Class used for instantiation of real-space group objects. More... | |
class | RPPMap |
class | RhoRSMap |
provide procnum mapping for RhoR More... | |
class | RhoGSMap |
provide procnum mapping for RhoG More... | |
class | RhoGHartMap |
class | RhoRHartMap |
Namespaces | |
cp | |
Class for paircalc config data. | |
Macros | |
#define | USE_INT_MAP |
#define | LOAD_BALANCE_STEP 100000000 |
#define | PRE_BALANCE_STEP 2 |
#define | FIRST_BALANCE_STEP 100000000 |
#define | CmiMemcpy(dest, src, size) CmiMemcpy((dest), (src), (size)) |
#define | DoFFTContribute_ 1100 |
#define | doRealFwFFT_ 1110 |
#define | doRealBwFFT_ 1120 |
#define | GspaceFwFFT_ 1130 |
#define | GspaceBwFFT_ 1140 |
#define | RhoRtoGFFT_ 1150 |
#define | PostByrdfwFFTGtoR_ 1152 |
#define | BwFFTRtoG_ 1153 |
#define | ByrdanddoFwFFTGtoR_ 1154 |
#define | HartExcVksG_ 1160 |
#define | divRhoVksGspace_ 1161 |
#define | AcceptStructFact_ 1162 |
#define | eesHartExcG_ 1163 |
#define | eesEwaldG_ 1164 |
#define | eesAtmForcR_ 1165 |
#define | eesAtmBspline_ 1166 |
#define | eesZmatR_ 1167 |
#define | eesEnergyAtmForcR_ 1168 |
#define | eesProjG_ 1169 |
#define | fwFFTGtoR0_ 1170 |
#define | fwFFTGtoRnot0_ 1171 |
#define | doNlFFTGtoR_ 1172 |
#define | doNlFFTRtoG_ 1173 |
#define | eesPsiForcGspace_ 1174 |
#define | GradCorrGGA_ 1180 |
#define | WhiteByrdFFTX_ 1181 |
#define | WhiteByrdFFTY_ 1182 |
#define | WhiteByrdFFTZ_ 1183 |
#define | enlMatrixCalc_ 1300 |
#define | enlAtmForcCalc_ 1301 |
#define | enlForcCalc_ 1302 |
#define | doEextFFTRtoG_ 1303 |
#define | doEextFFTGtoR_ 1304 |
#define | doEextFFTGxtoRx_ 1305 |
#define | doEextFFTRytoGy_ 1306 |
#define | doRhoFFTRytoGy_ 1307 |
#define | doRhoFFTGxtoRx_ 1308 |
#define | OrthoDGEMM1_ 1401 |
#define | OrthoDGEMM2_ 1402 |
#define | IntegrateModForces_ 1000 |
200-300 reserved for paircalculator | |
#define | Scalcmap_ 2000 |
#define | GHartAtmForcCopy_ 3000 |
#define | GHartAtmForcSend_ 4000 |
Functions | |
CkReductionMsg * | sumFastDouble (int nMsg, CkReductionMsg **msgs) |
sum together matrices of doubles possibly faster than sum_double due to minimizing copies and using sameer's fastadd | |
void | fastAdd (double *a, double *b, int nelem) |
void | init_commlib_strategies (int, int, int, UberCollection thisInstance) |
Initialize Commlib communication strategies. | |
void | lst_sort_clean (int, int *, int *) |
void | init_PIBeads (CPcharmParaInfo *sim, UberCollection thisInstance) |
Create the PIBeadAtoms array. More... | |
void | init_state_chares (int natm_nl, int natm_nl_grp_max, int numSfGrps, int doublePack, CPcharmParaInfo *sim, UberCollection thisInstance) |
Create the array elements for the GSpace, Particle and Real Space planes /////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////. More... | |
void | init_eesNL_chares (int natm_nl, int natm_nl_grp_max, int doublePack, PeList *exclusion, CPcharmParaInfo *sim, UberCollection thisInstance) |
/addtogroup Particle More... | |
int | init_rho_chares (CPcharmParaInfo *, UberCollection thisInstance) |
Creating arrays CP_Rho_GSpacePlane, CP_Rho_GSpacePlaneHelper and CP_Rho_RealSpacePlane. More... | |
void | control_physics_to_driver (UberCollection thisInstance) |
Get the atoms and the parainfo /////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////. More... | |
void | get_grp_params (int natm_nl, int numSfGrps, int indexSfGrp, int planeIndex, int *n_ret, int *istrt_ret, int *iend_ret) |
int | atmGrpMap (int istart, int nsend, int listsize, int *listpe, int AtmGrp, int dup, int planeIndex) |
int | gsprocNum (CPcharmParaInfo *sim, int state, int plane, int numInst) |
bool | findCuboid (int &x, int &y, int &z, int &order, int maxX, int maxY, int maxZ, int maxT, int volume, int vn) |
return the cuboid x,y,z of a subpartition exactly matching that volume | |
void | create_Rho_fft_numbers (int, int, int, int, int, int, int *, int *, int *, int *, int *) |
void | setTraceUserEvents () |
void | computeMapOffsets () |
void | paircalcstartup (pc::pcConfig *cfgSymmPC, pc::pcConfig *cfgAsymmPC, CPcharmParaInfo *sim, int doublePack) |
stuff to be include before the decl or else | |
void | orthostartup (cp::ortho::orthoConfig *orthoCfg, pc::pcConfig *cfgSymmPC, pc::pcConfig *cfgAsymmPC, CPcharmParaInfo *sim, PeListFactory *peList4PCmapping) |
Variables | |
bool | fakeTorus |
CkVec< int > | PIBImaptable |
INT_MAPs are the ones actually used so these are being changed to CkVec's for beads. | |
CkVec< MapType1 > | AtomImaptable |
CkVec< MapType2 > | GSImaptable |
CkVec< MapType2 > | RSImaptable |
CkVec< MapType2 > | RPPImaptable |
CkVec< MapType2 > | RhoGSImaptable |
CkVec< MapType2 > | RhoRSImaptable |
CkVec< MapType2 > | RhoGHartImaptable |
CkVec< MapType3 > | RhoRHartImaptable |
CkHashtableT< intdual, int > | GSmaptable |
CkHashtableT< intdual, int > | RSmaptable |
CkHashtableT< intdual, int > | RPPmaptable |
CkHashtableT< intdual, int > | RhoGSmaptable |
CkHashtableT< intdual, int > | RhoRSmaptable |
CkHashtableT< intdual, int > | RhoGHartmaptable |
CkHashtableT< inttriple, int > | RhoRHartmaptable |
CkHashtableT< intdual, int > | AsymScalcmaptable |
CkHashtableT< intdual, int > | SymScalcmaptable |
Some basic data structures and the array map classes are defined here.
These maps are used to map the array elements to the correct processors. Please read ../doc/README for a detailed documentation on the structure of the program.
Definition in file cpaimd.h.
void control_physics_to_driver | ( | UberCollection | thisInstance | ) |
Get the atoms and the parainfo /////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////.
make a group : create a proxy for the atom class and also a reduction client
void create_Rho_fft_numbers | ( | int | , |
int | , | ||
int | , | ||
int | , | ||
int | , | ||
int | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | |||
) |
Simple case : everyone is the same size
Subplane case : different sizes with subplanes label
Definition at line 2948 of file cpaimd.C.
Referenced by init_state_chares().
void init_eesNL_chares | ( | int | natm_nl, |
int | natm_nl_grp_max, | ||
int | doublePack, | ||
PeList * | exclusion, | ||
CPcharmParaInfo * | sim, | ||
UberCollection | thisInstance | ||
) |
void init_PIBeads | ( | CPcharmParaInfo * | sim, |
UberCollection | thisInstance | ||
) |
Create the PIBeadAtoms array.
void init_state_chares | ( | int | natm_nl, |
int | natm_nl_grp_max, | ||
int | numSfGrps, | ||
int | doublePack, | ||
CPcharmParaInfo * | sim, | ||
UberCollection | thisInstance | ||
) |
Create the array elements for the GSpace, Particle and Real Space planes /////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////.
Useful Local variables
addtogroup mapping
Definition at line 1235 of file cpaimd.C.
References create_Rho_fft_numbers().
void setTraceUserEvents | ( | ) |
Set user trace events for projections optimizations
Definition at line 3028 of file cpaimd.C.
References IntegrateModForces_.