From 48b168b08cae7f16a25de1d5056af518d79dbde0 Mon Sep 17 00:00:00 2001 From: Ilja <2098356+iljah@users.noreply.github.com> Date: Fri, 21 Feb 2025 08:22:48 +0000 Subject: [PATCH] Store random seeds in vector --- src/kernel/main.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/kernel/main.cpp b/src/kernel/main.cpp index 0536016..9c37035 100644 --- a/src/kernel/main.cpp +++ b/src/kernel/main.cpp @@ -222,25 +222,24 @@ int main(int argn,char* args[]) { if (randomSeed == 0) randomSeed = time(NULL); if (initialized == true) { // Master process calculates a random number seed for each process: - int* seeds = NULL; + vector seeds; if (objectWrapper.sim.mpiRank == objectWrapper.sim.MASTER_RANK) { objectWrapper.simClasses.logger << "(MAIN) Master process generating random number generator seeds "; objectWrapper.simClasses.logger << " using initial seed " << randomSeed << endl; - seeds = new int[objectWrapper.sim.mpiProcesses]; + seeds.resize(objectWrapper.sim.mpiProcesses); srand(randomSeed); for (int p=0; p(),&randomSeed,1,MPI_Type(),objectWrapper.sim.MASTER_RANK,objectWrapper.sim.comm); + MPI_Scatter(seeds.data(),1,MPI_Type(),&randomSeed,1,MPI_Type(),objectWrapper.sim.MASTER_RANK,objectWrapper.sim.comm); objectWrapper.simClasses.logger << "(MAIN) Received random seed " << randomSeed << " from master process" << endl; if (objectWrapper.simClasses.random.initialize(randomSeed) == false) { objectWrapper.simClasses.logger << "(MAIN) ERROR: Failed to initialize random number generator!" << endl << write; initialized = false; - } - delete [] seeds; seeds = NULL; + } } // Init parallel grid