Added some additional printouts for debugging.
authorDavid Kunzman <kunzman2@illinois.edu>
Wed, 29 Mar 2006 16:52:55 +0000 (16:52 +0000)
committerDavid Kunzman <kunzman2@illinois.edu>
Wed, 29 Mar 2006 16:52:55 +0000 (16:52 +0000)
examples/charm++/cell/jacobi/jacobi.C
examples/charm++/cell/jacobi/jacobi_shared.h
examples/charm++/cell/jacobi/main.C

index 17f6dba8c7d3518b102c27ccd4ecbf9e5669484d..451c7c3f6b888a7e81ce61192cf55d226428ed00 100644 (file)
@@ -141,7 +141,7 @@ void Jacobi::doCalculation() {
 
   // Display the matrix
   #if DISPLAY_MATRIX != 0
-    printf("matrix[%d] = {\n", thisIndex);
+    printf("matrix[%d] @ %p = {\n", thisIndex, matrix);
     for (int y = 0; y < DATA_BUFFER_ROWS; y++) {
       printf("  ");
       for (int x = 0; x < DATA_BUFFER_COLS; x++) {
@@ -152,6 +152,19 @@ void Jacobi::doCalculation() {
     printf("}\n");
   #endif
 
+  #if DISPLAY_MATRIX != 0
+    printf("matrixTmp[%d] @ %p = {\n", thisIndex, matrixTmp);
+    for (int y = 0; y < DATA_BUFFER_ROWS; y++) {
+      printf("  ");
+      for (int x = 0; x < DATA_BUFFER_COLS; x++) {
+        printf(" %f", matrixTmp[GET_DATA_I(x,y)]);
+      }
+      printf("\n");
+    }
+    printf("}\n");
+  #endif
+
+
   // Swap the matrix and matrixTmp pointers
   float *tmp = matrix;
   matrix = matrixTmp;
index 9cf3deeb32308666d79c3b3734fab54440a4e798..137c5beeb1d3fd46ffb6fe600cafdddd0b0da0c9 100644 (file)
@@ -37,8 +37,8 @@
 
 #define MAX_ERROR  0.01f  // The value that all errors have to be below for the program to finish
 
-#define DISPLAY_MATRIX  1
-
+#define DISPLAY_MATRIX          1
+#define DISPLAY_MAX_ERROR_FREQ  1
 
 #define DATA_BUFFER_ROWS   (NUM_ROWS + 2)
 #define DATA_BUFFER_COLS   (NUM_COLS + 2)
index 19cb12d682bd3083607634f6d4b834f8d6fd28f4..c3eddb30551bf84f8734bfd7c2195f7101604e12 100644 (file)
@@ -10,6 +10,9 @@ Main::Main(CkArgMsg *msg) {
 
   // Print some header information for the user
   CkPrintf(" ----- 2D Jacobi for Cell -----\n");
+  CkPrintf("   Matrix : [ %d x %d ]\n", NUM_ROWS * NUM_CHARES, NUM_COLS * NUM_CHARES);
+  CkPrintf("   Chare Matrix : [ %d x %d ]\n", NUM_CHARES, NUM_CHARES);
+  CkPrintf("   Per Chare Matrix : [ %d x %d ]\n", NUM_ROWS, NUM_COLS);
 
   // Init the member variables
   iterationCount = 0;
@@ -36,8 +39,10 @@ void Main::maxErrorReductionClient(CkReductionMsg *msg) {
 
   float maxError = *((float*)(msg->getData()));
 
-  if (iterationCount == 1 || (iterationCount % 10) == 0)
-    CkPrintf("Iteration %d Finished... maxError = %f...\n", iterationCount, maxError);
+  #if DISPLAY_MAX_ERROR_FREQ > 0
+    if (iterationCount == 1 || (iterationCount % DISPLAY_MAX_ERROR_FREQ) == 0)
+      CkPrintf("Iteration %d Finished... maxError = %f...\n", iterationCount, maxError);
+  #endif
 
   if (maxError <= MAX_ERROR) {
     CkPrintf("final maxError = %f\n", maxError);