JNIEXPORT void JNICALL Java_es_bsc_cepbatools_extrae_Wrapper_Comm (JNIEnv *env, jclass jc, jboolean send, jint tag, jint size, jint partner, jlong id) { struct extrae_UserCommunication comm; struct extrae_CombinedEvents events; UNREFERENCED(env); UNREFERENCED(jc); Extrae_init_UserCommunication(&comm); Extrae_init_CombinedEvents(&events); if(send) comm.type = EXTRAE_USER_SEND; else comm.type = EXTRAE_USER_RECV; comm.tag=tag; comm.size=size; comm.partner=partner; comm.id=id; events.nCommunications=1; events.Communications=&comm; events.nEvents=0; Extrae_emit_CombinedEvents(&events); }
double pi_kernel (int n, double h) { double tmp = 0; double x; int i; extrae_combined_events_t evt; extrae_type_t type = 2020; extrae_value_t enter = (extrae_value_t) pi_kernel, leave = 0; Extrae_register_function_address (pi_kernel, (char*)__FUNCTION__, (char*)__FILE__, __LINE__); Extrae_init_CombinedEvents (&evt); evt.nEvents = 1; evt.Types = &type; evt.Values = &enter; Extrae_emit_CombinedEvents (&evt); for (i = 1; i <= n; i++) { x = h * ((double)i - 0.5); tmp += (4.0 / (1.0 + x*x)); } evt.nEvents = 1; evt.Types = &type; evt.Values = &leave; Extrae_emit_CombinedEvents (&evt); return tmp; }
void fake_kernel_ol_1 (void) { Extrae_register_function_address (fake_kernel_ol_1, "fake_kernel", (char*)__FILE__, __LINE__); extrae_combined_events_t evt; extrae_type_t type = 2020; extrae_value_t enter = (extrae_value_t) fake_kernel_ol_1, leave = 0; Extrae_init_CombinedEvents (&evt); evt.nEvents = 1; evt.Types = &type; evt.Values = &enter; Extrae_emit_CombinedEvents (&evt); fake_kernel(); evt.nEvents = 1; evt.Types = &type; evt.Values = &leave; Extrae_emit_CombinedEvents (&evt); }
void sleep_kernel (int n) { extrae_combined_events_t evt; extrae_type_t type = 2020; extrae_value_t enter = (extrae_value_t) sleep_kernel, leave = 0; Extrae_register_function_address (sleep_kernel, (char*)__FUNCTION__, (char*)__FILE__, __LINE__); Extrae_init_CombinedEvents (&evt); evt.nEvents = 1; evt.Types = &type; evt.Values = &enter; Extrae_emit_CombinedEvents (&evt); printf ("in sleep_kernel (%d)\n", n); evt.nEvents = 1; evt.Types = &type; evt.Values = &leave; Extrae_emit_CombinedEvents (&evt); }
void * Task0(void *param) { struct extrae_CombinedEvents events; struct extrae_UserCommunication comm; extrae_type_t types[2] = { 123456, 123457 } ; extrae_value_t values[2] = { 1, 2 }; Extrae_init_UserCommunication (&comm); comm.type = EXTRAE_USER_SEND; comm.partner = 0; comm.tag = 1234; comm.size = 1024; comm.id = 0xdeadbeef; Extrae_init_CombinedEvents (&events); events.nCommunications = 1; events.Communications = &comm; events.nEvents = 2; events.Types = types; events.Values = values; Extrae_emit_CombinedEvents (&events); }