
- convert MCA params to the new API - some style and indenting fixes - look at local shell, and if [new] MCA param pls_rsh_assume_same_shell is 1, then assume that the remote shell is the same as the local shell. If pls_rsh_assume_same_shell is 0, do a probe to figure out what the remote shell is (NOT CURRENTLY IMPLEMENTED! you'll get a run-time warning if you set this MCA param to 0). - if the remote shell is not csh and not bash, then prefix the remote command with "( ! [ -e ./.profile ] || . ./.profile;" (and suffix it with ")") so that we run the .profile on the remote side in order to set PATHs and the like. See the LAM FAQ for details (will someday be on the Open MPI FAQ: http://www.lam-mpi.org/faq/category4.php3#question8) - add a bunch of debugging output if the MCA param pls_rsh_debug is enabled (or the top-level debug MCA param is enabled) - add more help messages (and corresponding calls to opal_show_help()) in help-pls-rsh.txt This commit was SVN r6731.
80 строки
2.2 KiB
C
80 строки
2.2 KiB
C
/*
|
|
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
* All rights reserved.
|
|
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
* All rights reserved.
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
* University of Stuttgart. All rights reserved.
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
* All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef ORTE_PLS_RSH_EXPORT_H
|
|
#define ORTE_PLS_RSH_EXPORT_H
|
|
|
|
#include "ompi_config.h"
|
|
|
|
#include "opal/threads/condition.h"
|
|
#include "mca/mca.h"
|
|
#include "mca/pls/pls.h"
|
|
|
|
#if defined(c_plusplus) || defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* Module open / close
|
|
*/
|
|
int orte_pls_rsh_component_open(void);
|
|
int orte_pls_rsh_component_close(void);
|
|
orte_pls_base_module_t* orte_pls_rsh_component_init(int *priority);
|
|
|
|
/*
|
|
* Startup / Shutdown
|
|
*/
|
|
int orte_pls_rsh_finalize(void);
|
|
|
|
|
|
/*
|
|
* Interface
|
|
*/
|
|
int orte_pls_rsh_launch(orte_jobid_t);
|
|
int orte_pls_rsh_terminate_job(orte_jobid_t);
|
|
int orte_pls_rsh_terminate_proc(const orte_process_name_t* proc_name);
|
|
|
|
/**
|
|
* PLS Component
|
|
*/
|
|
struct orte_pls_rsh_component_t {
|
|
orte_pls_base_component_t super;
|
|
bool debug;
|
|
bool reap;
|
|
bool assume_same_shell;
|
|
int delay;
|
|
int priority;
|
|
char** argv;
|
|
int argc;
|
|
char* orted;
|
|
char* path;
|
|
size_t num_children;
|
|
size_t num_concurrent;
|
|
opal_mutex_t lock;
|
|
opal_condition_t cond;
|
|
};
|
|
typedef struct orte_pls_rsh_component_t orte_pls_rsh_component_t;
|
|
|
|
|
|
ORTE_DECLSPEC extern orte_pls_rsh_component_t mca_pls_rsh_component;
|
|
ORTE_DECLSPEC extern orte_pls_base_module_t orte_pls_rsh_module;
|
|
|
|
|
|
#if defined(c_plusplus) || defined(__cplusplus)
|
|
}
|
|
#endif
|
|
#endif /* ORTE_PLS_RSH_EXPORT_H */
|