diff --git a/LCS/ACC/ACCbin/include/ACCbin/PR_MPI.h b/LCS/ACC/ACCbin/include/ACCbin/PR_MPI.h index f9e8e336282caf8852f0cd5debd65c92c710511f..b0a3c76e618c2f31431696a51a45e6efcad791cc 100644 --- a/LCS/ACC/ACCbin/include/ACCbin/PR_MPI.h +++ b/LCS/ACC/ACCbin/include/ACCbin/PR_MPI.h @@ -52,7 +52,8 @@ public: const string& aJobName, const vector<string>& nodes, const string& aExecutable, - const string& aParamfile); + const string& aParamfile, + uint16 nrProcs); PR_MPI(const PR_MPI& other); diff --git a/LCS/ACC/ACCbin/src/ApplController.cc b/LCS/ACC/ACCbin/src/ApplController.cc index 5e55728925eeddbc96ab2050823f2fc1a3f23edb..fa3251bc6141b34c2304a15a50b0164c0e1d90d8 100644 --- a/LCS/ACC/ACCbin/src/ApplController.cc +++ b/LCS/ACC/ACCbin/src/ApplController.cc @@ -263,7 +263,7 @@ void ApplController::createParSubsets() // by a python script, for final LOFAR we need to do this in SAS. if (procPrefix == "InputAppl.Transpose") { LOG_DEBUG("CS1_SPECIAL: calling prepare_CS1_InputSection.py"); - nrProcs = system("/opt/lofar/bin/prepare_CS1_InputSection.py"); + nrProcs = system("/opt/lofar/bin/prepare_CS1_InputSection.py")/256; LOG_DEBUG_STR("nrOfProcesses calculated by script = " << nrProcs); } @@ -361,7 +361,8 @@ void ApplController::createParSubsets() procName, nodes, basePS.getString(procPrefix + "._executable"), - fileName)); + fileName, + nrProcs)); writeParSubset(basePS, procName, fileName); } diff --git a/LCS/ACC/ACCbin/src/PR_MPI.cc b/LCS/ACC/ACCbin/src/PR_MPI.cc index 3207410ee551c19a72bfb838963b1a051c87cc54..02845a1bc0a30b033326c4df9fbdbbc1fdb5ab56 100644 --- a/LCS/ACC/ACCbin/src/PR_MPI.cc +++ b/LCS/ACC/ACCbin/src/PR_MPI.cc @@ -39,7 +39,8 @@ PR_MPI::PR_MPI(const string& aHostName, const string& aJobName, const vector<string>& nodes, const string& aExecutable, - const string& aParamFile) + const string& aParamFile, + uint16 nrProcs) : ProcRule("MPIjob", aJobName, aExecutable, aParamFile) { LOG_TRACE_OBJ_STR ("PR_MPI: constructor"); @@ -66,7 +67,7 @@ PR_MPI::PR_MPI(const string& aHostName, machinefileName.c_str(), aExecutable.c_str(), aParamFile.c_str(), - nodes.size()); + nrProcs); itsStopCmd = formatString("ssh %s \"( cd /opt/lofar/bin ; ./stopMPI.sh %s ) \"", aHostName.c_str(), aExecutable.c_str()); @@ -77,7 +78,7 @@ PR_MPI::PR_MPI(const string& aHostName, machinefileName.c_str(), aExecutable.c_str(), aParamFile.c_str(), - nodes.size()); + nrProcs); itsStopCmd = formatString("./stopMPI.sh %s", aExecutable.c_str()); }