* 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.
Этот коммит содержится в:
родитель
25273f57e3
Коммит
6d414f2d44
@ -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 opal_list_t ompi_mtl_base_components_opened;
|
||||||
|
OMPI_DECLSPEC extern int ompi_mtl_base_output;
|
||||||
|
|
||||||
#if defined(c_plusplus) || defined(__cplusplus)
|
#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
#include "ompi/mca/mtl/base/static-components.h"
|
#include "ompi/mca/mtl/base/static-components.h"
|
||||||
|
|
||||||
|
|
||||||
/* BWB - FIX ME - Properly initialize this */
|
|
||||||
int ompi_mtl_base_output = 0;
|
int ompi_mtl_base_output = 0;
|
||||||
opal_list_t ompi_mtl_base_components_opened;
|
opal_list_t ompi_mtl_base_components_opened;
|
||||||
mca_mtl_base_component_t *ompi_mtl_base_selected_component = NULL;
|
mca_mtl_base_component_t *ompi_mtl_base_selected_component = NULL;
|
||||||
@ -48,15 +47,19 @@ mca_mtl_base_module_t *ompi_mtl;
|
|||||||
int
|
int
|
||||||
ompi_mtl_base_open(void)
|
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 !=
|
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,
|
&ompi_mtl_base_components_opened,
|
||||||
!MCA_mtl_DIRECT_CALL)) {
|
!MCA_mtl_DIRECT_CALL)) {
|
||||||
return OMPI_ERROR;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Set a sentinel in case we don't select any components (e.g.,
|
/* Set a sentinel in case we don't select any components (e.g.,
|
||||||
ompi_info) */
|
ompi_info) */
|
||||||
ompi_mtl = NULL;
|
ompi_mtl = NULL;
|
||||||
|
@ -73,7 +73,7 @@ int ompi_mtl_mx_module_init(){
|
|||||||
|
|
||||||
|
|
||||||
if(mx_return != MX_SUCCESS) {
|
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;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ int ompi_mtl_mx_module_init(){
|
|||||||
&ompi_mtl_mx.mx_endpoint_addr);
|
&ompi_mtl_mx.mx_endpoint_addr);
|
||||||
|
|
||||||
if(mx_return != MX_SUCCESS) {
|
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;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ int ompi_mtl_mx_module_init(){
|
|||||||
&(ompi_mtl_mx.mx_addr.endpoint_id) );
|
&(ompi_mtl_mx.mx_addr.endpoint_id) );
|
||||||
|
|
||||||
if(mx_return != MX_SUCCESS) {
|
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;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,13 +118,13 @@ ompi_mtl_mx_finalize(struct mca_mtl_base_module_t* mtl) {
|
|||||||
/* free resources */
|
/* free resources */
|
||||||
mx_return = mx_close_endpoint(ompi_mtl_mx.mx_endpoint);
|
mx_return = mx_close_endpoint(ompi_mtl_mx.mx_endpoint);
|
||||||
if(mx_return != MX_SUCCESS){
|
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;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
mx_return = mx_finalize();
|
mx_return = mx_finalize();
|
||||||
if(mx_return != MX_SUCCESS){
|
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;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ int ompi_mtl_mx_progress( void ) {
|
|||||||
&result);
|
&result);
|
||||||
|
|
||||||
if(mx_return != MX_SUCCESS) {
|
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) {
|
if(result) {
|
||||||
completed++;
|
completed++;
|
||||||
@ -188,15 +188,15 @@ int ompi_mtl_mx_progress( void ) {
|
|||||||
&mx_status,
|
&mx_status,
|
||||||
&result);
|
&result);
|
||||||
if(mx_return != MX_SUCCESS) {
|
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();
|
abort();
|
||||||
}
|
}
|
||||||
if(0 == result) {
|
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();
|
abort();
|
||||||
}
|
}
|
||||||
if(mx_status.code != MX_STATUS_SUCCESS) {
|
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);
|
mx_status);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include "opal/mca/base/mca_base_param.h"
|
#include "opal/mca/base/mca_base_param.h"
|
||||||
#include "opal/util/output.h"
|
#include "opal/util/output.h"
|
||||||
#include "ompi/datatype/convertor.h"
|
#include "ompi/datatype/convertor.h"
|
||||||
|
#include "ompi/mca/mtl/base/base.h"
|
||||||
|
|
||||||
#include "mtl_mx.h"
|
#include "mtl_mx.h"
|
||||||
#include "mtl_mx_types.h"
|
#include "mtl_mx_types.h"
|
||||||
@ -125,7 +126,9 @@ ompi_mtl_mx_component_init(bool enable_progress_threads,
|
|||||||
mx_return = mx_init();
|
mx_return = mx_init();
|
||||||
|
|
||||||
if(mx_return!=MX_SUCCESS) {
|
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;
|
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)) {
|
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 );
|
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) );
|
peer_name, ompi_mtl_mx.mx_filter, mx_strerror(mx_return) );
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "ompi/request/request.h"
|
#include "ompi/request/request.h"
|
||||||
#include "ompi/communicator/communicator.h"
|
#include "ompi/communicator/communicator.h"
|
||||||
|
#include "ompi/mca/mtl/base/base.h"
|
||||||
|
|
||||||
#include "mtl_mx.h"
|
#include "mtl_mx.h"
|
||||||
#include "mtl_mx_types.h"
|
#include "mtl_mx_types.h"
|
||||||
@ -52,7 +53,7 @@ ompi_mtl_mx_iprobe(struct mca_mtl_base_module_t* mtl,
|
|||||||
&mx_status,
|
&mx_status,
|
||||||
&result);
|
&result);
|
||||||
if (MX_SUCCESS != ret) {
|
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;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,9 +61,10 @@ ompi_mtl_mx_irecv(struct mca_mtl_base_module_t* mtl,
|
|||||||
src,
|
src,
|
||||||
tag);
|
tag);
|
||||||
|
|
||||||
#if 0
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("recv bits: 0x%016llx 0x%016llx\n", match_bits, mask_bits);
|
"recv bits: 0x%016llx 0x%016llx\n",
|
||||||
#endif
|
match_bits, mask_bits));
|
||||||
|
|
||||||
mx_return = mx_irecv( ompi_mtl_mx.mx_endpoint,
|
mx_return = mx_irecv( ompi_mtl_mx.mx_endpoint,
|
||||||
mtl_mx_request->mx_segment,
|
mtl_mx_request->mx_segment,
|
||||||
1,
|
1,
|
||||||
@ -74,7 +75,7 @@ ompi_mtl_mx_irecv(struct mca_mtl_base_module_t* mtl,
|
|||||||
|
|
||||||
|
|
||||||
if(mx_return != MX_SUCCESS) {
|
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;
|
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(mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
|
||||||
|
|
||||||
#if 0
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("issend bits: 0x%016llx\n", match_bits);
|
"issend bits: 0x%016llx\n", match_bits));
|
||||||
#endif
|
|
||||||
mx_return = mx_issend( ompi_mtl_mx.mx_endpoint,
|
mx_return = mx_issend( ompi_mtl_mx.mx_endpoint,
|
||||||
mtl_mx_request.mx_segment,
|
mtl_mx_request.mx_segment,
|
||||||
1,
|
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)) {
|
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 );
|
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 {
|
} else {
|
||||||
#if 0
|
|
||||||
printf("isend bits: 0x%016llx\n", match_bits);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"isend bits: 0x%016llx\n", match_bits));
|
||||||
|
|
||||||
mx_return = mx_isend( ompi_mtl_mx.mx_endpoint,
|
mx_return = mx_isend( ompi_mtl_mx.mx_endpoint,
|
||||||
mtl_mx_request.mx_segment,
|
mtl_mx_request.mx_segment,
|
||||||
1,
|
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)) {
|
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 );
|
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,
|
&mx_status,
|
||||||
&result);
|
&result);
|
||||||
if(mx_return != MX_SUCCESS) {
|
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();
|
abort();
|
||||||
}
|
}
|
||||||
if(result && mx_status.code != MX_STATUS_SUCCESS) {
|
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);
|
mx_status);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
@ -159,9 +160,9 @@ ompi_mtl_mx_isend(struct mca_mtl_base_module_t* mtl,
|
|||||||
|
|
||||||
if(mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
|
if(mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
|
||||||
|
|
||||||
#if 0
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("issend bits: 0x%016llx\n", match_bits);
|
"issend bits: 0x%016llx\n", match_bits));
|
||||||
#endif
|
|
||||||
mx_return = mx_issend( ompi_mtl_mx.mx_endpoint,
|
mx_return = mx_issend( ompi_mtl_mx.mx_endpoint,
|
||||||
mtl_mx_request->mx_segment,
|
mtl_mx_request->mx_segment,
|
||||||
1,
|
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)) {
|
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 );
|
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 {
|
} else {
|
||||||
#if 0
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("isend bits: 0x%016llx\n", match_bits);
|
"isend bits: 0x%016llx\n", match_bits));
|
||||||
#endif
|
|
||||||
mx_return = mx_isend( ompi_mtl_mx.mx_endpoint,
|
mx_return = mx_isend( ompi_mtl_mx.mx_endpoint,
|
||||||
mtl_mx_request->mx_segment,
|
mtl_mx_request->mx_segment,
|
||||||
1,
|
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)) {
|
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 );
|
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
|
#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"
|
#include "mtl_mx.h"
|
||||||
|
|
||||||
|
@ -37,8 +37,6 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define OMPI_MTL_PORTALS_DEBUG 0
|
|
||||||
|
|
||||||
struct mca_mtl_portals_module_t {
|
struct mca_mtl_portals_module_t {
|
||||||
mca_mtl_base_module_t base;
|
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 =
|
ptl_request->super.ompi_req->req_status._count =
|
||||||
ev->mlength;
|
ev->mlength;
|
||||||
|
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("recv complete: 0x%016llx\n", ev->match_bits);
|
"recv complete: 0x%016llx\n", ev->match_bits));
|
||||||
#endif
|
|
||||||
|
|
||||||
ptl_request->super.completion_callback(&ptl_request->super);
|
ptl_request->super.completion_callback(&ptl_request->super);
|
||||||
break;
|
break;
|
||||||
@ -75,9 +74,8 @@ ompi_mtl_portals_recv_progress(ptl_event_t *ev,
|
|||||||
ptl_request->super.ompi_req->req_status._count =
|
ptl_request->super.ompi_req->req_status._count =
|
||||||
ev->mlength;
|
ev->mlength;
|
||||||
|
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("recv complete: 0x%016llx\n", ev->match_bits);
|
"recv complete: 0x%016llx\n", ev->match_bits));
|
||||||
#endif
|
|
||||||
|
|
||||||
ptl_request->super.completion_callback(&ptl_request->super);
|
ptl_request->super.completion_callback(&ptl_request->super);
|
||||||
break;
|
break;
|
||||||
@ -141,9 +139,9 @@ ompi_mtl_portals_get_data(ompi_mtl_portals_event_t *recv_event,
|
|||||||
PTL_UNLINK, &md_h);
|
PTL_UNLINK, &md_h);
|
||||||
if (PTL_OK != ret) abort();
|
if (PTL_OK != ret) abort();
|
||||||
|
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("acking recv: 0x%016llx\n", recv_event->ev.match_bits);
|
"acking recv: 0x%016llx\n",
|
||||||
#endif
|
recv_event->ev.match_bits));
|
||||||
|
|
||||||
ret = PtlPut(md_h,
|
ret = PtlPut(md_h,
|
||||||
PTL_NO_ACK_REQ,
|
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 =
|
ptl_request->super.ompi_req->req_status._count =
|
||||||
recv_event->ev.mlength;
|
recv_event->ev.mlength;
|
||||||
|
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
printf("recv complete: 0x%016llx\n", recv_event->ev.match_bits);
|
"recv complete: 0x%016llx\n",
|
||||||
#endif
|
recv_event->ev.match_bits));
|
||||||
|
|
||||||
ptl_request->super.completion_callback(&ptl_request->super);
|
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,
|
PTL_SET_RECV_BITS(match_bits, ignore_bits, comm->c_contextid,
|
||||||
src, tag);
|
src, tag);
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
|
||||||
printf("recv bits: 0x%016llx 0x%016llx\n", match_bits, ignore_bits);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"recv bits: 0x%016llx 0x%016llx\n",
|
||||||
|
match_bits, ignore_bits));
|
||||||
|
|
||||||
/* first, check the queue of processed unexpected messages */
|
/* first, check the queue of processed unexpected messages */
|
||||||
list_item = opal_list_get_first(&ompi_mtl_portals.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) {
|
if (ptl_request->free_after) {
|
||||||
free(ev->md.start);
|
free(ev->md.start);
|
||||||
}
|
}
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
|
||||||
printf("send complete: 0x%016llx\n", ev->match_bits);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"send complete: 0x%016llx\n",
|
||||||
|
ev->match_bits));
|
||||||
|
|
||||||
ptl_request->super.completion_callback(&ptl_request->super);
|
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) {
|
if (ptl_request->free_after) {
|
||||||
free(ev->md.start);
|
free(ev->md.start);
|
||||||
}
|
}
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
|
||||||
printf("send complete: 0x%016llx\n", ev->match_bits);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"send complete: 0x%016llx\n",
|
||||||
|
ev->match_bits));
|
||||||
|
|
||||||
ptl_request->super.completion_callback(&ptl_request->super);
|
ptl_request->super.completion_callback(&ptl_request->super);
|
||||||
}
|
}
|
||||||
break;
|
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,
|
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
|
||||||
comm->c_my_rank,
|
comm->c_my_rank,
|
||||||
tag, PTL_READY_MSG);
|
tag, PTL_READY_MSG);
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
|
||||||
printf("ready send bits: 0x%016llx\n", match_bits);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"ready send bits: 0x%016llx\n",
|
||||||
|
match_bits));
|
||||||
|
|
||||||
md.threshold = 1;
|
md.threshold = 1;
|
||||||
md.options = PTL_MD_EVENT_START_DISABLE;
|
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,
|
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
|
||||||
comm->c_my_rank,
|
comm->c_my_rank,
|
||||||
tag, PTL_LONG_MSG);
|
tag, PTL_LONG_MSG);
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
|
||||||
printf("long send bits: 0x%016llx (%d)\n", match_bits, dest);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"long send bits: 0x%016llx (%d)\n",
|
||||||
|
match_bits, dest));
|
||||||
|
|
||||||
md.threshold = 2; /* send, {ack, get} */
|
md.threshold = 2; /* send, {ack, get} */
|
||||||
md.options = PTL_MD_OP_GET | PTL_MD_EVENT_START_DISABLE;
|
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,
|
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
|
||||||
comm->c_my_rank,
|
comm->c_my_rank,
|
||||||
tag, PTL_SHORT_MSG);
|
tag, PTL_SHORT_MSG);
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
|
||||||
printf("short ssend bits: 0x%016llx (%d)\n", match_bits, dest);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"short ssend bits: 0x%016llx (%d)\n",
|
||||||
|
match_bits, dest));
|
||||||
|
|
||||||
md.threshold = 2; /* send, {ack, put} */
|
md.threshold = 2; /* send, {ack, put} */
|
||||||
md.options = PTL_MD_OP_PUT | PTL_MD_EVENT_START_DISABLE;
|
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,
|
PTL_SET_SEND_BITS(match_bits, comm->c_contextid,
|
||||||
comm->c_my_rank,
|
comm->c_my_rank,
|
||||||
tag, PTL_SHORT_MSG);
|
tag, PTL_SHORT_MSG);
|
||||||
#if OMPI_MTL_PORTALS_DEBUG
|
|
||||||
printf("short send bits: 0x%016llx\n", match_bits);
|
OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output,
|
||||||
#endif
|
"short send bits: 0x%016llx\n",
|
||||||
|
match_bits));
|
||||||
|
|
||||||
md.threshold = 1;
|
md.threshold = 1;
|
||||||
md.options = PTL_MD_EVENT_START_DISABLE;
|
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);
|
if (ptl_request->free_after) free(md.start);
|
||||||
return ompi_common_portals_error_ptl_to_ompi(ret);
|
return ompi_common_portals_error_ptl_to_ompi(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return OMPI_SUCCESS;
|
return OMPI_SUCCESS;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user