1
1

* use the MTL-specific output stream for all error messages

* use OPAL_OUTPUT_VERBOSE rather than printfs for debugging messages

This commit was SVN r11227.
Этот коммит содержится в:
Brian Barrett 2006-08-16 16:28:58 +00:00
родитель 25273f57e3
Коммит 6d414f2d44
12 изменённых файлов: 88 добавлений и 74 удалений

Просмотреть файл

@ -40,6 +40,7 @@ OMPI_DECLSPEC int ompi_mtl_base_close(void);
OMPI_DECLSPEC extern opal_list_t ompi_mtl_base_components_opened;
OMPI_DECLSPEC extern int ompi_mtl_base_output;
#if defined(c_plusplus) || defined(__cplusplus)
}

Просмотреть файл

@ -34,7 +34,6 @@
#include "ompi/mca/mtl/base/static-components.h"
/* BWB - FIX ME - Properly initialize this */
int ompi_mtl_base_output = 0;
opal_list_t ompi_mtl_base_components_opened;
mca_mtl_base_component_t *ompi_mtl_base_selected_component = NULL;
@ -48,15 +47,19 @@ mca_mtl_base_module_t *ompi_mtl;
int
ompi_mtl_base_open(void)
{
/* Open up all available components */
/* setup the output stream */
ompi_mtl_base_output = opal_output_open(NULL);
/* Open up all available components */
if (OMPI_SUCCESS !=
mca_base_components_open("mtl", 0, mca_mtl_base_static_components,
mca_base_components_open("mtl", ompi_mtl_base_output,
mca_mtl_base_static_components,
&ompi_mtl_base_components_opened,
!MCA_mtl_DIRECT_CALL)) {
return OMPI_ERROR;
}
/* Set a sentinel in case we don't select any components (e.g.,
ompi_info) */
ompi_mtl = NULL;

Просмотреть файл

@ -73,7 +73,7 @@ int ompi_mtl_mx_module_init(){
if(mx_return != MX_SUCCESS) {
opal_output(0, "Error in mx_open_endpoint (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_open_endpoint (error %s)\n", mx_strerror(mx_return));
return OMPI_ERROR;
}
@ -82,7 +82,7 @@ int ompi_mtl_mx_module_init(){
&ompi_mtl_mx.mx_endpoint_addr);
if(mx_return != MX_SUCCESS) {
opal_output(0, "Error in mx_get_endpoint_addr (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_get_endpoint_addr (error %s)\n", mx_strerror(mx_return));
return OMPI_ERROR;
}
@ -90,7 +90,7 @@ int ompi_mtl_mx_module_init(){
&(ompi_mtl_mx.mx_addr.endpoint_id) );
if(mx_return != MX_SUCCESS) {
opal_output(0, "Error in mx_decompose_endpoint_addr (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_decompose_endpoint_addr (error %s)\n", mx_strerror(mx_return));
return OMPI_ERROR;
}
@ -118,13 +118,13 @@ ompi_mtl_mx_finalize(struct mca_mtl_base_module_t* mtl) {
/* free resources */
mx_return = mx_close_endpoint(ompi_mtl_mx.mx_endpoint);
if(mx_return != MX_SUCCESS){
opal_output(0, "Error in mx_close_endpoint (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_close_endpoint (error %s)\n", mx_strerror(mx_return));
return OMPI_ERROR;
}
mx_return = mx_finalize();
if(mx_return != MX_SUCCESS){
opal_output(0, "Error in mx_finalize (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_finalize (error %s)\n", mx_strerror(mx_return));
return OMPI_ERROR;
}
@ -179,7 +179,7 @@ int ompi_mtl_mx_progress( void ) {
&result);
if(mx_return != MX_SUCCESS) {
opal_output(0, "Error in mx_ipeek (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_ipeek (error %s)\n", mx_strerror(mx_return));
}
if(result) {
completed++;
@ -188,15 +188,15 @@ int ompi_mtl_mx_progress( void ) {
&mx_status,
&result);
if(mx_return != MX_SUCCESS) {
opal_output(0, "Error in mx_test (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_test (error %s)\n", mx_strerror(mx_return));
abort();
}
if(0 == result) {
opal_output(0, "Error in ompi_mtl_mx_progress, mx_ipeek returned a request, mx_test on the request resulted failure.\n");
opal_output(ompi_mtl_base_output, "Error in ompi_mtl_mx_progress, mx_ipeek returned a request, mx_test on the request resulted failure.\n");
abort();
}
if(mx_status.code != MX_STATUS_SUCCESS) {
opal_output(0, "Error in ompi_mtl_mx_progress, mx_test returned something other than MX_STATUS_SUCCESS: mx_status(%d).\n",
opal_output(ompi_mtl_base_output, "Error in ompi_mtl_mx_progress, mx_test returned something other than MX_STATUS_SUCCESS: mx_status(%d).\n",
mx_status);
abort();
}

Просмотреть файл

@ -22,6 +22,7 @@
#include "opal/mca/base/mca_base_param.h"
#include "opal/util/output.h"
#include "ompi/datatype/convertor.h"
#include "ompi/mca/mtl/base/base.h"
#include "mtl_mx.h"
#include "mtl_mx_types.h"
@ -125,7 +126,9 @@ ompi_mtl_mx_component_init(bool enable_progress_threads,
mx_return = mx_init();
if(mx_return!=MX_SUCCESS) {
opal_output(0, "Error in mx_init (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output,
"Error in mx_init (error %s)\n",
mx_strerror(mx_return));
return NULL;
}

Просмотреть файл

@ -97,7 +97,7 @@ mca_mtl_mx_endpoint_t* mca_mtl_mx_endpoint_create(ompi_proc_t* ompi_proc) {
if(MX_SUCCESS != mx_nic_id_to_hostname( mx_peer->nic_id, peer_name)) {
sprintf( peer_name, "unknown %lx nic_id", (long)mx_peer->nic_id );
}
opal_output( 0, "mx_connect fail for %s(%dth remote address) with key %x (error %s)\n",
opal_output(ompi_mtl_base_output, "mx_connect fail for %s(%dth remote address) with key %x (error %s)\n",
peer_name, ompi_mtl_mx.mx_filter, mx_strerror(mx_return) );
return NULL;
}

Просмотреть файл

@ -20,6 +20,7 @@
#include "ompi/request/request.h"
#include "ompi/communicator/communicator.h"
#include "ompi/mca/mtl/base/base.h"
#include "mtl_mx.h"
#include "mtl_mx_types.h"
@ -52,7 +53,7 @@ ompi_mtl_mx_iprobe(struct mca_mtl_base_module_t* mtl,
&mx_status,
&result);
if (MX_SUCCESS != ret) {
opal_output(0, "Error in mx_iprobe (error %s)\n", mx_strerror(ret));
opal_output(ompi_mtl_base_output, "Error in mx_iprobe (error %s)\n", mx_strerror(ret));
return OMPI_ERROR;
}

Просмотреть файл

@ -61,9 +61,10 @@ ompi_mtl_mx_irecv(struct mca_mtl_base_module_t* mtl,
src,
tag);
#if 0
printf("recv bits: 0x%016llx 0x%016llx\n", match_bits, mask_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"recv bits: 0x%016llx 0x%016llx\n",
match_bits, mask_bits));
mx_return = mx_irecv( ompi_mtl_mx.mx_endpoint,
mtl_mx_request->mx_segment,
1,
@ -74,7 +75,7 @@ ompi_mtl_mx_irecv(struct mca_mtl_base_module_t* mtl,
if(mx_return != MX_SUCCESS) {
opal_output(0, "Error in mx_irecv (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_irecv (error %s)\n", mx_strerror(mx_return));
return OMPI_ERROR;
}

Просмотреть файл

@ -63,9 +63,9 @@ ompi_mtl_mx_send(struct mca_mtl_base_module_t* mtl,
if(mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
#if 0
printf("issend bits: 0x%016llx\n", match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"issend bits: 0x%016llx\n", match_bits));
mx_return = mx_issend( ompi_mtl_mx.mx_endpoint,
mtl_mx_request.mx_segment,
1,
@ -79,12 +79,13 @@ ompi_mtl_mx_send(struct mca_mtl_base_module_t* mtl,
if(MX_SUCCESS != mx_nic_id_to_hostname( mx_endpoint->mx_peer->nic_id, peer_name)) {
sprintf( peer_name, "unknown %lx nic_id", (long)mx_endpoint->mx_peer->nic_id );
}
opal_output(0, "Error in mx_issend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
opal_output(ompi_mtl_base_output, "Error in mx_issend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
}
} else {
#if 0
printf("isend bits: 0x%016llx\n", match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"isend bits: 0x%016llx\n", match_bits));
mx_return = mx_isend( ompi_mtl_mx.mx_endpoint,
mtl_mx_request.mx_segment,
1,
@ -99,7 +100,7 @@ ompi_mtl_mx_send(struct mca_mtl_base_module_t* mtl,
if(MX_SUCCESS != mx_nic_id_to_hostname( mx_endpoint->mx_peer->nic_id, peer_name)) {
sprintf( peer_name, "unknown %lx nic_id", (long)mx_endpoint->mx_peer->nic_id );
}
opal_output(0, "Error in mx_isend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
opal_output(ompi_mtl_base_output, "Error in mx_isend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
}
}
@ -110,11 +111,11 @@ ompi_mtl_mx_send(struct mca_mtl_base_module_t* mtl,
&mx_status,
&result);
if(mx_return != MX_SUCCESS) {
opal_output(0, "Error in mx_wait (error %s)\n", mx_strerror(mx_return));
opal_output(ompi_mtl_base_output, "Error in mx_wait (error %s)\n", mx_strerror(mx_return));
abort();
}
if(result && mx_status.code != MX_STATUS_SUCCESS) {
opal_output(0, "Error in ompi_mtl_mx_send, mx_wait returned something other than MX_STATUS_SUCCESS: mx_status(%d).\n",
opal_output(ompi_mtl_base_output, "Error in ompi_mtl_mx_send, mx_wait returned something other than MX_STATUS_SUCCESS: mx_status(%d).\n",
mx_status);
abort();
}
@ -159,9 +160,9 @@ ompi_mtl_mx_isend(struct mca_mtl_base_module_t* mtl,
if(mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
#if 0
printf("issend bits: 0x%016llx\n", match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"issend bits: 0x%016llx\n", match_bits));
mx_return = mx_issend( ompi_mtl_mx.mx_endpoint,
mtl_mx_request->mx_segment,
1,
@ -175,12 +176,12 @@ ompi_mtl_mx_isend(struct mca_mtl_base_module_t* mtl,
if(MX_SUCCESS != mx_nic_id_to_hostname( mx_endpoint->mx_peer->nic_id, peer_name)) {
sprintf( peer_name, "unknown %lx nic_id", (long)mx_endpoint->mx_peer->nic_id );
}
opal_output(0, "Error in mx_issend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
opal_output(ompi_mtl_base_output, "Error in mx_issend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
}
} else {
#if 0
printf("isend bits: 0x%016llx\n", match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"isend bits: 0x%016llx\n", match_bits));
mx_return = mx_isend( ompi_mtl_mx.mx_endpoint,
mtl_mx_request->mx_segment,
1,
@ -195,7 +196,7 @@ ompi_mtl_mx_isend(struct mca_mtl_base_module_t* mtl,
if(MX_SUCCESS != mx_nic_id_to_hostname( mx_endpoint->mx_peer->nic_id, peer_name)) {
sprintf( peer_name, "unknown %lx nic_id", (long)mx_endpoint->mx_peer->nic_id );
}
opal_output(0, "Error in mx_isend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
opal_output(ompi_mtl_base_output, "Error in mx_isend (error %s) sending to %s\n", mx_strerror(mx_return), peer_name);
}
}

Просмотреть файл

@ -17,7 +17,7 @@
*/
#ifndef MTL_MX_TYPES_H_HAS_BEEN_INCLUDED
#define MTL_MX_TYPS_H_HAS_BEEN_INCLUDED
#define MTL_MX_TYPES_H_HAS_BEEN_INCLUDED
#include "mtl_mx.h"

Просмотреть файл

@ -37,8 +37,6 @@
extern "C" {
#endif
#define OMPI_MTL_PORTALS_DEBUG 0
struct mca_mtl_portals_module_t {
mca_mtl_base_module_t base;

Просмотреть файл

@ -57,9 +57,8 @@ ompi_mtl_portals_recv_progress(ptl_event_t *ev,
ptl_request->super.ompi_req->req_status._count =
ev->mlength;
#if OMPI_MTL_PORTALS_DEBUG
printf("recv complete: 0x%016llx\n", ev->match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"recv complete: 0x%016llx\n", ev->match_bits));
ptl_request->super.completion_callback(&ptl_request->super);
break;
@ -75,9 +74,8 @@ ompi_mtl_portals_recv_progress(ptl_event_t *ev,
ptl_request->super.ompi_req->req_status._count =
ev->mlength;
#if OMPI_MTL_PORTALS_DEBUG
printf("recv complete: 0x%016llx\n", ev->match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"recv complete: 0x%016llx\n", ev->match_bits));
ptl_request->super.completion_callback(&ptl_request->super);
break;
@ -141,9 +139,9 @@ ompi_mtl_portals_get_data(ompi_mtl_portals_event_t *recv_event,
PTL_UNLINK, &md_h);
if (PTL_OK != ret) abort();
#if OMPI_MTL_PORTALS_DEBUG
printf("acking recv: 0x%016llx\n", recv_event->ev.match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"acking recv: 0x%016llx\n",
recv_event->ev.match_bits));
ret = PtlPut(md_h,
PTL_NO_ACK_REQ,
@ -171,9 +169,9 @@ ompi_mtl_portals_get_data(ompi_mtl_portals_event_t *recv_event,
ptl_request->super.ompi_req->req_status._count =
recv_event->ev.mlength;
#if OMPI_MTL_PORTALS_DEBUG
printf("recv complete: 0x%016llx\n", recv_event->ev.match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"recv complete: 0x%016llx\n",
recv_event->ev.match_bits));
ptl_request->super.completion_callback(&ptl_request->super);
@ -248,9 +246,10 @@ ompi_mtl_portals_irecv(struct mca_mtl_base_module_t* mtl,
PTL_SET_RECV_BITS(match_bits, ignore_bits, comm->c_contextid,
src, tag);
#if OMPI_MTL_PORTALS_DEBUG
printf("recv bits: 0x%016llx 0x%016llx\n", match_bits, ignore_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"recv bits: 0x%016llx 0x%016llx\n",
match_bits, ignore_bits));
/* first, check the queue of processed unexpected messages */
list_item = opal_list_get_first(&ompi_mtl_portals.unexpected_messages);

Просмотреть файл

@ -40,9 +40,11 @@ ompi_mtl_portals_send_progress_no_ack(ptl_event_t *ev,
if (ptl_request->free_after) {
free(ev->md.start);
}
#if OMPI_MTL_PORTALS_DEBUG
printf("send complete: 0x%016llx\n", ev->match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"send complete: 0x%016llx\n",
ev->match_bits));
ptl_request->super.completion_callback(&ptl_request->super);
}
@ -70,9 +72,11 @@ ompi_mtl_portals_send_progress(ptl_event_t *ev,
if (ptl_request->free_after) {
free(ev->md.start);
}
#if OMPI_MTL_PORTALS_DEBUG
printf("send complete: 0x%016llx\n", ev->match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"send complete: 0x%016llx\n",
ev->match_bits));
ptl_request->super.completion_callback(&ptl_request->super);
}
break;
@ -134,9 +138,10 @@ ompi_mtl_portals_isend(struct mca_mtl_base_module_t* mtl,
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
comm->c_my_rank,
tag, PTL_READY_MSG);
#if OMPI_MTL_PORTALS_DEBUG
printf("ready send bits: 0x%016llx\n", match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"ready send bits: 0x%016llx\n",
match_bits));
md.threshold = 1;
md.options = PTL_MD_EVENT_START_DISABLE;
@ -174,9 +179,10 @@ ompi_mtl_portals_isend(struct mca_mtl_base_module_t* mtl,
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
comm->c_my_rank,
tag, PTL_LONG_MSG);
#if OMPI_MTL_PORTALS_DEBUG
printf("long send bits: 0x%016llx (%d)\n", match_bits, dest);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"long send bits: 0x%016llx (%d)\n",
match_bits, dest));
md.threshold = 2; /* send, {ack, get} */
md.options = PTL_MD_OP_GET | PTL_MD_EVENT_START_DISABLE;
@ -227,9 +233,10 @@ ompi_mtl_portals_isend(struct mca_mtl_base_module_t* mtl,
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
comm->c_my_rank,
tag, PTL_SHORT_MSG);
#if OMPI_MTL_PORTALS_DEBUG
printf("short ssend bits: 0x%016llx (%d)\n", match_bits, dest);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"short ssend bits: 0x%016llx (%d)\n",
match_bits, dest));
md.threshold = 2; /* send, {ack, put} */
md.options = PTL_MD_OP_PUT | PTL_MD_EVENT_START_DISABLE;
@ -281,9 +288,10 @@ ompi_mtl_portals_isend(struct mca_mtl_base_module_t* mtl,
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
comm->c_my_rank,
tag, PTL_SHORT_MSG);
#if OMPI_MTL_PORTALS_DEBUG
printf("short send bits: 0x%016llx\n", match_bits);
#endif
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
"short send bits: 0x%016llx\n",
match_bits));
md.threshold = 1;
md.options = PTL_MD_EVENT_START_DISABLE;
@ -314,7 +322,6 @@ ompi_mtl_portals_isend(struct mca_mtl_base_module_t* mtl,
if (ptl_request->free_after) free(md.start);
return ompi_common_portals_error_ptl_to_ompi(ret);
}
}
return OMPI_SUCCESS;