void _starpu_init_sched_policy(struct starpu_machine_config_s *config) { /* Perhaps we have to display some help */ display_sched_help_message(); /* Prefetch is activated by default */ use_prefetch = starpu_get_env_number("STARPU_PREFETCH"); if (use_prefetch == -1) use_prefetch = 1; /* By default, we don't calibrate */ unsigned do_calibrate = 0; if (config->user_conf && (config->user_conf->calibrate != -1)) { do_calibrate = config->user_conf->calibrate; } else { int res = starpu_get_env_number("STARPU_CALIBRATE"); do_calibrate = (res < 0)?0:(unsigned)res; } _starpu_set_calibrate_flag(do_calibrate); struct starpu_sched_policy_s *selected_policy; selected_policy = select_sched_policy(config); load_sched_policy(selected_policy); policy.init_sched(&config->topology, &policy); }
void _starpu_init_sched_policy(struct _starpu_machine_config *config, struct _starpu_sched_ctx *sched_ctx, struct starpu_sched_policy *selected_policy) { /* Perhaps we have to display some help */ display_sched_help_message(); /* Prefetch is activated by default */ use_prefetch = starpu_get_env_number("STARPU_PREFETCH"); if (use_prefetch == -1) use_prefetch = 1; /* Set calibrate flag */ _starpu_set_calibrate_flag(config->conf.calibrate); load_sched_policy(selected_policy, sched_ctx); _STARPU_TRACE_WORKER_SCHEDULING_PUSH; sched_ctx->sched_policy->init_sched(sched_ctx->id); _STARPU_TRACE_WORKER_SCHEDULING_POP; }