diff --git a/src/cell_unskip.c b/src/cell_unskip.c index cf90ddb75f311b34833bb81e6e08f5d7db995303..a20dfe9c4c2fcf6dcba72bd979af878cac982fc5 100644 --- a/src/cell_unskip.c +++ b/src/cell_unskip.c @@ -1587,13 +1587,20 @@ int cell_unskip_hydro_tasks(struct cell *c, struct scheduler *s) { /* Activate hydro drift */ if (t->type == task_type_self) { +#ifdef ONLY_SUBTASKS + error("Found some self tasks!"); +#else if (ci_nodeID == nodeID) cell_activate_drift_part(ci, s); if (ci_nodeID == nodeID && with_timestep_limiter) cell_activate_limiter(ci, s); +#endif } /* Set the correct sorting flags and activate hydro drifts */ else if (t->type == task_type_pair) { +#ifdef ONLY_SUBTASKS + error("Found some self tasks!"); +#else /* Store some values. */ atomic_or(&ci->hydro.requires_sorts, 1 << t->flags); atomic_or(&cj->hydro.requires_sorts, 1 << t->flags); @@ -1613,6 +1620,7 @@ int cell_unskip_hydro_tasks(struct cell *c, struct scheduler *s) { /* Check the sorts and activate them if needed. */ cell_activate_hydro_sorts(ci, t->flags, s); cell_activate_hydro_sorts(cj, t->flags, s); +#endif } /* Store current values of dx_max and h_max. */ @@ -2040,9 +2048,13 @@ int cell_unskip_stars_tasks(struct cell *c, struct scheduler *s, /* Activate the drifts */ if (t->type == task_type_self && ci_active) { +#ifdef ONLY_SUBTASKS + error("Found some self tasks!"); +#else cell_activate_drift_spart(ci, s); cell_activate_drift_part(ci, s); if (with_timestep_sync) cell_activate_sync_part(ci, s); +#endif } /* Only activate tasks that involve a local active cell. */ @@ -2051,6 +2063,9 @@ int cell_unskip_stars_tasks(struct cell *c, struct scheduler *s, scheduler_activate(s, t); if (t->type == task_type_pair) { +#ifdef ONLY_SUBTASKS + error("Found some self tasks!"); +#else /* Activate stars_in for each cell that is part of * a pair task as to not miss any dependencies */ if (ci_nodeID == nodeID) @@ -2099,6 +2114,7 @@ int cell_unskip_stars_tasks(struct cell *c, struct scheduler *s, cell_activate_hydro_sorts(ci, t->flags, s); cell_activate_stars_sorts(cj, t->flags, s); } +#endif } else if (t->type == task_type_sub_self) { @@ -2261,7 +2277,11 @@ int cell_unskip_stars_tasks(struct cell *c, struct scheduler *s, #endif if (t->type == task_type_self && ci_active) { +#ifdef ONLY_SUBTASKS + error("Found some self tasks!"); +#else scheduler_activate(s, t); +#endif } else if (t->type == task_type_sub_self && ci_active) { @@ -2478,13 +2498,19 @@ int cell_unskip_black_holes_tasks(struct cell *c, struct scheduler *s) { /* Activate the drifts */ if (t->type == task_type_self) { - cell_activate_drift_part(ci, s); +#ifdef ONLY_SUBTASKS + error("Found some self tasks!"); +#else + cell_activate_drift_part(ci, s); cell_activate_drift_bpart(ci, s); +#endif } /* Activate the drifts */ else if (t->type == task_type_pair) { - +#ifdef ONLY_SUBTASKS + error("Found some self tasks!"); +#else /* Activate the drift tasks. */ if (ci_nodeID == nodeID) cell_activate_drift_bpart(ci, s); if (ci_nodeID == nodeID) cell_activate_drift_part(ci, s); @@ -2498,6 +2524,7 @@ int cell_unskip_black_holes_tasks(struct cell *c, struct scheduler *s) { scheduler_activate(s, ci->hydro.super->black_holes.black_holes_in); if (cj_nodeID == nodeID) scheduler_activate(s, cj->hydro.super->black_holes.black_holes_in); +#endif } /* Store current values of dx_max and h_max. */