memset
authorPritish Jetley <pjetley2@illinois.edu>
Sun, 23 Mar 2008 06:29:21 +0000 (06:29 +0000)
committerPritish Jetley <pjetley2@illinois.edu>
Sun, 23 Mar 2008 06:29:21 +0000 (06:29 +0000)
examples/charm++/topology/matmul2d/Makefile
examples/charm++/topology/matmul2d/matmul2d.C

index 4d45f1972369e98c3b73ac3be9ee56219238737a..87c2af52a91869c043d2d5d97d1dc0ffcbc5bb68 100644 (file)
@@ -21,4 +21,4 @@ clean:
        rm -f *.decl.h *.def.h conv-host *.o matmul2d matmul2d.prj charmrun *~
 
 matmul2d.o: matmul2d.C matmul2d.h matmul2d.decl.h
-       $(CHARMC) -c matmul2d.C
+       $(CHARMC) -c matmul2d.C 
index 1c5c5237e7b4e089a0d17cfb0b307eecda0f286f..cda97a329205c9a85808e731e00a50eecbd3e339 100644 (file)
@@ -74,10 +74,10 @@ Compute::Compute() {
   }
   C = new float[blockDimX*blockDimY];
 
-  for(int i = 0; i < blockDimX*blockDimY; i++){
-    A[0][i] = MAGIC_A;
-    B[0][i] = MAGIC_B;
-  }
+  memset(A[0], MAGIC_A, sizeof(float)*(blockDimX*blockDimY));
+  memset(B[0], MAGIC_B, sizeof(float)*(blockDimX*blockDimY));
+  memset(C, 0, sizeof(float)*(blockDimX*blockDimY));
+
   step = 0;  
   row = thisIndex.y;
   col = thisIndex.x;
@@ -96,13 +96,11 @@ Compute::~Compute() {
   delete [] B[0];
   delete [] B[1];
   delete [] C;
-  delete [] C;
 }
 
 void Compute::compute(){
   for(int i = 0; i < blockDimX; i++){
     for(int j = 0; j < blockDimX; j++){
-      C[i*blockDimX+j] = 0;
       for(int k = 0; k < blockDimX; k++){
         C[i*blockDimX+j] += A[whichLocal][i*blockDimX+k] + B[whichLocal][k*blockDimX+j];
       }
@@ -124,10 +122,12 @@ void Compute::resumeFromBarrier(){
   // We must put our own 
   // 1. First put A
 
-  if(num_chare_x == 0 || num_chare_y ==0)
-    CkPrintf("(%d,%d): 0 divisor\n", thisIndex.y, thisIndex.x);
+  //if(num_chare_x == 0 || num_chare_y ==0)
+  //  CkPrintf("(%d,%d): 0 divisor\n", thisIndex.y, thisIndex.x);
+#ifdef MATMUL2D_DEBUG
+  CkPrintf("(%d,%d): A nbr: (%d,%d), iteration: %d\n", thisIndex.y, thisIndex.x, row, (col-1+num_chare_x)%num_chare_x, iteration);
+#endif
   /*
-  CkPrintf("(%d,%d): A nbr: (%d,%d)\n", thisIndex.y, thisIndex.x, row, (col-1+num_chare_x)%num_chare_x);
   CkPrintf("(%d,%d): B nbr: (%d,%d)\n", thisIndex.y, thisIndex.x, (row-1+num_chare_y)%num_chare_y, col);
   */