ソースを参照

add MPI Master Slave case in schedulers

Corentin Salingue 8 年 前
コミット
2c1dcade11
共有1 個のファイルを変更した10 個の追加0 個の削除を含む
  1. 10 0
      src/sched_policies/heteroprio.c

+ 10 - 0
src/sched_policies/heteroprio.c

@@ -172,6 +172,9 @@ static inline void default_init_sched(unsigned sched_ctx_id)
 #ifdef STARPU_USE_MIC
 	starpu_heteroprio_set_nb_prios(sched_ctx_id, STARPU_MIC_IDX, max_prio-min_prio+1);
 #endif
+#ifdef STARPU_USE_MPI_MASTER_SLAVE
+	starpu_heteroprio_set_nb_prios(sched_ctx_id, STARPU_MPI_MS_IDX, max_prio-min_prio+1);
+#endif
 #ifdef STARPU_USE_SCC
 	starpu_heteroprio_set_nb_prios(sched_ctx_id, STARPU_SCC_IDX, max_prio-min_prio+1);
 #endif
@@ -192,6 +195,9 @@ static inline void default_init_sched(unsigned sched_ctx_id)
 #ifdef STARPU_USE_MIC
 		starpu_heteroprio_set_mapping(sched_ctx_id, STARPU_MIC_IDX, prio, prio);
 #endif
+#ifdef STARPU_USE_MPI_MASTER_SLAVE
+		starpu_heteroprio_set_mapping(sched_ctx_id, STARPU_MPI_MS_IDX, prio, prio);
+#endif
 #ifdef STARPU_USE_SCC
 		starpu_heteroprio_set_mapping(sched_ctx_id, STARPU_SCC_IDX, prio, prio);
 #endif
@@ -326,6 +332,10 @@ static void add_workers_heteroprio_policy(unsigned sched_ctx_id, int *workerids,
 				hp->workers_heteroprio[workerid].arch_type = STARPU_SCC;
 				hp->workers_heteroprio[workerid].arch_index = STARPU_SCC_IDX;
 				break;
+			case STARPU_MPI_WORKER:
+				hp->workers_heteroprio[workerid].arch_type = STARPU_MPI_MS;
+				hp->workers_heteroprio[workerid].arch_index = STARPU_MPI_MS_IDX;
+				break;
 			default:
 				STARPU_ASSERT(0);
 			}