
a time and no pcmclient, this made sense. Now, the selection logic will implicitly do this for us. This commit was SVN r2783.
81 строка
1.4 KiB
C
81 строка
1.4 KiB
C
/*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#include "ompi_config.h"
|
|
|
|
#include "include/constants.h"
|
|
#include "runtime/runtime.h"
|
|
#include "runtime/runtime_types.h"
|
|
#include "mca/pcm/pcm.h"
|
|
#include "mca/pcmclient/pcmclient.h"
|
|
#include "mca/pcmclient/base/base.h"
|
|
|
|
extern mca_pcm_base_module_t *mca_pcm;
|
|
|
|
bool
|
|
ompi_rte_can_spawn(void)
|
|
{
|
|
if (NULL == mca_pcm) {
|
|
return OMPI_ERROR;
|
|
}
|
|
|
|
/* BWB - fix me, fix me, fix me */
|
|
return true;
|
|
}
|
|
|
|
|
|
int
|
|
ompi_rte_spawn_procs(mca_ns_base_jobid_t jobid, ompi_list_t *schedule_list)
|
|
{
|
|
if (NULL == mca_pcm->pcm_spawn_procs) {
|
|
return OMPI_ERROR;
|
|
}
|
|
|
|
return mca_pcm->pcm_spawn_procs(mca_pcm, jobid, schedule_list);
|
|
}
|
|
|
|
|
|
ompi_process_name_t*
|
|
ompi_rte_get_self(void)
|
|
{
|
|
if (NULL == mca_pcmclient.pcmclient_get_self) {
|
|
return NULL;
|
|
}
|
|
|
|
return mca_pcmclient.pcmclient_get_self();
|
|
}
|
|
|
|
|
|
int
|
|
ompi_rte_get_peers(ompi_process_name_t **peers, size_t *npeers)
|
|
{
|
|
if (NULL == mca_pcmclient.pcmclient_get_peers) {
|
|
return OMPI_ERROR;
|
|
}
|
|
|
|
return mca_pcmclient.pcmclient_get_peers(peers, npeers);
|
|
}
|
|
|
|
|
|
int
|
|
ompi_rte_kill_proc(ompi_process_name_t *name, int flags)
|
|
{
|
|
if (NULL == mca_pcm->pcm_kill_proc) {
|
|
return OMPI_ERROR;
|
|
}
|
|
|
|
return mca_pcm->pcm_kill_proc(mca_pcm, name, flags);
|
|
}
|
|
|
|
|
|
int
|
|
ompi_rte_kill_job(mca_ns_base_jobid_t jobid, int flags)
|
|
{
|
|
if (NULL == mca_pcm->pcm_kill_job) {
|
|
return OMPI_ERROR;
|
|
}
|
|
|
|
return mca_pcm->pcm_kill_job(mca_pcm, jobid, flags);
|
|
}
|