For some unknowable reason, svn refused to pickup the ns subtree. Checked the whole thing out again, copied the correct files on top of the old ones, and now recommitting them.
This commit was SVN r3645.
Этот коммит содержится в:
родитель
bf9087d9d1
Коммит
48b0b10464
@ -44,43 +44,53 @@ OMPI_DECLSPEC int mca_ns_base_close(void);
|
||||
* Base functions that are common to all implementations - can be overridden
|
||||
*/
|
||||
|
||||
OMPI_DECLSPEC int ns_base_assign_cellid_to_process(ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC int mca_ns_base_assign_cellid_to_process(ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC ompi_process_name_t* ns_base_create_process_name(mca_ns_base_cellid_t cell,
|
||||
OMPI_DECLSPEC ompi_process_name_t* mca_ns_base_create_process_name(mca_ns_base_cellid_t cell,
|
||||
mca_ns_base_jobid_t job,
|
||||
mca_ns_base_vpid_t vpid);
|
||||
|
||||
OMPI_DECLSPEC ompi_process_name_t* ns_base_copy_process_name(ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC ompi_process_name_t* mca_ns_base_copy_process_name(ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC ompi_process_name_t* ns_base_convert_string_to_process_name(const char* name);
|
||||
OMPI_DECLSPEC ompi_process_name_t* mca_ns_base_convert_string_to_process_name(const char* name);
|
||||
|
||||
OMPI_DECLSPEC char* ns_base_get_proc_name_string(const ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC char* mca_ns_base_get_proc_name_string(const ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC char* ns_base_get_vpid_string(const ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC char* mca_ns_base_get_vpid_string(const ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC char* ns_base_get_jobid_string(const ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC char* mca_ns_base_get_jobid_string(const ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC char* ns_base_convert_jobid_to_string(const mca_ns_base_jobid_t jobid);
|
||||
OMPI_DECLSPEC char* mca_ns_base_convert_jobid_to_string(const mca_ns_base_jobid_t jobid);
|
||||
|
||||
OMPI_DECLSPEC char* ns_base_get_cellid_string(const ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC mca_ns_base_jobid_t mca_ns_base_convert_string_to_jobid(const char* jobid_string);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_vpid_t ns_base_get_vpid(const ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC char* mca_ns_base_get_cellid_string(const ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_jobid_t ns_base_get_jobid(const ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC mca_ns_base_vpid_t mca_ns_base_get_vpid(const ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_cellid_t ns_base_get_cellid(const ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC mca_ns_base_jobid_t mca_ns_base_get_jobid(const ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC int ns_base_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
OMPI_DECLSPEC mca_ns_base_cellid_t mca_ns_base_get_cellid(const ompi_process_name_t* name);
|
||||
|
||||
OMPI_DECLSPEC int mca_ns_base_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
const ompi_process_name_t* name1,
|
||||
const ompi_process_name_t* name2);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_cellid_t ns_base_create_cellid(void);
|
||||
OMPI_DECLSPEC int mca_ns_base_pack_name(void *dest, void *src, int n);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_jobid_t ns_base_create_jobid(void);
|
||||
OMPI_DECLSPEC int mca_ns_base_unpack_name(void *dest, void *src, int n);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_vpid_t ns_base_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range);
|
||||
OMPI_DECLSPEC int mca_ns_base_pack_jobid(void *dest, void *src, int n);
|
||||
|
||||
OMPI_DECLSPEC int ns_base_free_name(ompi_process_name_t* name);
|
||||
OMPI_DECLSPEC int mca_ns_base_unpack_jobid(void *dest, void *src, int n);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_cellid_t mca_ns_base_create_cellid(void);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_jobid_t mca_ns_base_create_jobid(void);
|
||||
|
||||
OMPI_DECLSPEC mca_ns_base_vpid_t mca_ns_base_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range);
|
||||
|
||||
OMPI_DECLSPEC int mca_ns_base_free_name(ompi_process_name_t* name);
|
||||
|
||||
|
||||
|
||||
|
@ -29,14 +29,14 @@
|
||||
* functions
|
||||
*/
|
||||
|
||||
int ns_base_assign_cellid_to_process(ompi_process_name_t* name)
|
||||
int mca_ns_base_assign_cellid_to_process(ompi_process_name_t* name)
|
||||
{
|
||||
name->cellid = 0;
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
ompi_process_name_t* ns_base_create_process_name(mca_ns_base_cellid_t cell,
|
||||
ompi_process_name_t* mca_ns_base_create_process_name(mca_ns_base_cellid_t cell,
|
||||
mca_ns_base_jobid_t job, mca_ns_base_vpid_t vpid)
|
||||
{
|
||||
ompi_process_name_t *newname;
|
||||
@ -58,7 +58,7 @@ ompi_process_name_t* ns_base_create_process_name(mca_ns_base_cellid_t cell,
|
||||
return(newname);
|
||||
}
|
||||
|
||||
ompi_process_name_t* ns_base_copy_process_name(ompi_process_name_t* name)
|
||||
ompi_process_name_t* mca_ns_base_copy_process_name(ompi_process_name_t* name)
|
||||
{
|
||||
mca_ns_base_cellid_t cell;
|
||||
mca_ns_base_jobid_t job;
|
||||
@ -69,15 +69,15 @@ ompi_process_name_t* ns_base_copy_process_name(ompi_process_name_t* name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
cell = ns_base_get_cellid(name);
|
||||
job = ns_base_get_jobid(name);
|
||||
vpid = ns_base_get_vpid(name);
|
||||
cell = mca_ns_base_get_cellid(name);
|
||||
job = mca_ns_base_get_jobid(name);
|
||||
vpid = mca_ns_base_get_vpid(name);
|
||||
|
||||
newname = ns_base_create_process_name(cell, job, vpid);
|
||||
newname = mca_ns_base_create_process_name(cell, job, vpid);
|
||||
return newname;
|
||||
}
|
||||
|
||||
char* ns_base_get_proc_name_string(const ompi_process_name_t* name)
|
||||
char* mca_ns_base_get_proc_name_string(const ompi_process_name_t* name)
|
||||
{
|
||||
char *name_string;
|
||||
|
||||
@ -92,7 +92,7 @@ char* ns_base_get_proc_name_string(const ompi_process_name_t* name)
|
||||
return(name_string);
|
||||
}
|
||||
|
||||
ompi_process_name_t* ns_base_convert_string_to_process_name(const char* name)
|
||||
ompi_process_name_t* mca_ns_base_convert_string_to_process_name(const char* name)
|
||||
{
|
||||
char *temp, *token;
|
||||
mca_ns_base_cellid_t cell;
|
||||
@ -148,7 +148,7 @@ ompi_process_name_t* ns_base_convert_string_to_process_name(const char* name)
|
||||
goto CLEANUP;
|
||||
}
|
||||
|
||||
return_code = ns_base_create_process_name(cell, job, vpid);
|
||||
return_code = mca_ns_base_create_process_name(cell, job, vpid);
|
||||
|
||||
CLEANUP:
|
||||
if (temp) {
|
||||
@ -159,7 +159,7 @@ ompi_process_name_t* ns_base_convert_string_to_process_name(const char* name)
|
||||
}
|
||||
|
||||
|
||||
char* ns_base_get_vpid_string(const ompi_process_name_t* name)
|
||||
char* mca_ns_base_get_vpid_string(const ompi_process_name_t* name)
|
||||
{
|
||||
char *name_string;
|
||||
|
||||
@ -175,7 +175,7 @@ char* ns_base_get_vpid_string(const ompi_process_name_t* name)
|
||||
}
|
||||
|
||||
|
||||
char* ns_base_get_jobid_string(const ompi_process_name_t* name)
|
||||
char* mca_ns_base_get_jobid_string(const ompi_process_name_t* name)
|
||||
{
|
||||
char *name_string;
|
||||
|
||||
@ -191,7 +191,7 @@ char* ns_base_get_jobid_string(const ompi_process_name_t* name)
|
||||
}
|
||||
|
||||
|
||||
char* ns_base_convert_jobid_to_string(const mca_ns_base_jobid_t jobid)
|
||||
char* mca_ns_base_convert_jobid_to_string(const mca_ns_base_jobid_t jobid)
|
||||
{
|
||||
char *jobid_string;
|
||||
|
||||
@ -203,7 +203,23 @@ char* ns_base_convert_jobid_to_string(const mca_ns_base_jobid_t jobid)
|
||||
}
|
||||
|
||||
|
||||
char* ns_base_get_cellid_string(const ompi_process_name_t* name)
|
||||
mca_ns_base_jobid_t mca_ns_base_convert_string_to_jobid(const char* jobidstring)
|
||||
{
|
||||
unsigned long int tmpint;
|
||||
mca_ns_base_jobid_t jobid;
|
||||
|
||||
tmpint = strtoul(jobidstring, NULL, 16);
|
||||
if (MCA_NS_BASE_JOBID_MAX >= tmpint) {
|
||||
jobid = (mca_ns_base_jobid_t)tmpint;
|
||||
} else {
|
||||
jobid = MCA_NS_BASE_JOBID_MAX;
|
||||
}
|
||||
|
||||
return jobid;
|
||||
}
|
||||
|
||||
|
||||
char* mca_ns_base_get_cellid_string(const ompi_process_name_t* name)
|
||||
{
|
||||
char *name_string;
|
||||
|
||||
@ -219,7 +235,7 @@ char* ns_base_get_cellid_string(const ompi_process_name_t* name)
|
||||
}
|
||||
|
||||
|
||||
mca_ns_base_vpid_t ns_base_get_vpid(const ompi_process_name_t* name)
|
||||
mca_ns_base_vpid_t mca_ns_base_get_vpid(const ompi_process_name_t* name)
|
||||
{
|
||||
if (NULL == name) { /* got an error */
|
||||
return(MCA_NS_BASE_VPID_MAX);
|
||||
@ -229,7 +245,7 @@ mca_ns_base_vpid_t ns_base_get_vpid(const ompi_process_name_t* name)
|
||||
}
|
||||
|
||||
|
||||
mca_ns_base_jobid_t ns_base_get_jobid(const ompi_process_name_t* name)
|
||||
mca_ns_base_jobid_t mca_ns_base_get_jobid(const ompi_process_name_t* name)
|
||||
{
|
||||
if (NULL == name) { /* got an error */
|
||||
return(MCA_NS_BASE_JOBID_MAX);
|
||||
@ -238,7 +254,7 @@ mca_ns_base_jobid_t ns_base_get_jobid(const ompi_process_name_t* name)
|
||||
return(name->jobid);
|
||||
}
|
||||
|
||||
mca_ns_base_cellid_t ns_base_get_cellid(const ompi_process_name_t* name)
|
||||
mca_ns_base_cellid_t mca_ns_base_get_cellid(const ompi_process_name_t* name)
|
||||
{
|
||||
if (NULL == name) { /* got an error */
|
||||
return(MCA_NS_BASE_CELLID_MAX);
|
||||
@ -248,7 +264,7 @@ mca_ns_base_cellid_t ns_base_get_cellid(const ompi_process_name_t* name)
|
||||
}
|
||||
|
||||
|
||||
int ns_base_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
int mca_ns_base_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
const ompi_process_name_t* name1,
|
||||
const ompi_process_name_t* name2)
|
||||
{
|
||||
@ -298,7 +314,79 @@ int ns_base_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
}
|
||||
|
||||
|
||||
int ns_base_free_name(ompi_process_name_t* name)
|
||||
int mca_ns_base_pack_name(void *dest, void *src, int n)
|
||||
{
|
||||
ompi_process_name_t *dn, *sn;
|
||||
int i;
|
||||
|
||||
dn = (ompi_process_name_t*) dest;
|
||||
sn = (ompi_process_name_t*) src;
|
||||
|
||||
for (i=0; i<n; i++) {
|
||||
dn->cellid = htonl(sn->cellid);
|
||||
dn->jobid = htonl(sn->jobid);
|
||||
dn->vpid = htonl(sn->vpid);
|
||||
dn++; sn++;
|
||||
}
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int mca_ns_base_unpack_name(void *dest, void *src, int n)
|
||||
{
|
||||
ompi_process_name_t *dn, *sn;
|
||||
int i;
|
||||
|
||||
dn = (ompi_process_name_t*) dest;
|
||||
sn = (ompi_process_name_t*) src;
|
||||
|
||||
for (i=0; i<n; i++) {
|
||||
dn->cellid = ntohl(sn->cellid);
|
||||
dn->jobid = ntohl(sn->jobid);
|
||||
dn->vpid = ntohl(sn->vpid);
|
||||
dn++; sn++;
|
||||
}
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int mca_ns_base_pack_jobid(void *dest, void *src, int n)
|
||||
{
|
||||
mca_ns_base_jobid_t *dj, *sj;
|
||||
int i;
|
||||
|
||||
dj = (mca_ns_base_jobid_t*) dest;
|
||||
sj = (mca_ns_base_jobid_t*) src;
|
||||
|
||||
for (i=0; i<n; i++) {
|
||||
*dj = htonl(*sj);
|
||||
dj++; sj++;
|
||||
}
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int mca_ns_base_unpack_jobid(void *dest, void *src, int n)
|
||||
{
|
||||
mca_ns_base_jobid_t *dj, *sj;
|
||||
int i;
|
||||
|
||||
dj = (mca_ns_base_jobid_t*) dest;
|
||||
sj = (mca_ns_base_jobid_t*) src;
|
||||
|
||||
for (i=0; i<n; i++) {
|
||||
*dj = ntohl(*sj);
|
||||
dj++; sj++;
|
||||
}
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int mca_ns_base_free_name(ompi_process_name_t* name)
|
||||
{
|
||||
if (NULL != name) {
|
||||
free(name);
|
||||
|
105
src/mca/ns/ns.h
105
src/mca/ns/ns.h
@ -29,7 +29,6 @@
|
||||
#include "class/ompi_list.h"
|
||||
|
||||
#include "mca/mca.h"
|
||||
#include "util/bufpack.h"
|
||||
|
||||
|
||||
/*
|
||||
@ -373,6 +372,23 @@ typedef char* (*mca_ns_base_module_get_jobid_string_fn_t)(const ompi_process_nam
|
||||
*/
|
||||
typedef char* (*mca_ns_base_module_convert_jobid_to_string_fn_t)(const mca_ns_base_jobid_t jobid);
|
||||
|
||||
/**
|
||||
* Convert a string to a jobid
|
||||
* Converts a character string into a jobid. The character string must be a hexadecimal
|
||||
* representation of a valid jobid.
|
||||
*
|
||||
* @param jobidstring The string to be converted.
|
||||
*
|
||||
* @retval jobid The resulting jobid.
|
||||
* @retval MCA_NS_BASE_JOBID_MAX String could not be converted.
|
||||
*
|
||||
* @code
|
||||
* jobid = ompi_name_server.convert_string_to_jobid(jobidstring);
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
typedef mca_ns_base_jobid_t (*mca_ns_base_module_convert_string_to_jobid_fn_t)(const char *jobidstring);
|
||||
|
||||
/**
|
||||
* Get the cell id as a character string.
|
||||
* The get_cellid_string() function returns the cell id in a character string
|
||||
@ -476,6 +492,88 @@ typedef mca_ns_base_cellid_t (*mca_ns_base_module_get_cellid_fn_t)(const ompi_pr
|
||||
*/
|
||||
typedef int (*mca_ns_base_module_compare_fn_t)(ompi_ns_cmp_bitmask_t fields, const ompi_process_name_t *name1, const ompi_process_name_t *name2);
|
||||
|
||||
/*
|
||||
* Pack a name structure for transmission and/or registry storage
|
||||
* Given a source location and the number of contiguous names stored there,
|
||||
* this function packs those names into the given destination, converting
|
||||
* each name into network byte order.
|
||||
*
|
||||
* @param dest A void* pointing to the starting location for the destination
|
||||
* memory. Note that this memory MUST be preallocated and adequately sized.
|
||||
* @param src A void* pointing to the starting location of the source data.
|
||||
* @param n The number of names to be packed.
|
||||
*
|
||||
* @retval OMPI_SUCCESS Indicates that the names were successfully packed.
|
||||
*
|
||||
* @code
|
||||
* status_code = ompi_name_server.pack_name(&dest, &src, n);
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
typedef int (*mca_ns_base_module_pack_name_fn_t)(void *dest, void *src, int n);
|
||||
|
||||
/*
|
||||
* Unpack a name structure
|
||||
* Given a source location and the number of contiguous names stored there,
|
||||
* this function unpacks those names into the given destination, converting
|
||||
* each name from network byte order to the host environment.
|
||||
*
|
||||
* @param dest A void* pointing to the starting location for the destination
|
||||
* memory. Note that this memory MUST be preallocated and adequately sized.
|
||||
* @param src A void* pointing to the starting location of the source data.
|
||||
* @param n The number of names to be unpacked.
|
||||
*
|
||||
* @retval OMPI_SUCCESS Indicates that the names were successfully unpacked.
|
||||
*
|
||||
* @code
|
||||
* status_code = ompi_name_server.unpack_name(&dest, &src, n);
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
typedef int (*mca_ns_base_module_unpack_name_fn_t)(void *dest, void *src, int n);
|
||||
|
||||
/*
|
||||
* Pack a jobid for transmission and/or registry storage
|
||||
* Given a source location and the number of contiguous jobids stored there,
|
||||
* this function packs those values into the given destination, converting
|
||||
* each value into network byte order.
|
||||
*
|
||||
* @param dest A void* pointing to the starting location for the destination
|
||||
* memory. Note that this memory MUST be preallocated and adequately sized.
|
||||
* @param src A void* pointing to the starting location of the source data.
|
||||
* @param n The number of jobids to be packed.
|
||||
*
|
||||
* @retval OMPI_SUCCESS Indicates that the jobids were successfully packed.
|
||||
*
|
||||
* @code
|
||||
* status_code = ompi_name_server.pack_jobid(&dest, &src, n);
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
typedef int (*mca_ns_base_module_pack_jobid_fn_t)(void *dest, void *src, int n);
|
||||
|
||||
/*
|
||||
* Unpack a jobid
|
||||
* Given a source location and the number of contiguous jobids stored there,
|
||||
* this function unpacks those values into the given destination, converting
|
||||
* each jobid from network byte order to the host environment.
|
||||
*
|
||||
* @param dest A void* pointing to the starting location for the destination
|
||||
* memory. Note that this memory MUST be preallocated and adequately sized.
|
||||
* @param src A void* pointing to the starting location of the source data.
|
||||
* @param n The number of jobids to be unpacked.
|
||||
*
|
||||
* @retval OMPI_SUCCESS Indicates that the jobids were successfully unpacked.
|
||||
*
|
||||
* @code
|
||||
* status_code = ompi_name_server.unpack_jobid(&dest, &src, n);
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
typedef int (*mca_ns_base_module_unpack_jobid_fn_t)(void *dest, void *src, int n);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Ver 1.0.0
|
||||
*/
|
||||
@ -492,11 +590,16 @@ struct mca_ns_base_module_1_0_0_t {
|
||||
mca_ns_base_module_get_vpid_string_fn_t get_vpid_string;
|
||||
mca_ns_base_module_get_jobid_string_fn_t get_jobid_string;
|
||||
mca_ns_base_module_convert_jobid_to_string_fn_t convert_jobid_to_string;
|
||||
mca_ns_base_module_convert_string_to_jobid_fn_t convert_string_to_jobid;
|
||||
mca_ns_base_module_get_cellid_string_fn_t get_cellid_string;
|
||||
mca_ns_base_module_get_vpid_fn_t get_vpid;
|
||||
mca_ns_base_module_get_jobid_fn_t get_jobid;
|
||||
mca_ns_base_module_get_cellid_fn_t get_cellid;
|
||||
mca_ns_base_module_compare_fn_t compare;
|
||||
mca_ns_base_module_pack_name_fn_t pack_name;
|
||||
mca_ns_base_module_unpack_name_fn_t unpack_name;
|
||||
mca_ns_base_module_pack_jobid_fn_t pack_jobid;
|
||||
mca_ns_base_module_unpack_jobid_fn_t unpack_jobid;
|
||||
};
|
||||
|
||||
typedef struct mca_ns_base_module_1_0_0_t mca_ns_base_module_1_0_0_t;
|
||||
|
@ -21,7 +21,7 @@
|
||||
* functions
|
||||
*/
|
||||
|
||||
mca_ns_base_cellid_t ns_proxy_create_cellid(void)
|
||||
mca_ns_base_cellid_t mca_ns_proxy_create_cellid(void)
|
||||
{
|
||||
ompi_buffer_t cmd;
|
||||
mca_ns_base_cellid_t cell;
|
||||
@ -64,7 +64,7 @@ mca_ns_base_cellid_t ns_proxy_create_cellid(void)
|
||||
}
|
||||
|
||||
|
||||
mca_ns_base_jobid_t ns_proxy_create_jobid(void)
|
||||
mca_ns_base_jobid_t mca_ns_proxy_create_jobid(void)
|
||||
{
|
||||
ompi_buffer_t cmd;
|
||||
mca_ns_base_jobid_t job;
|
||||
@ -107,7 +107,7 @@ mca_ns_base_jobid_t ns_proxy_create_jobid(void)
|
||||
}
|
||||
|
||||
|
||||
mca_ns_base_vpid_t ns_proxy_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range)
|
||||
mca_ns_base_vpid_t mca_ns_proxy_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range)
|
||||
{
|
||||
ompi_buffer_t cmd;
|
||||
mca_ns_base_vpid_t starting_vpid;
|
||||
|
@ -38,11 +38,11 @@ extern int mca_ns_proxy_debug;
|
||||
/*
|
||||
* proxy function prototypes
|
||||
*/
|
||||
mca_ns_base_cellid_t ns_proxy_create_cellid(void);
|
||||
mca_ns_base_cellid_t mca_ns_proxy_create_cellid(void);
|
||||
|
||||
mca_ns_base_jobid_t ns_proxy_create_jobid(void);
|
||||
mca_ns_base_jobid_t mca_ns_proxy_create_jobid(void);
|
||||
|
||||
mca_ns_base_vpid_t ns_proxy_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range);
|
||||
mca_ns_base_vpid_t mca_ns_proxy_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range);
|
||||
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
|
@ -51,23 +51,28 @@ OMPI_COMP_EXPORT mca_ns_base_component_t mca_ns_proxy_component = {
|
||||
* setup the function pointers for the module
|
||||
*/
|
||||
static mca_ns_base_module_t mca_ns_proxy = {
|
||||
ns_proxy_create_cellid,
|
||||
ns_base_assign_cellid_to_process,
|
||||
ns_proxy_create_jobid,
|
||||
ns_base_create_process_name,
|
||||
ns_base_copy_process_name,
|
||||
ns_base_convert_string_to_process_name,
|
||||
ns_proxy_reserve_range,
|
||||
ns_base_free_name,
|
||||
ns_base_get_proc_name_string,
|
||||
ns_base_get_vpid_string,
|
||||
ns_base_get_jobid_string,
|
||||
ns_base_convert_jobid_to_string,
|
||||
ns_base_get_cellid_string,
|
||||
ns_base_get_vpid,
|
||||
ns_base_get_jobid,
|
||||
ns_base_get_cellid,
|
||||
ns_base_compare
|
||||
mca_ns_proxy_create_cellid,
|
||||
mca_ns_base_assign_cellid_to_process,
|
||||
mca_ns_proxy_create_jobid,
|
||||
mca_ns_base_create_process_name,
|
||||
mca_ns_base_copy_process_name,
|
||||
mca_ns_base_convert_string_to_process_name,
|
||||
mca_ns_proxy_reserve_range,
|
||||
mca_ns_base_free_name,
|
||||
mca_ns_base_get_proc_name_string,
|
||||
mca_ns_base_get_vpid_string,
|
||||
mca_ns_base_get_jobid_string,
|
||||
mca_ns_base_convert_jobid_to_string,
|
||||
mca_ns_base_convert_string_to_jobid,
|
||||
mca_ns_base_get_cellid_string,
|
||||
mca_ns_base_get_vpid,
|
||||
mca_ns_base_get_jobid,
|
||||
mca_ns_base_get_cellid,
|
||||
mca_ns_base_compare,
|
||||
mca_ns_base_pack_name,
|
||||
mca_ns_base_unpack_name,
|
||||
mca_ns_base_pack_jobid,
|
||||
mca_ns_base_unpack_jobid
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -22,7 +22,7 @@
|
||||
* functions
|
||||
*/
|
||||
|
||||
mca_ns_base_cellid_t ns_replica_create_cellid(void)
|
||||
mca_ns_base_cellid_t mca_ns_replica_create_cellid(void)
|
||||
{
|
||||
OMPI_THREAD_LOCK(&mca_ns_replica_mutex);
|
||||
|
||||
@ -36,7 +36,7 @@ mca_ns_base_cellid_t ns_replica_create_cellid(void)
|
||||
}
|
||||
}
|
||||
|
||||
mca_ns_base_jobid_t ns_replica_create_jobid(void)
|
||||
mca_ns_base_jobid_t mca_ns_replica_create_jobid(void)
|
||||
{
|
||||
mca_ns_replica_name_tracker_t *new_nt;
|
||||
|
||||
@ -57,7 +57,7 @@ mca_ns_base_jobid_t ns_replica_create_jobid(void)
|
||||
}
|
||||
|
||||
|
||||
mca_ns_base_vpid_t ns_replica_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range)
|
||||
mca_ns_base_vpid_t mca_ns_replica_reserve_range(mca_ns_base_jobid_t job, mca_ns_base_vpid_t range)
|
||||
{
|
||||
mca_ns_replica_name_tracker_t *ptr;
|
||||
mca_ns_base_vpid_t start;
|
||||
@ -82,13 +82,3 @@ mca_ns_base_vpid_t ns_replica_reserve_range(mca_ns_base_jobid_t job, mca_ns_base
|
||||
OMPI_THREAD_UNLOCK(&mca_ns_replica_mutex);
|
||||
return MCA_NS_BASE_VPID_MAX;
|
||||
}
|
||||
|
||||
|
||||
int ns_replica_free_name(ompi_process_name_t* name)
|
||||
{
|
||||
if (NULL != name) {
|
||||
free(name);
|
||||
}
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
@ -61,34 +61,21 @@ void mca_ns_replica_recv(int status, ompi_process_name_t* sender, ompi_buffer_t
|
||||
/*
|
||||
* Implementation of create_cellid().
|
||||
*/
|
||||
mca_ns_base_cellid_t ns_replica_create_cellid(void);
|
||||
mca_ns_base_cellid_t mca_ns_replica_create_cellid(void);
|
||||
|
||||
/*
|
||||
* Implementation of create_jobid().
|
||||
*/
|
||||
mca_ns_base_jobid_t ns_replica_create_jobid(void);
|
||||
mca_ns_base_jobid_t mca_ns_replica_create_jobid(void);
|
||||
|
||||
|
||||
/*
|
||||
* Implementation of reserve_range()
|
||||
*/
|
||||
mca_ns_base_vpid_t ns_replica_reserve_range(
|
||||
mca_ns_base_vpid_t mca_ns_replica_reserve_range(
|
||||
mca_ns_base_jobid_t job,
|
||||
mca_ns_base_vpid_t range);
|
||||
|
||||
/*
|
||||
* Implementation of free_name()
|
||||
*/
|
||||
int ns_replica_free_name(ompi_process_name_t* name);
|
||||
|
||||
|
||||
/*
|
||||
* Implementation of compare()
|
||||
*/
|
||||
int ns_replica_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
const ompi_process_name_t* name1,
|
||||
const ompi_process_name_t* name2);
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
@ -53,23 +53,28 @@ OMPI_COMP_EXPORT mca_ns_base_component_t mca_ns_replica_component = {
|
||||
* setup the function pointers for the module
|
||||
*/
|
||||
static mca_ns_base_module_t mca_ns_replica = {
|
||||
ns_replica_create_cellid,
|
||||
ns_base_assign_cellid_to_process,
|
||||
ns_replica_create_jobid,
|
||||
ns_base_create_process_name,
|
||||
ns_base_copy_process_name,
|
||||
ns_base_convert_string_to_process_name,
|
||||
ns_replica_reserve_range,
|
||||
ns_replica_free_name,
|
||||
ns_base_get_proc_name_string,
|
||||
ns_base_get_vpid_string,
|
||||
ns_base_get_jobid_string,
|
||||
ns_base_convert_jobid_to_string,
|
||||
ns_base_get_cellid_string,
|
||||
ns_base_get_vpid,
|
||||
ns_base_get_jobid,
|
||||
ns_base_get_cellid,
|
||||
ns_base_compare
|
||||
mca_ns_replica_create_cellid,
|
||||
mca_ns_base_assign_cellid_to_process,
|
||||
mca_ns_replica_create_jobid,
|
||||
mca_ns_base_create_process_name,
|
||||
mca_ns_base_copy_process_name,
|
||||
mca_ns_base_convert_string_to_process_name,
|
||||
mca_ns_replica_reserve_range,
|
||||
mca_ns_base_free_name,
|
||||
mca_ns_base_get_proc_name_string,
|
||||
mca_ns_base_get_vpid_string,
|
||||
mca_ns_base_get_jobid_string,
|
||||
mca_ns_base_convert_jobid_to_string,
|
||||
mca_ns_base_convert_string_to_jobid,
|
||||
mca_ns_base_get_cellid_string,
|
||||
mca_ns_base_get_vpid,
|
||||
mca_ns_base_get_jobid,
|
||||
mca_ns_base_get_cellid,
|
||||
mca_ns_base_compare,
|
||||
mca_ns_base_pack_name,
|
||||
mca_ns_base_unpack_name,
|
||||
mca_ns_base_pack_jobid,
|
||||
mca_ns_base_unpack_jobid
|
||||
};
|
||||
|
||||
/*
|
||||
@ -79,14 +84,14 @@ static bool initialized = false;
|
||||
|
||||
|
||||
/* constructor - used to initialize state of name_tracker instance */
|
||||
static void ompi_name_tracker_construct(mca_ns_replica_name_tracker_t* name_tracker)
|
||||
static void mca_ns_replica_tracker_construct(mca_ns_replica_name_tracker_t* name_tracker)
|
||||
{
|
||||
name_tracker->job = 0;
|
||||
name_tracker->last_used_vpid = 0;
|
||||
}
|
||||
|
||||
/* destructor - used to free any resources held by instance */
|
||||
static void ompi_name_tracker_destructor(mca_ns_replica_name_tracker_t* name_tracker)
|
||||
static void mca_ns_replica_tracker_destructor(mca_ns_replica_name_tracker_t* name_tracker)
|
||||
{
|
||||
}
|
||||
|
||||
@ -94,8 +99,8 @@ static void ompi_name_tracker_destructor(mca_ns_replica_name_tracker_t* name_tra
|
||||
OBJ_CLASS_INSTANCE(
|
||||
mca_ns_replica_name_tracker_t, /* type name */
|
||||
ompi_list_item_t, /* parent "class" name */
|
||||
ompi_name_tracker_construct, /* constructor */
|
||||
ompi_name_tracker_destructor); /* destructor */
|
||||
mca_ns_replica_tracker_construct, /* constructor */
|
||||
mca_ns_replica_tracker_destructor); /* destructor */
|
||||
|
||||
/*
|
||||
* globals needed within replica component
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user