Difference between revisions of "Message Queue Debugging"

From Mpich
Jump to: navigation, search
 
Line 5: Line 5:
 
This function dumps the state of the CH3 receive queues (both posted and unexpected) to the given stream.  A common choice for the stream is <code>stdout</code> or <code>stderr</code>.
 
This function dumps the state of the CH3 receive queues (both posted and unexpected) to the given stream.  A common choice for the stream is <code>stdout</code> or <code>stderr</code>.
  
  void MPID_nem_newtcp_module_vc_dbg_print_sendq(FILE *stream, MPIDI_VC_t *vc)
+
  void MPID_nem_dbg_print_vc_sendq(FILE *stream, MPIDI_VC_t *vc)
  
This function dumps the state of the nemesis-newtcp send queue for a particular VC (virtual connection).
+
This function dumps the state of the nemesis shared memory and module send queues for a particular VC (virtual connection).  This is only implemented for the newtcp module at the moment, although it is simple to add support for other modules as needed.
  
You can call these functions from a debugger to aid in debugging various problems such as incorrect ordering of <code>MPI_Send</code>'s and <code>MPI_Recv</code>'s in collective algorithms or user code.  These functions are not related to the proper debugger interface that allows you
+
You can call these functions from a debugger to aid in debugging various problems such as incorrect ordering of <code>MPI_Send</code>'s and <code>MPI_Recv</code>'s in collective algorithms or user code.  These functions are not related to the [[Debugger_Message_Queue_Access|proper debugger interface]] that allows you to examine the message queues from totalview and other debuggers.
to examine the message queues from totalview and other debuggers.
 
  
 
<!-- vim: set ft=wikipedia : -->
 
<!-- vim: set ft=wikipedia : -->

Revision as of 16:01, 20 August 2008

The capability to dump CH3 and nemesis-newtcp recv/send queues from a debugger was added in r1195. The functions used to do so are:

void MPIDI_CH3U_Dbg_print_recvq(FILE *stream)

This function dumps the state of the CH3 receive queues (both posted and unexpected) to the given stream. A common choice for the stream is stdout or stderr.

void MPID_nem_dbg_print_vc_sendq(FILE *stream, MPIDI_VC_t *vc)

This function dumps the state of the nemesis shared memory and module send queues for a particular VC (virtual connection). This is only implemented for the newtcp module at the moment, although it is simple to add support for other modules as needed.

You can call these functions from a debugger to aid in debugging various problems such as incorrect ordering of MPI_Send's and MPI_Recv's in collective algorithms or user code. These functions are not related to the proper debugger interface that allows you to examine the message queues from totalview and other debuggers.