20 #ifndef __MPIDBG_INTERFACE_H__
21 #define __MPIDBG_INTERFACE_H__ 1
23 #include "ompi_config.h"
29 #include <sys/types.h>
35 #include "msgq_interface.h"
42 MPIDBG_MAX_OBJECT_NAME = MPI_MAX_OBJECT_NAME
45 MPIDBG_MAX_FILENAME = 1024
48 MPIDBG_INTERFACE_VERSION = 1
65 mqs_type *hi_c_datatype;
67 mqs_type *hi_c_errhandler;
75 mqs_type *hi_c_offset;
79 mqs_type *hi_c_request;
81 mqs_type *hi_c_status;
88 mqs_type *hi_cxx_aint;
90 mqs_type *hi_cxx_comm;
92 mqs_type *hi_cxx_intracomm;
94 mqs_type *hi_cxx_intercomm;
96 mqs_type *hi_cxx_graphcomm;
98 mqs_type *hi_cxx_cartcomm;
100 mqs_type *hi_cxx_datatype;
102 mqs_type *hi_cxx_errhandler;
104 mqs_type *hi_cxx_file;
106 mqs_type *hi_cxx_group;
108 mqs_type *hi_cxx_info;
110 mqs_type *hi_cxx_offset;
114 mqs_type *hi_cxx_request;
116 mqs_type *hi_cxx_prequest;
118 mqs_type *hi_cxx_grequest;
120 mqs_type *hi_cxx_status;
122 mqs_type *hi_cxx_win;
125 enum mpidbg_return_codes_t {
129 MPIDBG_ERR_NOT_FOUND,
131 MPIDBG_ERR_NOT_SUPPORTED,
133 MPIDBG_ERR_OUT_OF_RANGE,
135 MPIDBG_ERR_UNAVAILABLE,
139 MPIDBG_MAX_RETURN_CODE
152 int mpi_comm_world_rank;
172 mqs_taddr_t map_handle;
195 enum mpidbg_comm_capabilities_t {
198 MPIDBG_COMM_CAP_BASIC = 0x01,
201 MPIDBG_COMM_CAP_STRING_NAMES = 0x02,
204 MPIDBG_COMM_CAP_FREED_HANDLE = 0x04,
207 MPIDBG_COMM_CAP_FREED_OBJECT = 0x08,
210 MPIDBG_COMM_CAP_REQUEST_LIST = 0x10,
213 MPIDBG_COMM_CAP_WINDOW_LIST = 0x20,
216 MPIDBG_COMM_CAP_FILE_LIST = 0x40,
221 enum mpidbg_comm_info_bitmap_t {
223 MPIDBG_COMM_INFO_PREDEFINED = 0x01,
226 MPIDBG_COMM_INFO_CARTESIAN = 0x02,
229 MPIDBG_COMM_INFO_GRAPH = 0x04,
233 MPIDBG_COMM_INFO_TOPO_REORDERED = 0x08,
236 MPIDBG_COMM_INFO_INTERCOMM = 0x10,
239 MPIDBG_COMM_INFO_FREED_HANDLE = 0x20,
242 MPIDBG_COMM_INFO_FREED_OBJECT = 0x40,
244 MPIDBG_COMM_INFO_COMM_NULL = 0x80,
251 char comm_name[MPIDBG_MAX_OBJECT_NAME];
254 enum mpidbg_comm_info_bitmap_t comm_bitflags;
262 int comm_num_local_procs;
269 int comm_num_remote_procs;
276 int comm_cart_num_dims;
283 int8_t *comm_cart_periods;
286 int comm_graph_num_nodes;
289 int *comm_graph_index;
292 int *comm_graph_edges;
295 mqs_taddr_t comm_c_handle;
298 int comm_fortran_handle;
308 int comm_num_pending_requests;
312 mqs_taddr_t *comm_pending_requests;
316 int comm_num_derived_windows;
320 mqs_taddr_t *comm_derived_windows;
324 int comm_num_derived_files;
328 mqs_taddr_t *comm_derived_files;
338 enum mpidbg_request_capabilities_t {
341 MPIDBG_REQUEST_CAP_BASIC = 0x01,
343 MPIDBG_REQUEST_CAP_MAX
346 enum mpidbg_request_info_bitmap_t {
348 MPIDBG_REQUEST_INFO_PREDEFINED = 0x01,
350 MPIDBG_REQUEST_INFO_MAX
355 enum mpidbg_request_info_bitmap_t req_bitflags;
358 mqs_taddr_t req_c_handle;
361 int req_fortran_handle;
368 enum mpidbg_status_capabilities_t {
371 MPIDBG_STATUS_CAP_BASIC = 0x01,
373 MPIDBG_STATUS_CAP_MAX
376 enum mpidbg_status_info_bitmap_t {
378 MPIDBG_STATUS_INFO_PREDEFINED = 0x01,
380 MPIDBG_STATUS_INFO_MAX
385 enum mpidbg_status_info_bitmap_t status_bitflags;
394 enum mpidbg_errhandler_capabilities_t {
397 MPIDBG_ERRH_CAP_BASIC = 0x01,
400 MPIDBG_ERRH_CAP_STRING_NAMES = 0x02,
403 MPIDBG_ERRH_CAP_FREED_HANDLE = 0x04,
407 MPIDBG_ERRH_CAP_FREED_OBJECT = 0x08,
410 MPIDBG_ERRH_CAP_HANDLE_LIST = 0x10,
415 enum mpidbg_errhandler_info_bitmap_t {
417 MPIDBG_ERRH_INFO_PREDEFINED = 0x01,
419 MPIDBG_ERRH_INFO_COMMUNICATOR = 0x02,
421 MPIDBG_ERRH_INFO_FILE = 0x04,
423 MPIDBG_ERRH_INFO_WINDOW = 0x08,
425 MPIDBG_ERRH_INFO_C_CALLBACK = 0x10,
428 MPIDBG_ERRH_INFO_FREED_HANDLE = 0x20,
431 MPIDBG_ERRH_INFO_FREED_OBJECT = 0x40,
439 char eh_name[MPIDBG_MAX_OBJECT_NAME];
442 enum mpidbg_errhandler_info_bitmap_t eh_bitflags;
445 mqs_taddr_t eh_c_handle;
448 int eh_fortran_handle;
456 mqs_taddr_t *eh_handles;
464 mqs_taddr_t eh_callback_func;
491 extern char **mpidbg_dll_locations;
496 extern char mpidbg_dll_is_big_endian;
501 extern char mpidbg_dll_bitness;
506 extern enum mpidbg_comm_capabilities_t mpidbg_comm_capabilities;
522 extern enum mpidbg_errhandler_capabilities_t mpidbg_errhandler_capabilities;
575 int mpidbg_interface_version_compatibility(
void);
589 char *mpidbg_version_string(
void);
604 int mpidbg_dll_taddr_width(
void);
645 int mpidbg_init_per_image(mqs_image *image,
660 void mpidbg_finalize_per_image(mqs_image *image, mqs_image_info *image_info);
706 int mpidbg_init_per_process(mqs_process *process,
721 void mpidbg_finalize_per_process(mqs_process *process,
722 mqs_process_info *process_info);
751 int mpidbg_comm_query(mqs_image *image, mqs_image_info *image_info,
752 mqs_process *process, mqs_process_info *process_info,
777 int mpidbg_comm_f2c(mqs_image *image, mqs_image_info *image_info,
778 mqs_process *process, mqs_process_info *process_info,
779 mqs_taddr_t f77_comm, mqs_taddr_t *c_comm);
809 int mpidbg_comm_cxx2c(mqs_image *image, mqs_image_info *image_info,
810 mqs_process *process, mqs_process_info *process_info,
811 mqs_taddr_t cxx_comm,
812 enum mpidbg_comm_info_bitmap_t comm_type,
813 mqs_taddr_t *c_comm);
825 int mpidbg_errhandler_query(mqs_image *image, mqs_image_info *image_info,
826 mqs_process *process, mqs_process_info *process_info,
827 mqs_taddr_t errhandler,
829 int mpidbg_errhandler_f2c(mqs_image *image, mqs_image_info *image_info,
830 mqs_process *process, mqs_process_info *process_info,
831 mqs_taddr_t f77_errhandler,
832 mqs_taddr_t *c_errhandler);
833 int mpidbg_errhandler_cxx2c(mqs_image *image, mqs_image_info *image_info,
834 mqs_process *process, mqs_process_info *process_info,
835 mqs_taddr_t cxx_errhandler,
836 mqs_taddr_t *c_errhandler);
846 int mpidbg_request_query(mqs_image *image, mqs_image_info *image_info,
847 mqs_process *process, mqs_process_info *process_info,
850 int mpidbg_request_f2c(mqs_image *image, mqs_image_info *image_info,
851 mqs_process *process, mqs_process_info *process_info,
852 mqs_taddr_t f77_request, mqs_taddr_t *c_request);
853 int mpidbg_request_cxx2c(mqs_image *image, mqs_image_info *image_info,
854 mqs_process *process, mqs_process_info *process_info,
855 mqs_taddr_t cxx_request,
856 enum mpidbg_request_info_bitmap_t request_type,
857 mqs_taddr_t *c_request);
867 int mpidbg_status_query(mqs_image *image, mqs_image_info *image_info,
868 mqs_process *process, mqs_process_info *process_info,
871 int mpidbg_status_f2c(mqs_image *image, mqs_image_info *image_info,
872 mqs_process *process, mqs_process_info *process_info,
873 mqs_taddr_t f77_status, mqs_taddr_t *c_status);
874 int mpidbg_status_cxx2c(mqs_image *image, mqs_image_info *image_info,
875 mqs_process *process, mqs_process_info *process_info,
876 mqs_taddr_t cxx_status,
877 mqs_taddr_t *c_status);
Definition: mpihandles_interface.h:179
Definition: msgq_interface.h:516
Definition: mpihandles_interface.h:57
Definition: mpihandles_interface.h:249
Definition: mpihandles_interface.h:436
Definition: msgq_interface.h:506
Definition: mpihandles_interface.h:353
Definition: msgq_interface.h:484
Definition: mpihandles_interface.h:383
Definition: mpihandles_interface.h:147
Definition: mpihandles_interface.h:166