OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

Macros | Functions | Variables
base.h File Reference

RML Framework maintenence interface. More...

`#include "orte_config.h"`
`#include "opal/mca/mca.h"`
`#include "orte/mca/rml/rml.h"`
`#include "opal/dss/dss_types.h"`

Go to the source code of this file.

## Macros
#define | RML_SELECT_WRAPPER_PRIORITY -128

## Functions
BEGIN_C_DECLS ORTE_DECLSPEC int | orte_rml_base_open (void)
| Open the RML framework. More...
ORTE_DECLSPEC int | orte_rml_base_select (void)
| Select an active RML component. More...
ORTE_DECLSPEC int | orte_rml_base_close (void)
| Close the RML framework. More...
ORTE_DECLSPEC int | orte_rml_base_comm_start (void)
| Post receive to get updates regarding contact information. More...
ORTE_DECLSPEC int | orte_rml_base_comm_stop (void)
| Stop receiving contact information updates. More...
int | orte_rml_base_null_send (struct orte_process_name_t *peer, struct iovec *msg, int count, int tag, int flags)
int | orte_rml_base_null_send_nb (struct orte_process_name_t *peer, struct iovec *msg, int count, orte_rml_tag_t tag, int flags, orte_rml_callback_fn_t cbfunc, void *cbdata)
int | orte_rml_base_null_send_buffer (struct orte_process_name_t *peer, struct opal_buffer_t *buffer, orte_rml_tag_t tag, int flags)
int | orte_rml_base_null_send_buffer_nb (struct orte_process_name_t *peer, struct opal_buffer_t *buffer, orte_rml_tag_t tag, int flags, orte_rml_buffer_callback_fn_t cbfunc, void *cbdata)
int | orte_rml_base_null_recv (struct orte_process_name_t *peer, struct iovec *msg, int count, orte_rml_tag_t tag, int flags)
int | orte_rml_base_null_recv_nb (struct orte_process_name_t *peer, struct iovec *msg, int count, orte_rml_tag_t tag, int flags, orte_rml_callback_fn_t cbfunc, void *cbdata)
int | orte_rml_base_null_recv_buffer (struct orte_process_name_t *peer, struct opal_buffer_t *buf, orte_rml_tag_t tag, int flags)
int | orte_rml_base_null_recv_buffer_nb (struct orte_process_name_t *peer, orte_rml_tag_t tag, int flags, orte_rml_buffer_callback_fn_t cbfunc, void *cbdata)
int | orte_rml_base_null_recv_cancel (orte_process_name_t *peer, orte_rml_tag_t tag)

## Variables
ORTE_DECLSPEC int | orte_rml_base_output
| Output stream for RML debugging. More...
ORTE_DECLSPEC opal_list_t | orte_rml_base_components
| List of components that are available to the RML. More...
ORTE_DECLSPEC orte_rml_component_t * | orte_rml_component
| Component structure for the selected RML component. More...

## Detailed Description

RML Framework maintenence interface.

Interface for starting / stopping / controlling the RML framework, as well as support for modifying RML datatypes.

Note
  The only RML datatype exposed to the user is the RML tag. This will always be an integral value, so the only datatype support really required is the internal DSS functions for packing / unpacking / comparing tags. The user should never need to deal with these.

## Function Documentation

ORTE_DECLSPEC int orte_rml_base_close | ( | void |  | ) |

Close the RML framework.

Close the RML framework, releasing all resources associated with the framework interface. Also closes the active component used during the application.

Return values

  ORTE_SUCCESS | Framework successfully shut down

References OBJ_DESTRUCT, and orte_rml_base_output.

ORTE_DECLSPEC int orte_rml_base_comm_start | ( | void |  | ) |

Post receive to get updates regarding contact information.

Post a non-blocking receive (likely during orte_init()) to receive updated contact information from the HNP when it becomes available. This should be called in any process that needs such updates, and the receive will continue to get update callbacks until orte_rml_base_comm_stop() is called.

Return values

  ORTE_SUCCESS | Receive successfully started
  ORTE_ERROR | An unknown error occurred

References orte_rml, ORTE_RML_NON_PERSISTENT, and orte_rml_module_t::recv_buffer_nb.

ORTE_DECLSPEC int orte_rml_base_comm_stop | ( | void |  | ) |

Stop receiving contact information updates.

Shut down the receive posted during orte_rml_base_comm_start(), likely during orte_finalize().

Return values

  ORTE_SUCCESS | Receive succesffully cancelled.

References orte_rml, and orte_rml_module_t::recv_cancel.

BEGIN_C_DECLS ORTE_DECLSPEC int orte_rml_base_open | ( | void |  | ) |

Open the RML framework.

Open the RML framework. Loads all available RML components and runs their open functions.

Return values

  ORTE_SUCCESS | Components successfully loaded
  ORTE_ERROR | An unknown error occurred

References mca_base_param_reg_string_name(), OBJ_CONSTRUCT, opal_output_open(), and orte_rml_base_output.

Referenced by orte_ess_base_orted_setup().

ORTE_DECLSPEC int orte_rml_base_select | ( | void |  | ) |

Select an active RML component.

Select an RML component from the list of frameworks that were opened during orte_rml_base_open(). The orte_rml_base_select() function will fill in the orte_rml structure so that all functions in the interface exist. Note that there are still calling restrictions at that point (see the documentation for orte_rml_component_init_fn_t).

All components that are not selected will be closed during this call.

Return values

  ORTE_SUCCESS | Components successfully selected
  ORTE_ERROR | An unknown error occurred

References orte_rml_module_t::finalize, mca_base_param_reg_string_name(), mca_base_component_2_0_0_t::mca_component_name, mca_base_component_2_0_0_t::mca_type_name, OBJ_RELEASE, opal_list_get_end(), opal_list_get_first(), opal_list_get_next, opal_list_remove_item(), opal_output_verbose(), and orte_rml_base_output.

Referenced by orte_ess_base_orted_setup().

## Variable Documentation

ORTE_DECLSPEC opal_list_t orte_rml_base_components

List of components that are available to the RML.

List of components that are currently available to the RML framework. Useable between calls to orte_rml_base_open() and orte_rml_base_close().

Note
  This list should not be used by code outside the RML base.

ORTE_DECLSPEC int orte_rml_base_output

Output stream for RML debugging.

Output stream for the opal_output() code intended for RML output. It will be have its verbosity set according to the MCA parameter rml_base_verbose. Useable between call to orte_rml_base_open() and orte_rml_base_close().

Referenced by orte_rml_base_close(), orte_rml_base_open(), orte_rml_base_select(), and orte_rml_base_update_contact_info().

ORTE_DECLSPEC orte_rml_component_t* orte_rml_component

Component structure for the selected RML component.

Component structure pointer for the currently selected RML component. Useable between calls to orte_rml_base_select() and orte_rml_base_close().

Note
  This pointer should not be used outside the RML base. It is available outside the RML base only for the F/T component.