소스 검색

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 년 전
부모
커밋
22d9b329c6
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  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))
 				{