Bladeren bron

Fix restartable/restarted tasks: terminated is only for the first iteration

Samuel Thibault 13 jaren geleden
bovenliggende
commit
8bc2f2e2f9
2 gewijzigde bestanden met toevoegingen van 3 en 2 verwijderingen
  1. 0 1
      src/core/dependencies/cg.c
  2. 3 1
      src/core/dependencies/cg.h

+ 0 - 1
src/core/dependencies/cg.c

@@ -185,7 +185,6 @@ void _starpu_notify_cg_list(struct _starpu_cg_list *successors)
 	unsigned succ;
 
 	_starpu_spin_lock(&successors->lock);
-	STARPU_ASSERT(!successors->terminated);
 	/* Note: some thread might be concurrently adding other items */
 	for (succ = 0; succ < successors->nsuccs; succ++)
 	{

+ 3 - 1
src/core/dependencies/cg.h

@@ -45,7 +45,9 @@ struct _starpu_cg_list
 	unsigned ndeps; /* how many deps ? */
 	unsigned ndeps_completed; /* how many deps are done ? */
 
-	/* Whether the completion is finished. */
+	/* Whether the completion is finished.
+	 * For restartable/restarted tasks, only the first iteration is taken into account here.
+	 */
 	unsigned terminated;
 
 	/* List of successors */