elements.h

Go to the documentation of this file.
00001 
00007 #ifndef ELEMENTS_DEFS_H
00008 #define ELEMENTS_DEFS_H
00009 
00010 #include <lbdb.h>
00011 #include "Set.h"
00012 
00013 class InfoRecord {
00014 public:
00015    double load;
00016    int Id; // should replace other Ids.
00017 };
00018 
00019 
00020 class computeInfo : public InfoRecord {
00021 public: 
00022    /*   int computeId; replaced by Id */
00023    int patch1, patch2;
00024    int processor; // caller to ReBalancer MAY leave this field -1, 
00025    int oldProcessor; // stores the current assignment of the compute object.
00026    LDObjHandle handle;
00027 };
00028 
00029 class patchInfo : public InfoRecord {
00030 public:
00031    int processor;
00032    int numAtoms;
00033    IRSet proxiesOn;  // caller to ReBalancer should fill in the forced proxies
00034 };
00035 
00036 class processorInfo: public InfoRecord {
00037 public:
00038    // int processorNum; replaced by inherited "Id".
00039    double backgroundLoad; // background work pre-assigned to the processor.
00040    double idleTime;       // idle time
00041    double computeLoad;    //load due to computes. The total load is computed
00042                           // by adding these two.                    
00043    // Added 10/22/01:  indicate if this processor will migrate its objs.   
00044    bool  available;
00045    LargeIRSet patchSet;   // caller to ReBalancer should leave this field NULL.
00046    LargeIRSet proxies;    // caller to ReBalancer should fill in the forced proxies
00047    LargeIRSet computeSet; // caller to ReBalancer should leave this field NULL.
00048    
00049    // Added 4-29-98: Array to keep track of number of computes that are using
00050    // each proxy on a processor
00051    // unsigned char *proxyUsage;
00052 public:
00053    processorInfo(): backgroundLoad(0.), idleTime(0.), computeLoad(0.), available(true) {}
00054 };
00055 
00056 #endif

Generated on Sat Sep 23 01:17:13 2017 for NAMD by  doxygen 1.4.7