Bladeren bron

Fix execution of applications using the whole 64bit range when built on a system that has ayudame, but not run inside ayudame

Samuel Thibault 8 jaren geleden
bovenliggende
commit
8897cc3f20
1 gewijzigde bestanden met toevoegingen van 10 en 14 verwijderingen
  1. 10 14
      src/core/dependencies/tags.c

+ 10 - 14
src/core/dependencies/tags.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2009-2013  Université de Bordeaux
+ * Copyright (C) 2009-2013, 2016  Université de Bordeaux
  * Copyright (C) 2010, 2011, 2012, 2013  CNRS
  * Copyright (C) 2016  Inria
  *
@@ -27,11 +27,7 @@
 #include <common/uthash.h>
 #include <core/debug.h>
 
-#if defined(STARPU_USE_AYUDAME1) || defined(STARPU_USE_AYUDAME2)
-# define STARPU_AYUDAME_OFFSET 4000000000000000000ULL
-#else
-# define STARPU_AYUDAME_OFFSET 0
-#endif
+#define STARPU_AYUDAME_OFFSET 4000000000000000000ULL
 
 struct _starpu_tag_table
 {
@@ -144,7 +140,7 @@ void starpu_tag_remove(starpu_tag_t id)
 {
 	struct _starpu_tag_table *entry;
 
-	STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || id < STARPU_AYUDAME_OFFSET);
+	STARPU_ASSERT(!STARPU_AYU_EVENT || id < STARPU_AYUDAME_OFFSET);
 	STARPU_AYU_REMOVETASK(id + STARPU_AYUDAME_OFFSET);
 	STARPU_PTHREAD_RWLOCK_WRLOCK(&tag_global_rwlock);
 
@@ -202,7 +198,7 @@ static struct _starpu_tag *_gettag_struct(starpu_tag_t id)
 
 		HASH_ADD_UINT64_T(tag_htbl, id, entry2);
 
-		STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || id < STARPU_AYUDAME_OFFSET);
+		STARPU_ASSERT(!STARPU_AYU_EVENT || id < STARPU_AYUDAME_OFFSET);
 		STARPU_AYU_ADDTASK(id + STARPU_AYUDAME_OFFSET, NULL);
 	}
 
@@ -237,7 +233,7 @@ void _starpu_tag_set_ready(struct _starpu_tag *tag)
 	_starpu_enforce_deps_starting_from_task(j);
 
 	_starpu_spin_lock(&tag->lock);
-	STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || tag->id < STARPU_AYUDAME_OFFSET);
+	STARPU_ASSERT(!STARPU_AYU_EVENT || tag->id < STARPU_AYUDAME_OFFSET);
 	STARPU_AYU_PRERUNTASK(tag->id + STARPU_AYUDAME_OFFSET, -1);
 	STARPU_AYU_POSTRUNTASK(tag->id + STARPU_AYUDAME_OFFSET);
 }
@@ -318,7 +314,7 @@ void _starpu_tag_declare(starpu_tag_t id, struct _starpu_job *job)
 	if (job->task->regenerate || job->submitted == 2 ||
 			tag->state != STARPU_DONE)
 		tag->state = STARPU_ASSOCIATED;
-	STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || id < STARPU_AYUDAME_OFFSET);
+	STARPU_ASSERT(!STARPU_AYU_EVENT || id < STARPU_AYUDAME_OFFSET);
 	STARPU_AYU_ADDDEPENDENCY(id+STARPU_AYUDAME_OFFSET, 0, job->job_id);
 	STARPU_AYU_ADDDEPENDENCY(job->job_id, 0, id+STARPU_AYUDAME_OFFSET);
 	_starpu_spin_unlock(&tag->lock);
@@ -351,8 +347,8 @@ void starpu_tag_declare_deps_array(starpu_tag_t id, unsigned ndeps, starpu_tag_t
 		_starpu_spin_lock(&tag_dep->lock);
 		_starpu_spin_lock(&tag_child->lock);
 		_starpu_tag_add_succ(tag_dep, cg);
-		STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || dep_id < STARPU_AYUDAME_OFFSET);
-		STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || id < STARPU_AYUDAME_OFFSET);
+		STARPU_ASSERT(!STARPU_AYU_EVENT || dep_id < STARPU_AYUDAME_OFFSET);
+		STARPU_ASSERT(!STARPU_AYU_EVENT || id < STARPU_AYUDAME_OFFSET);
 		STARPU_AYU_ADDDEPENDENCY(dep_id+STARPU_AYUDAME_OFFSET, 0, id+STARPU_AYUDAME_OFFSET);
 		_starpu_spin_unlock(&tag_child->lock);
 		_starpu_spin_unlock(&tag_dep->lock);
@@ -389,8 +385,8 @@ void starpu_tag_declare_deps(starpu_tag_t id, unsigned ndeps, ...)
 		_starpu_spin_lock(&tag_dep->lock);
 		_starpu_spin_lock(&tag_child->lock);
 		_starpu_tag_add_succ(tag_dep, cg);
-		STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || dep_id < STARPU_AYUDAME_OFFSET);
-		STARPU_ASSERT(STARPU_AYUDAME_OFFSET == 0 || id < STARPU_AYUDAME_OFFSET);
+		STARPU_ASSERT(!STARPU_AYU_EVENT || dep_id < STARPU_AYUDAME_OFFSET);
+		STARPU_ASSERT(!STARPU_AYU_EVENT || id < STARPU_AYUDAME_OFFSET);
 		STARPU_AYU_ADDDEPENDENCY(dep_id+STARPU_AYUDAME_OFFSET, 0, id+STARPU_AYUDAME_OFFSET);
 		_starpu_spin_unlock(&tag_child->lock);
 		_starpu_spin_unlock(&tag_dep->lock);