|
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_.