void addVarType_i (char *alias, int *s1, char *name, int *s3, char *contType, int *s2, int *err) { char *a = (char *) malloc (sizeof (char) * (*s1 + 1)); char *n = (char *) malloc (sizeof (char) * (*s3 + 1)); char *c = (char *) malloc (sizeof (char) * (*s2 + 1)); memcpy (a, alias, *s1); a[*s1] = '\0'; memcpy (c, contType, *s2); c[*s2] = '\0'; memcpy (n, name, *s3); n[*s3] = '\0'; *err = addVarType (a, c, n); }
int eztrace_convert_coreblas_init() { addVarType( COREBLAS_TASK_ALIAS, COREBLAS_TASK_NAME, "CT_Process" ); addVarType( COREBLAS_TASKR_ALIAS, COREBLAS_TASKR_NAME, "CT_Process" ); addVarType( COREBLAS_TASKWR_ALIAS, COREBLAS_TASKWR_NAME, "CT_Thread" ); /* Level 3 Blas */ addEntityValue("gemm" , COREBLAS_STATE, "gemm" , GTG_YELLOW ); addEntityValue("herk" , COREBLAS_STATE, "herk" , GTG_WHITE ); addEntityValue("syrk" , COREBLAS_STATE, "syrk" , GTG_WHITE ); addEntityValue("hemm" , COREBLAS_STATE, "hemm" , GTG_DARKPINK); addEntityValue("symm" , COREBLAS_STATE, "symm" , GTG_DARKPINK); addEntityValue("trmm" , COREBLAS_STATE, "trmm" , GTG_PURPLE ); addEntityValue("trsm" , COREBLAS_STATE, "trsm" , GTG_RED ); addEntityValue("her2k", COREBLAS_STATE, "her2k", GTG_PINK ); addEntityValue("syr2k", COREBLAS_STATE, "syr2k", GTG_PINK ); /* Level 2 Blas */ addEntityValue("gemv" , COREBLAS_STATE, "gemv" , GTG_TEAL ); addEntityValue("gbmv" , COREBLAS_STATE, "gbmv" , GTG_TEAL ); addEntityValue("hemv" , COREBLAS_STATE, "hemv" , GTG_TEAL ); addEntityValue("hbmv" , COREBLAS_STATE, "hbmv" , GTG_TEAL ); addEntityValue("hpmv" , COREBLAS_STATE, "hpmv" , GTG_TEAL ); addEntityValue("symv" , COREBLAS_STATE, "symv" , GTG_TEAL ); addEntityValue("sbmv" , COREBLAS_STATE, "sbmv" , GTG_TEAL ); addEntityValue("spmv" , COREBLAS_STATE, "spmv" , GTG_TEAL ); addEntityValue("trmv" , COREBLAS_STATE, "trmv" , GTG_TEAL ); addEntityValue("tbmv" , COREBLAS_STATE, "tbmv" , GTG_TEAL ); addEntityValue("tpmv" , COREBLAS_STATE, "tpmv" , GTG_TEAL ); addEntityValue("trsv" , COREBLAS_STATE, "trsv" , GTG_ORANGE ); addEntityValue("tbsv" , COREBLAS_STATE, "tbsv" , GTG_ORANGE ); addEntityValue("tpsv" , COREBLAS_STATE, "tpsv" , GTG_ORANGE ); addEntityValue("ger" , COREBLAS_STATE, "ger" , GTG_SEABLUE ); addEntityValue("geru" , COREBLAS_STATE, "geru" , GTG_SEABLUE ); addEntityValue("gerc" , COREBLAS_STATE, "gerc" , GTG_SEABLUE ); addEntityValue("her" , COREBLAS_STATE, "her" , GTG_SEABLUE ); addEntityValue("hpr" , COREBLAS_STATE, "hpr" , GTG_SEABLUE ); addEntityValue("her2" , COREBLAS_STATE, "her2" , GTG_SEABLUE ); addEntityValue("hpr2" , COREBLAS_STATE, "hpr2" , GTG_SEABLUE ); addEntityValue("syr" , COREBLAS_STATE, "syr" , GTG_SEABLUE ); addEntityValue("spr" , COREBLAS_STATE, "spr" , GTG_SEABLUE ); addEntityValue("syr2" , COREBLAS_STATE, "syr2" , GTG_SEABLUE ); addEntityValue("spr2" , COREBLAS_STATE, "spr2" , GTG_SEABLUE ); /* Level 1 BLAS */ addEntityValue("rotg" , COREBLAS_STATE, "rotg" , GTG_PURPLE ); addEntityValue("rotmg", COREBLAS_STATE, "rotmg", GTG_PURPLE ); addEntityValue("rot" , COREBLAS_STATE, "rot" , GTG_PURPLE ); addEntityValue("rotm" , COREBLAS_STATE, "rotm" , GTG_PURPLE ); addEntityValue("swap" , COREBLAS_STATE, "swap" , GTG_ORANGE ); addEntityValue("scal" , COREBLAS_STATE, "scal" , GTG_ORANGE ); addEntityValue("copy" , COREBLAS_STATE, "copy" , GTG_ORANGE ); addEntityValue("axpy" , COREBLAS_STATE, "axpy" , GTG_ORANGE ); addEntityValue("dot" , COREBLAS_STATE, "dot" , GTG_LIGHTPINK); addEntityValue("dotu" , COREBLAS_STATE, "dotu" , GTG_LIGHTPINK); addEntityValue("dotc" , COREBLAS_STATE, "dotc" , GTG_LIGHTPINK); addEntityValue("xdot" , COREBLAS_STATE, "xdot" , GTG_LIGHTPINK); addEntityValue("nrm2" , COREBLAS_STATE, "nrm2" , GTG_LIGHTPINK); addEntityValue("asum" , COREBLAS_STATE, "asum" , GTG_LIGHTPINK); addEntityValue("amax" , COREBLAS_STATE, "amax" , GTG_LIGHTPINK); /* Lapack */ addEntityValue("lacpy", COREBLAS_STATE, "lacpy", GTG_LIGHTPINK ); addEntityValue("lange", COREBLAS_STATE, "lange", GTG_LIGHTPINK ); addEntityValue("lanhe", COREBLAS_STATE, "lanhe", GTG_LIGHTPINK ); addEntityValue("lansy", COREBLAS_STATE, "lansy", GTG_LIGHTPINK ); addEntityValue("larfb", COREBLAS_STATE, "larfb", GTG_YELLOW ); addEntityValue("larft", COREBLAS_STATE, "larft", GTG_RED ); addEntityValue("laswp", COREBLAS_STATE, "laswp", GTG_ORANGE ); addEntityValue("lauum", COREBLAS_STATE, "lauum", GTG_LIGHTPINK ); addEntityValue("potrf", COREBLAS_STATE, "potrf", GTG_GREEN ); addEntityValue("trtri", COREBLAS_STATE, "trtri", GTG_LIGHTPINK ); addEntityValue("laset", COREBLAS_STATE, "laset", GTG_LIGHTPINK ); /* PLASMA coreblas */ addEntityValue("gelqt", COREBLAS_STATE, "gelqt", GTG_GREEN ); addEntityValue("geqrt", COREBLAS_STATE, "geqrt", GTG_GREEN ); addEntityValue("gessm", COREBLAS_STATE, "gessm", GTG_BLUE ); addEntityValue("getrf", COREBLAS_STATE, "getrf", GTG_GREEN ); addEntityValue("getro", COREBLAS_STATE, "getro", GTG_ORANGE ); addEntityValue("ssssm", COREBLAS_STATE, "ssssm", GTG_YELLOW ); addEntityValue("titro", COREBLAS_STATE, "titro", GTG_LIGHTPINK ); addEntityValue("trbmm", COREBLAS_STATE, "trbmm", GTG_BLUE ); addEntityValue("trgmm", COREBLAS_STATE, "trgmm", GTG_BLUE ); addEntityValue("tslqt", COREBLAS_STATE, "tslqt", GTG_RED ); addEntityValue("tsmlq", COREBLAS_STATE, "tsmlq", GTG_YELLOW ); addEntityValue("tsmqr", COREBLAS_STATE, "tsmqr", GTG_YELLOW ); addEntityValue("tsqrt", COREBLAS_STATE, "tsqrt", GTG_RED ); addEntityValue("tsrfb", COREBLAS_STATE, "tsrfb", GTG_BLUE ); addEntityValue("tstrf", COREBLAS_STATE, "tstrf", GTG_BLUE ); addEntityValue("ttlqt", COREBLAS_STATE, "ttlqt", GTG_REDBLOOD ); addEntityValue("ttmlq", COREBLAS_STATE, "ttmlq", GTG_ORANGE ); addEntityValue("ttmqr", COREBLAS_STATE, "ttmqr", GTG_ORANGE ); addEntityValue("ttqrt", COREBLAS_STATE, "ttqrt", GTG_REDBLOOD ); addEntityValue("ttrfb", COREBLAS_STATE, "ttrfb", GTG_SEABLUE ); addEntityValue("unmlq", COREBLAS_STATE, "unmlq", GTG_YELLOW ); addEntityValue("unmqr", COREBLAS_STATE, "unmqr", GTG_YELLOW ); addEntityValue("getrip",COREBLAS_STATE, "getrip",GTG_LIGHTPINK ); addEntityValue("plghe", COREBLAS_STATE, "plghe", GTG_LIGHTPINK ); addEntityValue("plgsy", COREBLAS_STATE, "plgsy", GTG_LIGHTPINK ); addEntityValue("shift", COREBLAS_STATE, "shift", GTG_LIGHTPINK ); addEntityValue("shiftw",COREBLAS_STATE, "shiftw",GTG_LIGHTPINK ); addEntityValue("swpab", COREBLAS_STATE, "swpab", GTG_LIGHTPINK ); addEntityValue("plrnt", COREBLAS_STATE, "plrnt", GTG_LIGHTPINK ); addEntityValue("brdalg", COREBLAS_STATE, "brdalg", GTG_LIGHTPINK ); addEntityValue("trdalg", COREBLAS_STATE, "trdalg", GTG_LIGHTPINK ); addEntityValue("hegst", COREBLAS_STATE, "hegst", GTG_LIGHTPINK ); addEntityValue("sygst", COREBLAS_STATE, "sygst", GTG_LIGHTPINK ); addEntityValue("herfb", COREBLAS_STATE, "herfb", GTG_LIGHTPINK ); addEntityValue("syrfb", COREBLAS_STATE, "syrfb", GTG_LIGHTPINK ); /* plasma coreblas */ addEntityValue ("wait", COREBLAS_STATE, "wait", GTG_BLACK ); #ifdef TRACE_BY_SEQUENCE sequenceInit(); #endif return 0; }
int main (int argc, char** argv){ int rk; MPI_Init (&argc, &argv); MPI_Comm_rank (MPI_COMM_WORLD, &rk); setTraceType (VITE, BUFF); setComm (MPI_COMM_WORLD); initTrace ("cvite"); if (rk==0){ addContType ("CT_NET", "0", "Network"); addContType ("CT_NODE", "CT_NET", "Node"); addContType ("CT_PROC", "CT_NODE", "Proc"); addStateType ("ST_NodeState", "CT_NODE", "Node state"); addStateType ("ST_ProcState", "CT_PROC", "Procstate"); addEntityValue ("SN_0", "ST_NodeState", "Sleep", "0.5 0.5 0.5"); addEntityValue ("SN_1", "ST_NodeState", "WaitLocal", "0.0 0.5 0.9"); addEntityValue ("SN_2", "ST_NodeState", "WaitDistant", "0.9 0.5 0.0"); addEntityValue ("SP_3", "ST_ProcState", "Produit", "0.5 0.9 0.0"); addEntityValue ("SP_4", "ST_ProcState", "Somme", "0.9 0.9 0.0"); addEntityValue ("SP_5", "ST_ProcState", "Difference", "0.1 0.5 0.4"); addLinkType ("L_0", "Fanin", "CT_NET", "CT_PROC", "CT_PROC"); addLinkType ("L_1", "Bloc", "CT_NET", "CT_PROC", "CT_PROC"); addVarType ("V_Mem", "Memoire", "CT_NODE"); addEventType ("E_0", "CT_PROC", "Lapin"); addEventType ("E_1", "CT_PROC", "Chocolat"); addContainer (0.00000, "C_Net0", "CT_NET", "0", "Ensemble0", "0"); addContainer (0.00000, "C_N0", "CT_NODE", "C_Net0", "Node0", "0"); addContainer (0.00000, "C_N1", "CT_NODE", "C_Net0", "Node1", "0"); addContainer (0.00000, "C_P0", "CT_PROC", "C_N0", "Proc0", "cvite_proc0"); addContainer (0.00000, "C_P1", "CT_PROC", "C_N0", "Proc1", "cvite_proc1"); addContainer (0.00000, "C_P2", "CT_PROC", "C_N0", "Proc2", "cvite_proc2"); addContainer (0.00000, "C_P3", "CT_PROC", "C_N1", "Proc3", "cvite_proc3"); addContainer (0.00000, "C_P4", "CT_PROC", "C_N1", "Proc4", "cvite_proc4"); addContainer (0.00000, "C_P5", "CT_PROC", "C_N1", "Proc5", "cvite_proc5"); } setVar (0.0111742, "V_Mem", "C_N0", 1.0000000); setState (0.01120000, "ST_NodeState", "C_N1", "SN_1"); setState (0.02121000, "ST_NodeState", "C_N0", "SN_0"); setVar (0.0212742, "V_Mem", "C_N0", 2.0000000); setState (0.03122000, "ST_NodeState", "C_N1", "SN_2"); setState (0.04123000, "ST_NodeState", "C_N0", "SN_1"); setVar (0.0313742, "V_Mem", "C_N0", 3.0000000); setVar (0.0414742, "V_Mem", "C_N1", 1.0000000); setState (0.05124000, "ST_NodeState", "C_N1", "SN_0"); setVar (0.0515742, "V_Mem", "C_N1", 2.0000000); setState (0.06124500, "ST_NodeState", "C_N0", "SN_2"); setVar (0.0616742, "V_Mem", "C_N1", 3.0000000); switch (rk){ case 0: setState (0.00130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00150000, "ST_ProcState", "C_P0", "SP_5"); setState (0.00230000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00330000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00830000, "ST_ProcState", "C_P0", "SP_3"); setState (0.03130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.05130000, "ST_ProcState", "C_P0", "SP_4"); setState (0.09130000, "ST_ProcState", "C_P0", "SP_3"); startLink (0.040000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); endLink (0.050000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); addEvent (0.030000, "E_0", "C_P0", "11"); break; case 1 : setState (0.00140000, "ST_ProcState", "C_P1", "SP_3"); setState (0.00210000, "ST_ProcState", "C_P1", "SP_4"); setState (0.00930000, "ST_ProcState", "C_P1", "SP_3"); setState (0.01030000, "ST_ProcState", "C_P1", "SP_4"); addEvent (0.070000, "E_1", "C_P1", "1"); break; case 3 : setState (0.00160000, "ST_ProcState", "C_P3", "SP_5"); setState (0.00200000, "ST_ProcState", "C_P3", "SP_4"); setState (0.00630000, "ST_ProcState", "C_P3", "SP_5"); setState (0.04130000, "ST_ProcState", "C_P3", "SP_3"); startLink (0.050000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); endLink (0.060000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); break; case 4 : setState (0.00170000, "ST_ProcState", "C_P4", "SP_3"); setState (0.00530000, "ST_ProcState", "C_P4", "SP_5"); setState (0.07130000, "ST_ProcState", "C_P4", "SP_5"); startLink (0.030000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); endLink (0.030000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); break; case 5 : setState (0.00180000, "ST_ProcState", "C_P5", "SP_4"); setState (0.00430000, "ST_ProcState", "C_P5", "SP_4"); setState (0.06130000, "ST_ProcState", "C_P5", "SP_5"); addEvent (0.090000, "E_1", "C_P5", "3"); break; case 2 : setState (0.00190000, "ST_ProcState", "C_P2", "SP_3"); setState (0.00730000, "ST_ProcState", "C_P2", "SP_5"); setState (0.02130000, "ST_ProcState", "C_P2", "SP_4"); setState (0.08130000, "ST_ProcState", "C_P2", "SP_4"); startLink (0.020000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); endLink (0.040000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); addEvent (0.050000, "E_0", "C_P2", "10"); break; default : break; } endTrace (); MPI_Finalize (); return EXIT_SUCCESS; }
int main (int argc, char** argv){ (void) argc; (void) argv; setTraceType (PAJE); initTrace ("cpaje", 0, GTG_FLAG_NONE); addContType ("CT_NET", "0", "Network"); addContType ("CT_NODE", "CT_NET", "Node"); addContType ("CT_PROC", "CT_NODE", "Proc"); addStateType ("ST_NodeState", "CT_NODE", "Node state"); addStateType ("ST_ProcState", "CT_PROC", "Procstate"); addEntityValue ("SN_0", "ST_NodeState", "Sleep", GTG_LIGHTPINK); addEntityValue ("SN_1", "ST_NodeState", "WaitLocal", GTG_PINK); addEntityValue ("SN_2", "ST_NodeState", "WaitDistant", GTG_BLUE); addEntityValue ("SP_3", "ST_ProcState", "Produit", GTG_ORANGE); addEntityValue ("SP_4", "ST_ProcState", "Somme", GTG_GREEN); addEntityValue ("SP_5", "ST_ProcState", "Difference", GTG_BLACK); addLinkType ("L_0", "Fanin", "CT_NET", "CT_PROC", "CT_PROC"); addLinkType ("L_1", "Bloc", "CT_NET", "CT_PROC", "CT_PROC"); addVarType ("V_Mem", "Memoire", "CT_NODE"); addEventType ("E_0", "CT_PROC", "Lapin"); addEventType ("E_1", "CT_PROC", "Chocolat"); addContainer (0.00000, "C_Net0", "CT_NET", "0", "Ensemble0", "0"); addContainer (0.00000, "C_N0", "CT_NODE", "C_Net0", "Node0", "0"); addContainer (0.00000, "C_P0", "CT_PROC", "C_N0", "Proc0", "0"); addContainer (0.00000, "C_P1", "CT_PROC", "C_N0", "Proc1", "0"); addContainer (0.00000, "C_P2", "CT_PROC", "C_N0", "Proc2", "0"); addContainer (0.00000, "C_N1", "CT_NODE", "C_Net0", "Node1", "0"); addContainer (0.00000, "C_P3", "CT_PROC", "C_N1", "Proc3", "0"); addContainer (0.00000, "C_P4", "CT_PROC", "C_N1", "Proc4", "0"); addContainer (0.00000, "C_P5", "CT_PROC", "C_N1", "Proc5", "0"); setVar (0.0111742, "V_Mem", "C_N0", 1.0000000); setState (0.01120000, "ST_NodeState", "C_N1", "SN_1"); setState (0.02121000, "ST_NodeState", "C_N0", "SN_0"); setVar (0.0212742, "V_Mem", "C_N0", 2.0000000); setState (0.03122000, "ST_NodeState", "C_N1", "SN_2"); setState (0.04123000, "ST_NodeState", "C_N0", "SN_1"); setVar (0.0313742, "V_Mem", "C_N0", 3.0000000); setVar (0.0414742, "V_Mem", "C_N1", 1.0000000); setState (0.05124000, "ST_NodeState", "C_N1", "SN_0"); setVar (0.0515742, "V_Mem", "C_N1", 2.0000000); setState (0.06124500, "ST_NodeState", "C_N0", "SN_2"); setVar (0.0616742, "V_Mem", "C_N1", 3.0000000); setState (0.00130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00140000, "ST_ProcState", "C_P1", "SP_3"); setState (0.00150000, "ST_ProcState", "C_P0", "SP_5"); setState (0.00160000, "ST_ProcState", "C_P3", "SP_5"); setState (0.00170000, "ST_ProcState", "C_P4", "SP_3"); setState (0.00180000, "ST_ProcState", "C_P5", "SP_4"); setState (0.00190000, "ST_ProcState", "C_P2", "SP_3"); setState (0.00200000, "ST_ProcState", "C_P3", "SP_4"); setState (0.00210000, "ST_ProcState", "C_P1", "SP_4"); setState (0.00230000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00330000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00430000, "ST_ProcState", "C_P5", "SP_4"); setState (0.00530000, "ST_ProcState", "C_P4", "SP_5"); setState (0.00630000, "ST_ProcState", "C_P3", "SP_5"); setState (0.00730000, "ST_ProcState", "C_P2", "SP_5"); setState (0.00830000, "ST_ProcState", "C_P0", "SP_3"); setState (0.00930000, "ST_ProcState", "C_P1", "SP_3"); setState (0.01030000, "ST_ProcState", "C_P1", "SP_4"); setState (0.02130000, "ST_ProcState", "C_P2", "SP_4"); setState (0.03130000, "ST_ProcState", "C_P0", "SP_3"); setState (0.04130000, "ST_ProcState", "C_P3", "SP_3"); setState (0.05130000, "ST_ProcState", "C_P0", "SP_4"); setState (0.06130000, "ST_ProcState", "C_P5", "SP_5"); setState (0.07130000, "ST_ProcState", "C_P4", "SP_2"); setState (0.08130000, "ST_ProcState", "C_P2", "SP_4"); setState (0.09130000, "ST_ProcState", "C_P0", "SP_3"); startLink (0.020000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); startLink (0.030000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); startLink (0.040000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); startLink (0.050000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); endLink (0.030000, "L_0", "C_Net0", "C_P2", "C_P4", "12", "0"); endLink (0.040000, "L_1", "C_Net0", "C_P4", "C_P2", "13", "1"); endLink (0.050000, "L_0", "C_Net0", "C_P0", "C_P5", "14", "2"); endLink (0.060000, "L_1", "C_Net0", "C_P3", "C_P1", "15", "3"); addEvent (0.030000, "E_0", "C_P0", "11"); addEvent (0.050000, "E_0", "C_P2", "10"); addEvent (0.070000, "E_1", "C_P1", "1"); addEvent (0.090000, "E_1", "C_P5", "3"); endTrace (); return EXIT_SUCCESS; }