* 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>
|
#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
|
* 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);
|
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
|
* Monitor callback type
|
||||||
*
|
*
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user