accidental update
authorbdemsky <bdemsky>
Tue, 3 Aug 2010 08:22:38 +0000 (08:22 +0000)
committerbdemsky <bdemsky>
Tue, 3 Aug 2010 08:22:38 +0000 (08:22 +0000)
Robust/src/Benchmarks/oooJava/sor/JGFSORBenchSizeD.java
Robust/src/Benchmarks/oooJava/sor/SORRunner.java
Robust/src/Runtime/garbage.c
Robust/src/Runtime/mlp_runtime.c
Robust/src/Runtime/mlp_runtime.h

index 80d7605d1f075a5bf630232e81beade37fc14520..bd1ce691e0005bd3b6b599785c7191e9ae20a81f 100644 (file)
@@ -23,18 +23,13 @@ public class JGFSORBenchSizeD{
   public static void main(String argv[]){
 
     int nthreads;
-    nthreads = 1;
-    int size = 3;
     if(argv.length != 0 ) {
-      size = Integer.parseInt(argv[0]);
-    } 
-//    if(argv.length != 0 ) {
-//      nthreads = Integer.parseInt(argv[0]);
-//    } else {
-//      System.printString("The no of threads has not been specified, defaulting to 1\n");
-//      System.printString("  \n");
-//      nthreads = 1;
-//    }
+      nthreads = Integer.parseInt(argv[0]);
+    } else {
+      System.printString("The no of threads has not been specified, defaulting to 1\n");
+      System.printString("  \n");
+      nthreads = 1;
+    }
 
     JGFInstrumentor instr = new JGFInstrumentor();
     //JGFInstrumentor.printHeader(2,0,nthreads);
@@ -42,7 +37,7 @@ public class JGFSORBenchSizeD{
     JGFSORBench sor;
     sor = new JGFSORBench(nthreads); 
 
-   
+    int size = 3;
     JGFInstrumentor.addTimer("Section2:SOR:Kernel", "Iterations",size, instr.timers);
 
     sor.JGFsetsize(size); 
index 6891e3c708e52cc0f733195234ee41759ec7d22c..a66568d92af93baa20fce3fc3ae70a7b03805cfd 100644 (file)
@@ -19,7 +19,7 @@
  *                                                                         *
  **************************************************************************/
 
-class SORRunner  {
+class SORRunner extends Thread {
 
   int id, num_iterations;
   double G[][],omega;
@@ -147,6 +147,5 @@ class SORRunner  {
       }
       //barrier
     }//end of for
-
   } //end of run()
 }
index db7363a127e52cd22f2cc90270d35ed9728fde6b..9e7b62ee19ff8d08656dca91117237e71ffedc45 100644 (file)
@@ -35,7 +35,7 @@ extern struct QI * tailqi;
 
 #define NUMPTRS 100
 
-#define INITIALHEAPSIZE 8*1024*1024*1024L
+#define INITIALHEAPSIZE 256*1024*1024L
 #define GCPOINT(x) ((INTPTR)((x)*0.99))
 /* This define takes in how full the heap is initially and returns a new heap size to use */
 #define HEAPSIZE(x,y) ((INTPTR)(x+y))*2
index e106cc60ea093f2b155866cf12db6b6b9f33dee9..a9cdb3e0d377a812d20a0297efe9d447b8802d6b 100644 (file)
@@ -20,33 +20,9 @@ void mlpInitOncePerThread() {
 */
 __thread SESEcommon_p seseCaller;
 
-__thread void * baseptr=NULL;
-
-__thread int spaceleft=0;
-
-#define MBLOCK 65536
-#define MLOW 1000
-
-void * MLPMALLOC(int size) {
-  //  printf("%d\n",size);
-  if (spaceleft<MLOW) {
-    baseptr=malloc(MBLOCK);
-    spaceleft=MBLOCK;
-  }
-  if (size>spaceleft) {
-    return malloc(size);
-  } else {
-    //rount size up
-    size=(size+7)&~7;
-    char *charbase=(char *)baseptr;
-    baseptr=(void *)(charbase+size);
-    spaceleft-=size;
-    return charbase;
-  }
-}
 
 void* mlpAllocSESErecord( int size ) {
-  void* newrec = MLPMALLOC( size );  
+  void* newrec = RUNMALLOC( size );  
   if( newrec == 0 ) {
     printf( "mlpAllocSESErecord did not obtain memory!\n" );
     exit( -1 );
@@ -56,12 +32,12 @@ void* mlpAllocSESErecord( int size ) {
 
 
 void mlpFreeSESErecord( void* seseRecord ) {
-  //  MLPFREE( seseRecord );
+  RUNFREE( seseRecord );
 }
 
 MemoryQueue** mlpCreateMemoryQueueArray(int numMemoryQueue){
   int i;
-  MemoryQueue** newMemoryQueue=(MemoryQueue**)MLPMALLOC( sizeof( MemoryQueue* ) * numMemoryQueue );
+  MemoryQueue** newMemoryQueue=(MemoryQueue**)RUNMALLOC( sizeof( MemoryQueue* ) * numMemoryQueue );
   for(i=0; i<numMemoryQueue; i++){
     newMemoryQueue[i]=createMemoryQueue();
   }
@@ -69,24 +45,24 @@ MemoryQueue** mlpCreateMemoryQueueArray(int numMemoryQueue){
 }
 
 REntry* mlpCreateREntryArray(){
-  REntry* newREntryArray=(REntry*)MLPMALLOC(sizeof(REntry)*NUMRENTRY);
+  REntry* newREntryArray=(REntry*)RUNMALLOC(sizeof(REntry)*NUMRENTRY);
   return newREntryArray;
 }
 
 REntry* mlpCreateFineREntry(int type, void* seseToIssue, void* dynID){
-  struct ___Object___ * obj=(struct ___Object___*)*((unsigned INTPTR *)dynID);
-  REntry* newREntry=(REntry*)MLPMALLOC(sizeof(REntry));
+  REntry* newREntry=(REntry*)RUNMALLOC(sizeof(REntry));
   newREntry->type=type;
   newREntry->seseRec=seseToIssue;
   newREntry->pointer=dynID;
-  if (obj!=NULL)
+  if((*newREntry->pointer)!=0){// make sure it is not unresolved address.
+    struct ___Object___ * obj=(struct ___Object___*)((unsigned INTPTR)*newREntry->pointer);
     newREntry->oid=obj->oid;
-  
+  }
   return newREntry;
 }
 
 REntry* mlpCreateREntry(int type, void* seseToIssue){
-  REntry* newREntry=(REntry*)MLPMALLOC(sizeof(REntry));
+  REntry* newREntry=(REntry*)RUNMALLOC(sizeof(REntry));
   newREntry->type=type;
   newREntry->seseRec=seseToIssue;
   return newREntry;
@@ -186,10 +162,10 @@ int generateKey(unsigned int data){
 
 Hashtable* createHashtable(){
   int i=0;
-  Hashtable* newTable=(Hashtable*)MLPMALLOC(sizeof(Hashtable));
+  Hashtable* newTable=(Hashtable*)RUNMALLOC(sizeof(Hashtable));
   newTable->item.type=HASHTABLE;
   for(i=0;i<NUMBINS;i++){
-    newTable->array[i]=(BinElement*)MLPMALLOC(sizeof(BinElement));
+    newTable->array[i]=(BinElement*)RUNMALLOC(sizeof(BinElement));
     newTable->array[i]->head=NULL;
     newTable->array[i]->tail=NULL;
   }
@@ -198,34 +174,34 @@ Hashtable* createHashtable(){
 }
 
 WriteBinItem* createWriteBinItem(){
-  WriteBinItem* binitem=(WriteBinItem*)MLPMALLOC(sizeof(WriteBinItem));
+  WriteBinItem* binitem=(WriteBinItem*)RUNMALLOC(sizeof(WriteBinItem));
   binitem->item.type=WRITEBIN;
   return binitem;
 }
 
 ReadBinItem* createReadBinItem(){
-  ReadBinItem* binitem=(ReadBinItem*)MLPMALLOC(sizeof(ReadBinItem));
+  ReadBinItem* binitem=(ReadBinItem*)RUNMALLOC(sizeof(ReadBinItem));
   binitem->index=0;
   binitem->item.type=READBIN;
   return binitem;
 }
 
 Vector* createVector(){
-  Vector* vector=(Vector*)MLPMALLOC(sizeof(Vector));
+  Vector* vector=(Vector*)RUNMALLOC(sizeof(Vector));
   vector->index=0;
   vector->item.type=VECTOR;
   return vector;
 }
 
 SCC* createSCC(){
-  SCC* scc=(SCC*)MLPMALLOC(sizeof(SCC));
+  SCC* scc=(SCC*)RUNMALLOC(sizeof(SCC));
   scc->item.type=SINGLEITEM;
   return scc;
 }
 
 MemoryQueue* createMemoryQueue(){
-  MemoryQueue* queue = (MemoryQueue*)MLPMALLOC(sizeof(MemoryQueue));
-  MemoryQueueItem* dummy=(MemoryQueueItem*)MLPMALLOC(sizeof(MemoryQueueItem));
+  MemoryQueue* queue = (MemoryQueue*)RUNMALLOC(sizeof(MemoryQueue));
+  MemoryQueueItem* dummy=(MemoryQueueItem*)RUNMALLOC(sizeof(MemoryQueueItem));
   dummy->type=3; // dummy type
   dummy->total=0;
   dummy->status=READY;
index 0cf680e37420e4ca12ce48aebbf391d9cbe19b1d..148f8594cae05960e5c48015d054917ad5c83e4e 100644 (file)
@@ -15,8 +15,8 @@
 #define TRUE 1
 #endif
 
-#define NUMBINS 512
-#define NUMREAD 16
+#define NUMBINS 64
+#define NUMREAD 64
 #define NUMITEMS 64
 #define NUMRENTRY 256
 
 #endif
 
 typedef struct REntry_t{
+  int type; // fine read:0, fine write:1, parent read:2, parent write:3 coarse: 4, parent coarse:5, scc: 6
   struct Hashtable_t* hashtable;
   struct BinItem_t* binitem;
   struct Vector_t* vector;
   struct SCC_t* scc;
   struct MemoryQueue_t* queue;
+  psemaphore parentStallSem;
   void* seseRec;
   INTPTR* pointer;
-  psemaphore parentStallSem;
-  int type; // fine read:0, fine write:1, parent read:2, parent write:3 coarse: 4, parent coarse:5, scc: 6
   int oid;
   int isBufMode;
 } REntry;