Forráskód Böngészése

src/util/starpu_task_insert_utils.c: fix data access mode setting when dealing with dynamic handles and STARPU_DATA_MODE_ARRAY

Nathalie Furmento 10 éve
szülő
commit
22d9b329c6
1 módosított fájl, 5 hozzáadás és 1 törlés
  1. 5 1
      src/util/starpu_task_insert_utils.c

+ 5 - 1
src/util/starpu_task_insert_utils.c

@@ -296,7 +296,11 @@ void _starpu_task_insert_create(struct starpu_codelet *cl, struct starpu_task **
 			{
 				_starpu_task_insert_check_nb_buffers(cl, task, &allocated_buffers, nbuffers);
 				STARPU_TASK_SET_HANDLE((*task), descrs[i].handle, nbuffers);
-				if (cl->nbuffers == STARPU_VARIABLE_NBUFFERS || (*task)->dyn_modes)
+				if ((*task)->dyn_modes)
+				{
+					(*task)->dyn_modes[i] = descrs[i].mode;
+				}
+				else if (cl->nbuffers == STARPU_VARIABLE_NBUFFERS)
 					STARPU_TASK_SET_MODE(*task, descrs[i].mode, nbuffers);
 				else if (STARPU_CODELET_GET_MODE(cl, nbuffers))
 				{