File: TauTrace.h

package info (click to toggle)
vite 1.2%2Bsvn%2Bgit4.c6c0ce7-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 21,544 kB
  • sloc: cpp: 32,343; makefile: 461; sh: 144; ansic: 67
file content (99 lines) | stat: -rw-r--r-- 3,568 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/****************************************************************************
**			TAU Portable Profiling Package                     **
**			http://www.cs.uoregon.edu/research/tau             **
*****************************************************************************
**    Copyright 2009  						   	   **
**    Department of Computer and Information Science, University of Oregon **
**    Advanced Computing Laboratory, Los Alamos National Laboratory        **
**    Forschungszentrum Juelich                                            **
****************************************************************************/
/****************************************************************************
**	File 		: TauTrace.h 			        	   **
**	Description 	: TAU Profiling Package				   **
**	Contact		: tau-bugs@cs.uoregon.edu               	   **
**	Documentation	: See http://www.cs.uoregon.edu/research/tau       **
**                                                                         **
**      Description     : TAU Tracing                                      **
**                                                                         **
****************************************************************************/

#ifndef _TAU_TRACE_H_
#define _TAU_TRACE_H_

#include <tau_internal.h>


/* TAU tracer events */
#define TAU_EV_INIT         60000
#define TAU_EV_FLUSH_ENTER  60001
#define TAU_EV_FLUSH_EXIT   60002
#define TAU_EV_CLOSE        60003
#define TAU_EV_INITM        60004
#define TAU_EV_WALL_CLOCK   60005
#define TAU_EV_CONT_EVENT   60006
#define TAU_MESSAGE_SEND    60007
#define TAU_MESSAGE_RECV    60008

/* TAU one-side events (for TAU_CUCDA) */
#define TAU_ONESIDED_MESSAGE_SEND 70000
#define TAU_ONESIDED_MESSAGE_RECV 70001
#define TAU_ONESIDED_MESSAGE_ID_1 70002
#define TAU_ONESIDED_MESSAGE_ID_2 70003

#ifdef TAU_CUDA
#include "taucuda_interface.h"
#endif

/* event record description */
typedef struct {
  x_int32  ev;    /* event id                    */
  x_uint16 nid;   /* node id                     */
  x_uint16 tid;   /* thread id                   */
  x_int64  par;   /* event parameter             */
  x_uint64 ti;    /* timestamp (in microseconds) */
} TAU_EV;

/* structure to hold clocksync offset info */
typedef struct {
  int enabled;
  double beginOffset;
  double syncOffset;
} TauTraceOffsetInfo;

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
  
  
  int  TAUDECL TauTraceInit(int tid);
  void TAUDECL TauTraceUnInitialize(int tid);
  void TAUDECL TauTraceReinitialize(int oldid, int newid, int tid);
  void TAUDECL TauTraceEventOnly(long int ev, x_int64 par, int tid);
  void TAUDECL TauTraceFlushBuffer(int tid);
  void TAUDECL TauTraceEventSimple(long int ev, x_int64 par, int tid);
  void TAUDECL TauTraceEvent(long int ev, x_int64 par, int tid, x_uint64 ts, int use_ts);
  void TAUDECL TauTraceClose(int tid);
  void TAUDECL TauTraceSetFlushEvents(int value);
  int  TAUDECL TauTraceGetFlushEvents();
  double TAUDECL TauTraceGetTime(int tid);
  int TAUDECL TauTraceDumpEDF(int tid);
  int TAUDECL TauTraceMergeAndConvertTracesIfNecessary(void);

  void TAUDECL TauTraceSendMsg(int type, int destination, int length);
  void TAUDECL TauTraceRecvMsg(int type, int source, int length);

#ifdef TAU_CUDA
  void TAUDECL TauTraceOneSidedMsg(bool type, gpuId *gpu, int length, int thread);
#endif

  /* Returns a pointer to the (singleton) offset info struct */
  TauTraceOffsetInfo* TAUDECL TheTauTraceOffsetInfo();

#ifdef __cplusplus
}
#endif /* __cplusplus */




#endif /* _TAU_TRACE_H_ */