From 39da7fd3c98ea23f2f60462e519b6d4fea838ee2 Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <matthieu.schaller@durham.ac.uk> Date: Thu, 19 Jan 2017 17:50:18 +0000 Subject: [PATCH] Updated the test in the scheduler to only check for pairs that have an active local cell. --- src/scheduler.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/scheduler.c b/src/scheduler.c index 4bdaf5efe4..9ce2ce4427 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -1079,6 +1079,10 @@ void scheduler_start(struct scheduler *s) { struct cell *ci = t->ci; struct cell *cj = t->cj; + /* Don't check MPI stuff */ + if(t->type == task_type_send || t->type == task_type_recv) + continue; + if (cj == NULL) { /* self */ if (ci->ti_end_min == ti_current && t->skip && @@ -1102,11 +1106,11 @@ void scheduler_start(struct scheduler *s) { } else { /* pair */ - /* Don't check MPI stuff */ - if (t->type != task_type_send && t->type != task_type_recv) { + if (t->skip) { - if ((ci->ti_end_min == ti_current || cj->ti_end_min == ti_current) && - t->skip) + /* Check that the pair is active if the local cell is active */ + if ((ci->ti_end_min == ti_current && ci->nodeID == engine_rank) + || ( cj->ti_end_min == ti_current && cj->nodeID == engine_rank) ) error( "Task (type='%s/%s') should not have been skipped " "ti_current=%lld " -- GitLab