source: proiecte/hpl/openmpi_compiled/share/man/man3/MPI_Publish_name.3 @ 97

Last change on this file since 97 was 97, checked in by (none), 14 years ago

Adding compiled files

File size: 5.6 KB
Line 
1.\"Copyright 2007-2008 Sun Microsystems, Inc.
2.\" Copyright (c) 1996 Thinking Machines Corporation
3.TH MPI_Publish_name 3 "Dec 08, 2009" "1.4" "Open MPI"
4
5.SH NAME
6.nf
7\fBMPI_Publish_name\fP \- Publishes a service name associated with a port
8
9.SH SYNTAX
10.ft R
11
12.SH C Syntax
13.nf
14#include <mpi.h>
15int MPI_Publish_name(char *\fIservice_name\fP, MPI_Info \fIinfo\fP,
16        char *\fIport_name\fP)
17
18.SH Fortran Syntax
19.nf
20INCLUDE 'mpif.h'
21MPI_PUBLISH_NAME(\fISERVICE_NAME, INFO, PORT_NAME, IERROR\fP)
22        CHARACTER*(*)   \fISERVICE_NAME, PORT_NAME\fP
23        INTEGER         \fIINFO, IERROR\fP
24
25.SH C++ Syntax
26.nf
27#include <mpi.h>
28void MPI::Publish_name(const char* \fIservice_name\fP, const MPI::Info& \fIinfo\fP,
29        const char* \fIport_name\fP)
30
31.SH INPUT PARAMETERS
32.ft R
33.TP 1.4i
34service_name
35A service name (string).
36.TP 1.4i
37info
38Options to the name service functions (handle).
39.ft R
40.TP 1.4i
41port_name
42A port name (string).
43
44.SH OUTPUT PARAMETER
45.TP 1.4i
46IERROR
47Fortran only: Error status (integer).
48
49.SH DESCRIPTION
50.ft R
51This routine publishes the pair (\fIservice_name, port_name\fP) so that
52an application may retrieve \fIport_name\fP by calling MPI_Lookup_name
53with \fIservice_name\fP as an argument. It is an error to publish the same
54\fIservice_name\fP twice, or to use a \fIport_name\fP argument that was
55not previously opened by the calling process via a call to MPI_Open_port.
56
57.SH INFO ARGUMENTS
58The following keys for \fIinfo\fP are recognized:
59.sp
60.sp
61.nf
62Key                   Type      Description
63---                   ----      -----------
64
65ompi_global_scope     bool      If set to true, publish the name in
66                                the global scope.  Publish in the local
67                                scope otherwise.  See the NAME SCOPE
68                                section for more details.
69.fi
70
71.sp
72\fIbool\fP info keys are actually strings but are evaluated as
73follows: if the string value is a number, it is converted to an
74integer and cast to a boolean (meaning that zero integers are false
75and non-zero values are true).  If the string value is
76(case-insensitive) "yes" or "true", the boolean is true.  If the
77string value is (case-insensitive) "no" or "false", the boolean is
78false.  All other string values are unrecognized, and therefore false.
79.PP
80If no info key is provided, the function will first check to see if a
81global server has been specified and is available. If so, then the
82publish function will default to global scope first, followed by local. Otherwise,
83the data will default to publish with local scope.
84
85.SH NAME SCOPE
86Open MPI supports two name scopes: \fIglobal\fP and \fIlocal\fP. Local scope will
87place the specified service/port pair in a data store located on the
88mpirun of the calling process' job. Thus, data published with local
89scope will only be accessible to processes in jobs spawned by that
90mpirun - e.g., processes in the calling process' job, or in jobs
91spawned via MPI_Comm_spawn.
92.sp
93Global scope places the specified service/port pair in a data store
94located on a central server that is accessible to all jobs running
95in the cluster or environment. Thus, data published with global
96scope can be accessed by multiple mpiruns and used for MPI_Comm_Connect
97and MPI_Comm_accept between jobs.
98.sp
99Note that global scope operations require both the presence of the
100central server and that the calling process be able to communicate
101to that server. MPI_Publish_name will return an error if global
102scope is specified and a global server is either not specified or
103cannot be found.
104.sp
105Open MPI provides a server called \fIompi-server\fP to support global
106scope operations. Please refer to its manual page for a more detailed
107description of data store/lookup operations.
108.sp
109As an example of the impact of these scoping rules, consider the case
110where a job has been started with
111mpirun - call this job "job1". A process in job1 creates and publishes
112a service/port pair using a local scope. Open MPI will store this
113data in the data store within mpirun.
114.sp
115A process in job1 (perhaps the same as did the publish, or perhaps
116some other process in the job) subsequently calls MPI_Comm_spawn to
117start another job (call it "job2") under this mpirun. Since the two
118jobs share a common mpirun, both jobs have access to local scope data. Hence,
119a process in job2 can perform an MPI_Lookup_name with a local scope
120to retrieve the information.
121.sp
122However, assume another user starts a job using mpirun - call
123this job "job3". Because the service/port data published by job1 specified
124local scope, processes in job3 cannot access that data. In contrast, if the
125data had been published using global scope, then any process in job3 could
126access the data, provided that mpirun was given knowledge of how to contact
127the central server and the process could establish communication
128with it.
129
130.SH ERRORS
131.ft R
132Almost all MPI routines return an error value; C routines as
133the value of the function and Fortran routines in the last argument. C++
134functions do not return errors. If the default error handler is set to
135MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
136will be used to throw an MPI:Exception object.
137.sp
138Before the error value is returned, the current MPI error handler is
139called. By default, this error handler aborts the MPI job, except for
140I/O function errors. The error handler may be changed with
141MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
142may be used to cause error values to be returned. Note that MPI does not
143guarantee that an MPI program can continue past an error.
144.sp
145See the MPI man page for a full list of MPI error codes.
146
147.SH SEE ALSO
148.ft R
149.nf
150MPI_Lookup_name
151MPI_Open_port
152
153
Note: See TracBrowser for help on using the repository browser.