Skip to content
Snippets Groups Projects
Commit 29262bec authored by Jan David Mol's avatar Jan David Mol
Browse files

Task #10059: Merge cobalt partition into cpu partition, and strictly use 2 cores/subband

parent 00d57656
No related branches found
No related tags found
No related merge requests found
......@@ -15,12 +15,12 @@ nproc = 0
nproc = 0
[imager_prepare]
nthreads = 10
nthreads = 2
[long_baseline]
nproc = 0
rficonsole_executable = /opt/aoflagger/bin/aoflagger
nthreads = 10
nthreads = 2
[dppp]
max_per_node = 0
......@@ -28,34 +28,34 @@ nthreads = 2
[awimager]
max_per_node = 0
nthreads = 10
nthreads = 2
[rficonsole]
executable = /opt/aoflagger/bin/aoflagger
max_per_node = 0
nthreads = 10
nthreads = 2
[imager_prepare]
rficonsole_executable = /opt/aoflagger/bin/aoflagger
nthreads = 10
nthreads = 2
[imager_bbs]
nthreads = 10
nthreads = 2
[bbs_reducer]
nthreads = 10
nthreads = 2
[executable_args]
nthreads = 10
nthreads = 2
[casapy-imager]
nthreads = 10
nthreads = 2
[pythonplugin]
nthreads = 10
nthreads = 2
[python-calibrate-stand-alone]
nthreads = 10
nthreads = 2
[calibrate-stand-alone]
nthreads = 10
nthreads = 2
......@@ -145,36 +145,25 @@ class Parset(dict):
def processingNumberOfCoresPerTask(self):
result = int(self[PARSET_PREFIX + "Observation.Cluster.ProcessingCluster.numberOfCoresPerTask"]) or "21"
if result != 21:
if result != 2:
logger.warn('Invalid Observation.Cluster.ProcessingCluster.numberOfCoresPerTask: %s, defaulting to %s', result, 21)
return 21
return 2
def processingNumberOfTasks(self):
""" Parse the number of nodes to allocate from "Observation.Cluster.ProcessingCluster.numberOfTasks",
which can have either the format "{number}" or "{min}-{max}". """
defaultValue = "12-25"
defaultValue = 244
parsetValue = self[PARSET_PREFIX + "Observation.Cluster.ProcessingCluster.numberOfTasks"].strip()
if "-" in parsetValue:
# min,max
_min, _max = parsetValue.split("-")
# collapse if not min <= max
if _min > _max:
result = _min
else:
result = "%s-%s" % (_min, _max)
else:
# plain number
result = int(parsetValue)
result = int(parsetValue) * 10 # ScS expects to schedule 10 jobs/node, and still specifies #nodes
# apply bound
if result < 1 or result > 50:
if result <= 0 or result > 50*24:
result = defaultValue
if result != parsetValue:
logger.error('Invalid Observation.Cluster.ProcessingCluster.numberOfTasks: %s, defaulting to %s', parsetValue, result)
logger.warn('Invalid Observation.Cluster.ProcessingCluster.numberOfTasks: %s, defaulting to %s', parsetValue, result)
return result
......@@ -437,7 +426,7 @@ class PipelineControl(OTDBBusListener):
"--nice=1000",
"--partition=%s" % parset.processingPartition(),
"--nodes=%s" % parset.processingNumberOfTasks(),
"--ntasks=%s" % parset.processingNumberOfTasks(),
"--cpus-per-task=%s" % parset.processingNumberOfCoresPerTask(),
# Define better places to write the output
......
......@@ -52,7 +52,7 @@ function read_cluster_model {
case "${CLUSTER_NAME}" in
CEP4)
HEADNODE=head01.cep4.control.lofar
COMPUTENODES="`ssh $HEADNODE sinfo --responding --states=idle,mixed,alloc --format=%n.cep4,%T --noheader --partition=cobalt --sort=N | fgrep -v ,draining | cut -f1 -d,`"
COMPUTENODES="`ssh $HEADNODE sinfo --responding --states=idle,mixed,alloc --format=%n.cep4,%T --noheader --partition=cpu --sort=N | fgrep -v ,draining | cut -f1 -d,`"
if [ -z "$COMPUTENODES" ]; then
echo "ERROR: Could not obtain list of available CEP4 nodes. Defaulting to all."
COMPUTENODES="`seq -f "cpu%02.0f.cep4" 1 50`"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment