Remove memory leak in Scotch related lbs.
authorHarshitha <gplkrsh2@illinois.edu>
Mon, 27 Feb 2012 17:53:31 +0000 (11:53 -0600)
committerHarshitha <gplkrsh2@illinois.edu>
Mon, 27 Feb 2012 17:53:31 +0000 (11:53 -0600)
src/ck-ldb/ScotchLB.C
src/ck-ldb/ScotchRefineLB.C
src/ck-ldb/ScotchTopoLB.C

index 0ba1d52a2bf4144b41dc82e00cc5101818028b40..a0d1d736ec25f3f6760ddac718d4d958fc64dc7d 100644 (file)
@@ -119,7 +119,6 @@ void ScotchLB::work(LDStats *stats) {
   CkAssert(edgeNum == edgenbr);
 
   SCOTCH_Graph graph;          // Graph to partition
-  SCOTCH_Arch  arch;            // Target architecture
   SCOTCH_Strat strat;          // Strategy to achieve partitioning
 
   /* Initialize data structures */
@@ -136,7 +135,6 @@ void ScotchLB::work(LDStats *stats) {
 
 
   SCOTCH_graphExit (&graph);
-  SCOTCH_archExit  (&arch);
   SCOTCH_stratExit (&strat);
 
   free(verttab);
@@ -152,6 +150,7 @@ void ScotchLB::work(LDStats *stats) {
   free(pemap);
   /** ============================== CLEANUP ================================ */
   ogr->convertDecisions(stats);
+  delete ogr;
 }
 
 #include "ScotchLB.def.h"
index 1ff43941878b8fce7573498d003c0549e3df21d3..e762bdf8d2ae5702445aa71991bc8842e31d7e9a 100644 (file)
@@ -119,7 +119,6 @@ void ScotchRefineLB::work(LDStats *stats) {
   CkAssert(edgeNum == edgenbr);
 
   SCOTCH_Graph graph;          // Graph to partition
-  SCOTCH_Arch  arch;            // Target architecture
   SCOTCH_Strat strat;          // Strategy to achieve partitioning
 
   /* Initialize data structures */
@@ -137,9 +136,6 @@ void ScotchRefineLB::work(LDStats *stats) {
       SCOTCH_stratGraphMapBuild (&strat, SCOTCH_STRATBALANCE | SCOTCH_STRATREMAP, parr->procs.size (), 0.01);
     }
 
-  SCOTCH_archInit (&arch);
-  SCOTCH_archCmplt (&arch, parr->procs.size ());
-
   SCOTCH_Num *pemap = (SCOTCH_Num *)malloc(sizeof(SCOTCH_Num) * vertnbr);
 
   // Takes as input the graph, arch graph, strategy, migration cost in
@@ -152,7 +148,6 @@ void ScotchRefineLB::work(LDStats *stats) {
   }
   
   SCOTCH_graphExit (&graph);
-  SCOTCH_archExit  (&arch);
   SCOTCH_stratExit (&strat);
 
   free(verttab);
@@ -169,6 +164,7 @@ void ScotchRefineLB::work(LDStats *stats) {
   free(oldpemap);
   /** ============================== CLEANUP ================================ */
   ogr->convertDecisions(stats);
+  delete ogr;
 }
 
 #include "ScotchRefineLB.def.h"
index ff76e856ecfd824fdf4c7937b1792b413ef27f36..c8cb62cc0d38212b688af3d6b3bcd3ca1c93bcaa 100644 (file)
@@ -155,6 +155,7 @@ void ScotchTopoLB::work(LDStats *stats) {
   free(pemap);
   /** ============================== CLEANUP ================================ */
   ogr->convertDecisions(stats);
+  delete ogr;
 }
 
 #include "ScotchTopoLB.def.h"