`class Test```

`sdagentry teststart (TestMsg *msg) {`
`atomic {`
`CPrintf("Starting forall loops\n");`
`}`
`forall[i] (1:100,1) {`
`for (j[i-1]=1;j[i-1]<=10;j[i-1]++) {`
`when entry1[i](Msg *m1),entry2[j[i-1]](Msg *m2) {`
`atomic {`
`CPrintf("processing entry1[%d] & entry2[%d]\n", i, j[i-1]);`
`sum += (m1->data * m2->data);`
`}`
`}`
`}`
`}`
`atomic {`
`CPrintf("Ended forall loops. Sum = %d\n", sum);`
`CharmExit();`
`}`
`}`