char *getSequence(uint64_t seq)
{
    int i=0;

    while ( (i < MAX_SEQUENCE)
            && (seqtab[i].id != 0)
            && (seqtab[i].id != seq) )
        i++;
    
    if (i < MAX_SEQUENCE)
    {
        if ( seqtab[i].id == seq )
        {
            return seqtab[i].name;
        }
        else
        {
            seqtab[i].id = seq;
            asprintf(&(seqtab[i].name), "Sequence%03d", i);
            addEntityValue(seqtab[i].name, COREBLAS_STATE, seqtab[i].name, colors[i%20] );
            return seqtab[i].name;
        }
    } else {
        fprintf(stderr, "WARNING: Too many sequences, you need to increase the limit and recompile\n");
        return "SequenceOutOfRange";
    }
}
void
addEntityValue_i (char *alias, int *s1,
		  char *entType, int *s2,
		  char *name, int *s3, gtg_color_t color, int *s4, int *err)
{

  char *a = (char *) malloc (sizeof (char) * (*s1 + 1));
  char *c = (char *) malloc (sizeof (char) * (*s2 + 1));
  char *n = (char *) malloc (sizeof (char) * (*s3 + 1));
  memcpy (a, alias, *s1);
  a[*s1] = '\0';
  memcpy (c, entType, *s2);
  c[*s2] = '\0';
  memcpy (n, name, *s3);
  n[*s3] = '\0';
  *err = addEntityValue (a, c, n, color);
}
Пример #3
0
/*
 * This function will be called once all the plugins are loaded
 * and the trace is started.
 * This function usually declared StateTypes, LinkTypes, etc.
 */
int
eztrace_convert_staticlib_init()
{
    addEntityValue("staticlib_STATE_0", "ST_Thread", "Doing function mafunc", GTG_PINK);

}
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;
}
Пример #5
0
int main (int argc, char** argv){
    setTraceType (PAJE);
    initTrace ("gtg_color", 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", "black", GTG_BLACK);
    addEntityValue ("SN_1", "ST_NodeState", "red", GTG_RED);
    addEntityValue ("SN_2", "ST_NodeState", "green", GTG_GREEN);
    addEntityValue ("SN_3", "ST_NodeState", "blue", GTG_BLUE);
    addEntityValue ("SN_4", "ST_NodeState", "white", GTG_WHITE);
    addEntityValue ("SN_5", "ST_NodeState", "teal", GTG_TEAL);
    addEntityValue ("SN_6", "ST_NodeState", "darkgrey", GTG_DARKGREY);
    addEntityValue ("SN_7", "ST_NodeState", "yellow", GTG_YELLOW);
    addEntityValue ("SN_8", "ST_NodeState", "purple", GTG_PURPLE);
    addEntityValue ("SN_9", "ST_NodeState", "lightbrown", GTG_LIGHTBROWN);
    addEntityValue ("SN_10", "ST_NodeState", "lightgrey", GTG_LIGHTGREY);
    addEntityValue ("SN_11", "ST_NodeState", "darkblue", GTG_DARKBLUE);
    addEntityValue ("SN_12", "ST_NodeState", "pink", GTG_PINK);
    addEntityValue ("SN_13", "ST_NodeState", "darkpink", GTG_DARKPINK);
    addEntityValue ("SN_14", "ST_NodeState", "seablue", GTG_SEABLUE);
    addEntityValue ("SN_15", "ST_NodeState", "kaki", GTG_KAKI);
    addEntityValue ("SN_16", "ST_NodeState", "redblood", GTG_REDBLOOD);
    addEntityValue ("SN_17", "ST_NodeState", "brown", GTG_BROWN);
    addEntityValue ("SN_18", "ST_NodeState", "grenat", GTG_GRENAT);
    addEntityValue ("SN_19", "ST_NodeState", "orange", GTG_ORANGE);
    addEntityValue ("SN_20", "ST_NodeState", "mauve", GTG_MAUVE);
    addEntityValue ("SN_21", "ST_NodeState", "lightpink", GTG_LIGHTPINK);

    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");

    int i;
    for(i=0; i<21;i++) {
	    char* nodeState = NULL;
	    asprintf(&nodeState, "SN_%d", i);
	    setState ((float)i, "ST_NodeState", "C_P0", nodeState);
    }

    endTrace ();
    return EXIT_SUCCESS;
}
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;
}
Пример #7
0
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;
}