Updated malloc calls to use Charm++ aligned malloc instead of malloc_aligned.
authorDavid Kunzman <kunzman2@illinois.edu>
Thu, 21 May 2009 20:31:25 +0000 (20:31 +0000)
committerDavid Kunzman <kunzman2@illinois.edu>
Thu, 21 May 2009 20:31:25 +0000 (20:31 +0000)
examples/charm++/cell/jacobi/jacobi.C
examples/charm++/cell/jacobi/jacobi.h
examples/charm++/cell/jacobi/main.C
examples/charm++/cell/jacobi/main.h

index 9230319e98ffe2accfceecdaa47c1203f6344f83..2257e04236c2e16bdc15bc2f8b8b7319712136e6 100644 (file)
@@ -25,8 +25,8 @@ Jacobi::Jacobi() {
 
   // Allocate memory for the buffers
   // NOTE: Each buffer will have enough room for all the data (local data + ghost data from bordering chares)
-  matrix = (float*)malloc_aligned(sizeof(float) * DATA_BUFFER_SIZE, 128);
-  matrixTmp = (float*)malloc_aligned(sizeof(float) * DATA_BUFFER_SIZE, 128);
+  matrix = (float*)(CmiMallocAligned(sizeof(float) * DATA_BUFFER_SIZE, 128));
+  matrixTmp = (float*)(CmiMallocAligned(sizeof(float) * DATA_BUFFER_SIZE, 128));
 
   // Initialize the data
   memset((float*)matrix, 0, sizeof(float) * DATA_BUFFER_SIZE);
@@ -68,8 +68,8 @@ Jacobi::Jacobi(CkMigrateMessage *msg) {
 Jacobi::~Jacobi() {
 
   // Clean up the matrix data
-  if (matrix != NULL) { free_aligned((void*)matrix); matrix = NULL; }
-  if (matrixTmp != NULL) { free_aligned((void*)matrixTmp); matrixTmp = NULL; }
+  if (matrix != NULL) { CmiFreeAligned((void*)matrix); matrix = NULL; }
+  if (matrixTmp != NULL) { CmiFreeAligned((void*)matrixTmp); matrixTmp = NULL; }
 
   // Clean up any saved messages
   #if USE_MESSAGES != 0
index 3f26b6b640c40cf6ff097d89ee5c2745b1cd1e6e..71f252d5d1eb0a4689cb7dbf39e4df52f9cd27c6 100644 (file)
@@ -5,10 +5,6 @@
 #include "jacobi_config.h"
 
 
-// DMK - DEBUG
-#include "main.h"  // Include temp for malloc_aligned and malloc_free calls
-
-
 #define SWAP(a, b, t) { register t __tmp__ = a; a = b; b = __tmp__; }
 
 
index ab374361351c26736ea5d824f2aeee3627982fe2..c144e5261a7dfe0ba1852389611208ab5aa378e1 100644 (file)
@@ -94,8 +94,10 @@ void Main::maxErrorReductionClient(CkReductionMsg *msg) {
   float maxError = *((float*)(msg->getData()));
 
   #if DISPLAY_MAX_ERROR_FREQ > 0
-    if (iterationCount == 0 || (iterationCount % DISPLAY_MAX_ERROR_FREQ) == 0)
+    if (iterationCount == 0 || (iterationCount % DISPLAY_MAX_ERROR_FREQ) == 0) {
       CkPrintf("Iteration %d Finished... maxError = %f...\n", iterationCount, maxError);
+      fflush(NULL);
+    }
   #endif
 
   if (maxError <= MAX_ERROR) {
index b93b0fc30885937df0a77e00d269e92f7e993d5a..1dd44c4cf5093ea6989c64f228c732a71e573c6d 100644 (file)
 /* readonly */ extern CProxy_Jacobi jacobiProxy;
 
 
-// DMK - DEBUG
-#if (!(defined(CMK_CELL))) || (CMK_CELL == 0)
-  void* malloc_aligned(int size, int align) { return malloc(size); }
-  void free_aligned(void* p) { free(p); }
-#endif
-
-
 class Main : public CBase_Main {
 
   ////////////////////////////////////////////////////////////////////////////////////////////////