1 #ifndef _ARMCI_PROFILING_H_
2 #define _ARMCI_PROFILING_H_
3 /* $Id: armci_profile.h,v 1.5 2005-11-30 10:20:53 vinod Exp $ */
4 
5 enum events {ARMCI_PROF_GET=0, ARMCI_PROF_PUT, ARMCI_PROF_ACC, /* get/put/acc */
6 	     ARMCI_PROF_GETS, ARMCI_PROF_PUTS, ARMCI_PROF_ACCS, /* strided */
7 	     ARMCI_PROF_GETV, ARMCI_PROF_PUTV, ARMCI_PROF_ACCV, /* vector */
8 	     ARMCI_PROF_NBGET, ARMCI_PROF_NBPUT, ARMCI_PROF_NBACC,/*Non-block*/
9              ARMCI_PROF_NBGETS, ARMCI_PROF_NBPUTS, ARMCI_PROF_NBACCS,
10              ARMCI_PROF_NBGETV, ARMCI_PROF_NBPUTV, ARMCI_PROF_NBACCV,
11 	     ARMCI_PROF_BARRIER, ARMCI_PROF_WAIT, ARMCI_PROF_NOTIFY, /*misc*/
12 	     ARMCI_PROF_FENCE, ARMCI_PROF_ALLFENCE, ARMCI_PROF_RMW
13 };
14 
15 extern void armci_profile_init();
16 extern void armci_profile_terminate();
17 extern void armci_profile_start_strided(int count[], int stride_levels,
18 					int proc, int event_type);
19 extern void armci_profile_stop_strided(int event_type);
20 extern void armci_profile_start_vector(armci_giov_t darr[], int len, int proc,
21 				       int event_type);
22 extern void armci_profile_stop_vector(int event_type);
23 extern void armci_profile_start(int event_type);
24 extern void armci_profile_stop(int event_type);
25 
26 #endif /* _ARMCI_PROFILING_H_ */
27