Hello Gary-- > > > I had a couple of questions to ask while finishing up my ensemble code > > 1. In an ensemble calculation how do i treat data that doesn't need > to be shared but is ensemble member specific. I am especially > thinking about the difference between a threaded simulation and a > multi node simuation that communicates across a socket. So if i take > a non bonded list as an example: in this case each ensemble member > simulation will have to have a non bonded list. However for the > threaded model i will need all three present in the same address > space whereas for the muti processor version each address space will > need to have only one (the one for its own member simulation). What > s he best way to set up the non bonded list have an arrayof non > bonded lists one for each ensemble member and then allocate them as > data for ensemble members is requested?
The two levels of parallelism are a bit confusing, but for this you can ignore the structure-level parallelism provided by simulationTools.StructureLoop. In an EnsembleSimulation, each ensemble member is actually has its own address space, so normal array storage works for any member-specific quantities, such as nonbond lists. Only memory allocated with EnsembleSimulation::SharedAlloc is actually shared across the ensemble. > > 2. When do shared cds vectors get syncronised is it at each > syncronisation barrier? It is shared memory, so one should make certain that only one process (ensemble member) writes to a particularly location. Others can read from a particular location after an intervening barrier. Explicit barrier calls are frowned upon: instead use the implicit barriers which occur between calls to energyMaybeDerivs0,1,2,3 > > Nb i have seem to ahve ironed out all the installation problems for > the single threaded version with the help of alvin, would you like > me to send the latest instructions on to you? Certainly. best regards-- Charles _______________________________________________ Xplor-nih mailing list Xplor-nih@cake.cit.nih.gov http://cake.cit.nih.gov/mailman/listinfo/xplor-nih