* clarify some comments for the pcm parts of the rte interface. No code
changes. This commit was SVN r2281.
Этот коммит содержится в:
родитель
c79ecdbd8e
Коммит
00e29e92ed
@ -18,6 +18,70 @@
|
||||
#include <netdb.h>
|
||||
|
||||
|
||||
/**
|
||||
* Process startup description container
|
||||
*
|
||||
* Container used to descript the processes to be launched as part of
|
||||
* a job. A job consists of a number of process started on some set
|
||||
* of resources (specified by \c nodelist). Each process type (a
|
||||
* unique argv/envp/cwd) is given its own instance of \c
|
||||
* ompi_rte_node_schedule_t and its own unique list of resources to
|
||||
* utilize.
|
||||
*
|
||||
* All memory associated with \c argv, \c env, \c cwd, and \c nodelist
|
||||
* is given to the instance of \c ompi_rte_node_schedule_t and will be
|
||||
* freed when the instance of \c ompi_rte_node_schedule_t is
|
||||
* destructed.
|
||||
*
|
||||
* if nodelist is not NULL, the contents of the list will be
|
||||
* destructed when the instance of the \c ompi_rte_node_schedule_t is
|
||||
* destructed.
|
||||
*/
|
||||
struct ompi_rte_node_schedule_t {
|
||||
/** make us an instance of list item */
|
||||
ompi_list_item_t super;
|
||||
/** argv array for process to start (NULL terminated array) */
|
||||
char **argv;
|
||||
/** length of argv */
|
||||
int argc;
|
||||
/** environ array for process to start (NULL terminated array) */
|
||||
char **env;
|
||||
/** working directory in which to start the application */
|
||||
char *cwd;
|
||||
/** list of nodes to start the process on (list of
|
||||
\c ompi_rte_node_allocation_t) */
|
||||
ompi_list_t *nodelist;
|
||||
};
|
||||
/** shorten ompi_rte_node_schedule_t declarations */
|
||||
typedef struct ompi_rte_node_schedule_t ompi_rte_node_schedule_t;
|
||||
/** create the required instance information */
|
||||
OBJ_CLASS_DECLARATION(ompi_rte_node_schedule_t);
|
||||
|
||||
|
||||
/**
|
||||
* Node
|
||||
*
|
||||
* Container for allocation and deallocation of resources used to
|
||||
* launch parallel jobs.
|
||||
*
|
||||
*/
|
||||
struct ompi_rte_node_allocation_t {
|
||||
/** make us an instance of list item */
|
||||
ompi_list_item_t super;
|
||||
/** hostname for this node. Can be used as generic description
|
||||
field if hostnames aren't used on this platform */
|
||||
char hostname[MAXHOSTNAMELEN];
|
||||
/** number of MPI processes Open MPI can start on this host */
|
||||
int count;
|
||||
/** generic key=value storage mechanism */
|
||||
ompi_list_t *info;
|
||||
};
|
||||
/** shorten ompi_rte_allocation_t declarations */
|
||||
typedef struct ompi_rte_node_allocation_t ompi_rte_node_allocation_t;
|
||||
/** create the required instance information */
|
||||
OBJ_CLASS_DECLARATION(ompi_rte_node_allocation_t);
|
||||
|
||||
|
||||
/**
|
||||
* Container for key = value pairs from the node allocation container
|
||||
*
|
||||
@ -40,70 +104,6 @@ typedef struct ompi_rte_valuepair_t ompi_rte_valuepair_t;
|
||||
OBJ_CLASS_DECLARATION(ompi_rte_valuepair_t);
|
||||
|
||||
|
||||
/**
|
||||
* Container for node allocation information.
|
||||
*
|
||||
* Container for allocation and deallocation of resources used to
|
||||
* launch parallel jobs.
|
||||
*
|
||||
*/
|
||||
struct ompi_rte_node_allocation_t {
|
||||
/** make us an instance of list item */
|
||||
ompi_list_item_t super;
|
||||
/** hostname for this node. Can be used as generic description
|
||||
field if hostnames aren't used on this platform */
|
||||
char hostname[MAXHOSTNAMELEN];
|
||||
/** number of MPI processes Open MPI can start on this host */
|
||||
int count;
|
||||
/** generic key=value storage mechanism */
|
||||
ompi_list_t *info;
|
||||
};
|
||||
/** shorten ompi_rte_allocation_t declarations */
|
||||
typedef struct ompi_rte_node_allocation_t ompi_rte_node_allocation_t;
|
||||
/** create the required instance information */
|
||||
OBJ_CLASS_DECLARATION(ompi_rte_node_allocation_t);
|
||||
|
||||
|
||||
/**
|
||||
* Container use for process startup information
|
||||
*
|
||||
* Container describing a job to be launched. A job consists of a
|
||||
* number of processes started on a number of nodes. Each process
|
||||
* type (a unique argv/envp/cwd) is given its own instance of \c
|
||||
* ompi_rte_node_schedule_t and its own unique list of hosts to start
|
||||
* on.
|
||||
*
|
||||
* All memory associated with \c argv, \c env, \c cwd, and \c nodelist
|
||||
* is given to the instance of \c ompi_rte_node_schedule_t and will be
|
||||
* freed when the instance of \c ompi_rte_node_schedule_t is
|
||||
* destructed.
|
||||
*/
|
||||
struct ompi_rte_node_schedule_t {
|
||||
/** make us an instance of list item */
|
||||
ompi_list_item_t super;
|
||||
/** argv array for process to start (NULL terminated array) */
|
||||
char **argv;
|
||||
/** length of argv */
|
||||
int argc;
|
||||
/** environ array for process to start (NULL terminated array) */
|
||||
char **env;
|
||||
/** working directory in which to start the application */
|
||||
char *cwd;
|
||||
/** list of nodes to start the process on */
|
||||
ompi_list_t *nodelist;
|
||||
};
|
||||
/** shorten ompi_rte_node_schedule_t declarations */
|
||||
typedef struct ompi_rte_node_schedule_t ompi_rte_node_schedule_t;
|
||||
/** create the required instance information */
|
||||
OBJ_CLASS_DECLARATION(ompi_rte_node_schedule_t);
|
||||
|
||||
|
||||
/**
|
||||
* VPID type
|
||||
*/
|
||||
typedef pid_t ompi_vpid_t;
|
||||
|
||||
|
||||
/**
|
||||
* Monitor callback type
|
||||
*
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user