Browse Source

max: Fix loading engines on "*"

Samuel Thibault 4 years ago
parent
commit
36523570bc
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/drivers/max/driver_fpga.c

+ 7 - 1
src/drivers/max/driver_fpga.c

@@ -62,6 +62,8 @@ max_engine_t *starpu_fpga_get_local_engine(void)
 	int worker = starpu_worker_get_id_check();
 	int devid = starpu_worker_get_devid(worker);
 
+	STARPU_ASSERT_MSG(engines[devid], "engine for fpga %d on worker %d is NULL!?", devid, worker);
+
 	return engines[devid];
 }
 
@@ -193,10 +195,14 @@ static void init_device_context(unsigned devid)
 			snprintf(s, sizeof(s), "local:%u", (unsigned) devid);
 			/* FIXME: this assumes that the loads are in-order.
 			 * Ideally we'd detect which ones had an explicit load */
-			engines[n] = max_load(load->file, load->engine_id_pattern);
+			engines[devid] = max_load(load->file, load->engine_id_pattern);
+			STARPU_ASSERT_MSG(engines[devid], "engine %d (part of *) could not be loaded\n", n);
 		}
 		else
+		{
 			engines[n] = max_load(load->file, load->engine_id_pattern);
+			STARPU_ASSERT_MSG(engines[n], "engine %d could not be loaded\n", n);
+		}
 	}
 }