# | Line 35 | Line 35 | |
---|---|---|
35 | * | |
36 | * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). | |
37 | * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). | |
38 | < | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
38 | > | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
39 | * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). | |
40 | * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). | |
41 | */ | |
# | Line 51 | Line 51 | namespace OpenMD { | |
51 | ||
52 | ParallelRandNumGen::ParallelRandNumGen(const uint32& oneSeed) { | |
53 | ||
54 | – | const int masterNode = 0; |
54 | unsigned long seed = oneSeed; | |
55 | ||
56 | #ifdef IS_MPI | |
57 | < | MPI_Bcast(&seed, 1, MPI_UNSIGNED_LONG, masterNode, MPI_COMM_WORLD); |
57 | > | const int masterNode = 0; |
58 | > | MPI::COMM_WORLD.Bcast(&seed, 1, MPI::UNSIGNED_LONG, masterNode); |
59 | #endif | |
60 | ||
61 | if (seed != oneSeed) { | |
# | Line 67 | Line 67 | namespace OpenMD { | |
67 | ||
68 | int nProcessors; | |
69 | #ifdef IS_MPI | |
70 | < | MPI_Comm_size( MPI_COMM_WORLD, &nProcessors); |
71 | < | MPI_Comm_rank( MPI_COMM_WORLD, &myRank_); |
70 | > | nProcessors = MPI::COMM_WORLD.Get_size(); |
71 | > | myRank_ = MPI::COMM_WORLD.Get_rank(); |
72 | #else | |
73 | nProcessors = 1; | |
74 | myRank_ = 0; | |
# | Line 85 | Line 85 | namespace OpenMD { | |
85 | ||
86 | ParallelRandNumGen::ParallelRandNumGen() { | |
87 | ||
88 | – | std::vector<uint32> bigSeed; |
89 | – | const int masterNode = 0; |
88 | int nProcessors; | |
89 | #ifdef IS_MPI | |
90 | < | MPI_Comm_size( MPI_COMM_WORLD, &nProcessors); |
91 | < | MPI_Comm_rank( MPI_COMM_WORLD, &myRank_); |
90 | > | nProcessors = MPI::COMM_WORLD.Get_size(); |
91 | > | myRank_ = MPI::COMM_WORLD.Get_rank(); |
92 | #else | |
93 | nProcessors = 1; | |
94 | myRank_ = 0; | |
# | Line 104 | Line 102 | namespace OpenMD { | |
102 | ||
103 | void ParallelRandNumGen::seed( const uint32 oneSeed ) { | |
104 | ||
107 | – | const int masterNode = 0; |
105 | unsigned long seed = oneSeed; | |
106 | #ifdef IS_MPI | |
107 | < | MPI_Bcast(&seed, 1, MPI_UNSIGNED_LONG, masterNode, MPI_COMM_WORLD); |
107 | > | const int masterNode = 0; |
108 | > | MPI::COMM_WORLD.Bcast(&seed, 1, MPI::UNSIGNED_LONG, masterNode); |
109 | #endif | |
110 | if (seed != oneSeed) { | |
111 | sprintf(painCave.errMsg, | |
# | Line 125 | Line 123 | namespace OpenMD { | |
123 | void ParallelRandNumGen::seed() { | |
124 | ||
125 | std::vector<uint32> bigSeed; | |
126 | + | |
127 | + | #ifdef IS_MPI |
128 | int size; | |
129 | const int masterNode = 0; | |
130 | – | #ifdef IS_MPI |
130 | if (worldRank == masterNode) { | |
131 | #endif | |
132 | ||
133 | bigSeed = mtRand_->generateSeeds(); | |
135 | – | size = bigSeed.size(); |
134 | ||
135 | #ifdef IS_MPI | |
136 | < | MPI_Bcast(&size, 1, MPI_INT, masterNode, MPI_COMM_WORLD); |
137 | < | MPI_Bcast(&bigSeed[0], size, MPI_UNSIGNED_LONG, masterNode, MPI_COMM_WORLD); |
136 | > | size = bigSeed.size(); |
137 | > | MPI::COMM_WORLD.Bcast(&size, 1, MPI::INT, masterNode); |
138 | > | MPI::COMM_WORLD.Bcast(&bigSeed[0], size, MPI::UNSIGNED_LONG, masterNode); |
139 | }else { | |
140 | < | MPI_Bcast(&size, 1, MPI_INT, masterNode, MPI_COMM_WORLD); |
140 | > | MPI::COMM_WORLD.Bcast(&size, 1, MPI::INT, masterNode); |
141 | bigSeed.resize(size); | |
142 | < | MPI_Bcast(&bigSeed[0], size, MPI_UNSIGNED_LONG, masterNode, MPI_COMM_WORLD); |
142 | > | MPI::COMM_WORLD.Bcast(&bigSeed[0], size, MPI::UNSIGNED_LONG, masterNode); |
143 | } | |
144 | #endif | |
145 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |