* remove the can_spawn functions from the pcm. when there was one pcm at
a time and no pcmclient, this made sense. Now, the selection logic will implicitly do this for us. This commit was SVN r2783.
Этот коммит содержится в:
родитель
41e17e2758
Коммит
75e6f7dac5
@ -21,13 +21,6 @@ mca_pcm_bproc_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
mca_pcm_bproc_can_spawn(struct mca_pcm_base_module_1_0_0_t* me)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
mca_pcm_bproc_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
mca_pcm_bproc_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
||||||
|
@ -45,7 +45,6 @@ extern "C" {
|
|||||||
ompi_list_t* mca_pcm_bproc_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
ompi_list_t* mca_pcm_bproc_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid,
|
mca_ns_base_jobid_t jobid,
|
||||||
int nodes, int procs);
|
int nodes, int procs);
|
||||||
bool mca_pcm_bproc_can_spawn(struct mca_pcm_base_module_1_0_0_t* me);
|
|
||||||
int mca_pcm_bproc_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_bproc_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
||||||
int mca_pcm_bproc_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_bproc_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
|
@ -45,7 +45,6 @@ mca_pcm_base_component_1_0_0_t mca_pcm_bproc_component = {
|
|||||||
|
|
||||||
struct mca_pcm_base_module_1_0_0_t mca_pcm_bproc_1_0_0 = {
|
struct mca_pcm_base_module_1_0_0_t mca_pcm_bproc_1_0_0 = {
|
||||||
mca_pcm_bproc_allocate_resources,
|
mca_pcm_bproc_allocate_resources,
|
||||||
mca_pcm_bproc_can_spawn,
|
|
||||||
mca_pcm_bproc_spawn_procs,
|
mca_pcm_bproc_spawn_procs,
|
||||||
mca_pcm_bproc_kill_proc,
|
mca_pcm_bproc_kill_proc,
|
||||||
mca_pcm_bproc_kill_job,
|
mca_pcm_bproc_kill_job,
|
||||||
|
@ -110,17 +110,6 @@ ompi_list_t* mca_pcm_ompid_allocate_resources(
|
|||||||
return nodelist;
|
return nodelist;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* This tells you whether the pcm module is capable of spawning new
|
|
||||||
* processes or not during a run
|
|
||||||
*
|
|
||||||
* @return True/False
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool mca_pcm_ompid_can_spawn(struct mca_pcm_base_module_1_0_0_t* me)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spawn a job
|
* Spawn a job
|
||||||
|
@ -66,15 +66,6 @@ ompi_list_t* mca_pcm_ompid_allocate_resources(
|
|||||||
int procs);
|
int procs);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This tells you whether the pcm module is capable of spawning new
|
|
||||||
* processes or not during a run
|
|
||||||
*
|
|
||||||
* @return True/False
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool mca_pcm_ompid_can_spawn(struct mca_pcm_base_module_1_0_0_t* me);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spawn a job
|
* Spawn a job
|
||||||
*
|
*
|
||||||
|
@ -44,7 +44,6 @@ mca_pcm_base_component_1_0_0_t mca_pcm_ompid_component = {
|
|||||||
|
|
||||||
struct mca_pcm_base_module_1_0_0_t mca_pcm_ompid_1_0_0 = {
|
struct mca_pcm_base_module_1_0_0_t mca_pcm_ompid_1_0_0 = {
|
||||||
mca_pcm_ompid_allocate_resources, /* allocate_resources */
|
mca_pcm_ompid_allocate_resources, /* allocate_resources */
|
||||||
mca_pcm_ompid_can_spawn, /* can_spawn */
|
|
||||||
mca_pcm_ompid_spawn_procs, /* spawn_procs */
|
mca_pcm_ompid_spawn_procs, /* spawn_procs */
|
||||||
NULL, /* kill_proc */
|
NULL, /* kill_proc */
|
||||||
NULL, /* kill_job */
|
NULL, /* kill_job */
|
||||||
|
@ -191,19 +191,6 @@ typedef ompi_list_t*
|
|||||||
int procs);
|
int procs);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This tells you whether the pcm module is capable of spawning new
|
|
||||||
* processes or not during a run
|
|
||||||
*
|
|
||||||
* @param me (IN) Pointer to the module struct
|
|
||||||
*
|
|
||||||
* @return True/False
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef bool
|
|
||||||
(*mca_pcm_base_can_spawn_fn_t)(struct mca_pcm_base_module_1_0_0_t* me);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spawn a job
|
* Spawn a job
|
||||||
*
|
*
|
||||||
@ -283,7 +270,6 @@ typedef int
|
|||||||
*/
|
*/
|
||||||
struct mca_pcm_base_module_1_0_0_t {
|
struct mca_pcm_base_module_1_0_0_t {
|
||||||
mca_pcm_base_allocate_resources_fn_t pcm_allocate_resources;
|
mca_pcm_base_allocate_resources_fn_t pcm_allocate_resources;
|
||||||
mca_pcm_base_can_spawn_fn_t pcm_can_spawn;
|
|
||||||
mca_pcm_base_spawn_procs_fn_t pcm_spawn_procs;
|
mca_pcm_base_spawn_procs_fn_t pcm_spawn_procs;
|
||||||
mca_pcm_base_kill_proc_fn_t pcm_kill_proc;
|
mca_pcm_base_kill_proc_fn_t pcm_kill_proc;
|
||||||
mca_pcm_base_kill_job_fn_t pcm_kill_job;
|
mca_pcm_base_kill_job_fn_t pcm_kill_job;
|
||||||
|
@ -60,15 +60,6 @@ mca_pcm_rms_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
mca_pcm_rms_can_spawn(struct mca_pcm_base_module_1_0_0_t* me)
|
|
||||||
{
|
|
||||||
/* it looks like a prun'd job can call prun again... let's see
|
|
||||||
what happens for now.. */
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
mca_pcm_rms_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
mca_pcm_rms_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
||||||
|
@ -45,7 +45,6 @@ extern "C" {
|
|||||||
ompi_list_t* mca_pcm_rms_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
ompi_list_t* mca_pcm_rms_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid,
|
mca_ns_base_jobid_t jobid,
|
||||||
int nodes, int procs);
|
int nodes, int procs);
|
||||||
bool mca_pcm_rms_can_spawn(struct mca_pcm_base_module_1_0_0_t* me);
|
|
||||||
int mca_pcm_rms_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_rms_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
||||||
int mca_pcm_rms_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_rms_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
|
@ -150,7 +150,6 @@ mca_pcm_rms_init(int *priority,
|
|||||||
if (NULL == me) return NULL;
|
if (NULL == me) return NULL;
|
||||||
|
|
||||||
me->pcm_allocate_resources = mca_pcm_rms_allocate_resources;
|
me->pcm_allocate_resources = mca_pcm_rms_allocate_resources;
|
||||||
me->pcm_can_spawn = mca_pcm_rms_can_spawn;
|
|
||||||
me->pcm_spawn_procs = mca_pcm_rms_spawn_procs;
|
me->pcm_spawn_procs = mca_pcm_rms_spawn_procs;
|
||||||
me->pcm_kill_proc = mca_pcm_rms_kill_proc;
|
me->pcm_kill_proc = mca_pcm_rms_kill_proc;
|
||||||
me->pcm_kill_job = mca_pcm_rms_kill_job;
|
me->pcm_kill_job = mca_pcm_rms_kill_job;
|
||||||
|
@ -40,7 +40,6 @@ extern "C" {
|
|||||||
ompi_list_t* mca_pcm_rsh_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
ompi_list_t* mca_pcm_rsh_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid,
|
mca_ns_base_jobid_t jobid,
|
||||||
int nodes, int procs);
|
int nodes, int procs);
|
||||||
bool mca_pcm_rsh_can_spawn(struct mca_pcm_base_module_1_0_0_t* me);
|
|
||||||
int mca_pcm_rsh_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_rsh_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
||||||
int mca_pcm_rsh_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_rsh_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
|
@ -162,7 +162,6 @@ mca_pcm_rsh_init(int *priority,
|
|||||||
* fill in the function pointers
|
* fill in the function pointers
|
||||||
*/
|
*/
|
||||||
me->super.pcm_allocate_resources = mca_pcm_rsh_allocate_resources;
|
me->super.pcm_allocate_resources = mca_pcm_rsh_allocate_resources;
|
||||||
me->super.pcm_can_spawn = mca_pcm_rsh_can_spawn;
|
|
||||||
me->super.pcm_spawn_procs = mca_pcm_rsh_spawn_procs;
|
me->super.pcm_spawn_procs = mca_pcm_rsh_spawn_procs;
|
||||||
me->super.pcm_kill_proc = mca_pcm_rsh_kill_proc;
|
me->super.pcm_kill_proc = mca_pcm_rsh_kill_proc;
|
||||||
me->super.pcm_kill_job = mca_pcm_rsh_kill_job;
|
me->super.pcm_kill_job = mca_pcm_rsh_kill_job;
|
||||||
|
@ -40,16 +40,6 @@ static int internal_spawn_proc(mca_pcm_rsh_module_t *me,
|
|||||||
int num_procs);
|
int num_procs);
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
mca_pcm_rsh_can_spawn(struct mca_pcm_base_module_1_0_0_t* me_super)
|
|
||||||
{
|
|
||||||
/* we can always try to rsh some more... Might not always work as
|
|
||||||
* the caller hopes
|
|
||||||
*/
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
mca_pcm_rsh_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me_super,
|
mca_pcm_rsh_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me_super,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
||||||
|
@ -21,13 +21,6 @@ mca_pcm_wmi_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
mca_pcm_wmi_can_spawn(struct mca_pcm_base_module_1_0_0_t* me)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
mca_pcm_wmi_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
mca_pcm_wmi_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedlist)
|
||||||
|
@ -45,7 +45,6 @@ extern "C" {
|
|||||||
ompi_list_t* mca_pcm_wmi_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
ompi_list_t* mca_pcm_wmi_allocate_resources(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid,
|
mca_ns_base_jobid_t jobid,
|
||||||
int nodes, int procs);
|
int nodes, int procs);
|
||||||
bool mca_pcm_wmi_can_spawn(struct mca_pcm_base_module_1_0_0_t* me);
|
|
||||||
int mca_pcm_wmi_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_wmi_spawn_procs(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list);
|
||||||
int mca_pcm_wmi_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
int mca_pcm_wmi_kill_proc(struct mca_pcm_base_module_1_0_0_t* me,
|
||||||
|
@ -45,7 +45,6 @@ mca_pcm_base_component_1_0_0_t mca_pcm_wmi_component = {
|
|||||||
|
|
||||||
struct mca_pcm_base_module_1_0_0_t mca_pcm_wmi_1_0_0 = {
|
struct mca_pcm_base_module_1_0_0_t mca_pcm_wmi_1_0_0 = {
|
||||||
mca_pcm_wmi_allocate_resources,
|
mca_pcm_wmi_allocate_resources,
|
||||||
mca_pcm_wmi_can_spawn,
|
|
||||||
mca_pcm_wmi_spawn_procs,
|
mca_pcm_wmi_spawn_procs,
|
||||||
mca_pcm_wmi_kill_proc,
|
mca_pcm_wmi_kill_proc,
|
||||||
mca_pcm_wmi_kill_job,
|
mca_pcm_wmi_kill_job,
|
||||||
|
@ -16,11 +16,12 @@ extern mca_pcm_base_module_t *mca_pcm;
|
|||||||
bool
|
bool
|
||||||
ompi_rte_can_spawn(void)
|
ompi_rte_can_spawn(void)
|
||||||
{
|
{
|
||||||
if (NULL == mca_pcm->pcm_can_spawn) {
|
if (NULL == mca_pcm) {
|
||||||
return OMPI_ERROR;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
return mca_pcm->pcm_can_spawn(mca_pcm);
|
/* BWB - fix me, fix me, fix me */
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user