#include <Compute.h>
Inheritance diagram for Compute:

Public Member Functions | |
| Compute (ComputeID) | |
| int | type () |
| virtual | ~Compute () |
| void | setNumPatches (int n) |
| int | getNumPatches () |
| virtual void | initialize () |
| virtual void | atomUpdate () |
| virtual void | patchReady (PatchID, int doneMigration, int seq) |
| virtual int | noWork () |
| virtual void | doWork () |
| int | sequence (void) |
| virtual int | priority (void) |
Public Attributes | |
| const ComputeID | cid |
| LocalWorkMsg *const | localWorkMsg |
Protected Member Functions | |
| void | enqueueWork () |
Protected Attributes | |
| int | basePriority |
|
|
Definition at line 32 of file Compute.C. References ComputeMap::Object(), PRIORITY_SIZE, and ComputeMap::type(). 00032 : basePriority(0), cid(c), 00033 localWorkMsg(new (PRIORITY_SIZE) LocalWorkMsg) { 00034 doAtomUpdate = false; 00035 computeType = ComputeMap::Object()->type(c); 00036 }
|
|
|
Definition at line 38 of file Compute.C. 00038 {
00039 delete localWorkMsg;
00040 }
|
|
|
|
|
Definition at line 42 of file Compute.C. References DebugM, WorkDistrib::messageEnqueueWork(), and noWork(). Referenced by WorkDistrib::messageEnqueueWork(), and patchReady(). 00042 {
00043 if (!this) { DebugM(4,"This Compute is NULL!!!\n"); }
00044 if ( ! noWork() )
00045 {
00046 WorkDistrib::messageEnqueueWork(this); // should be in ComputeMgr?
00047 }
00048 }
|
|
|
Definition at line 50 of file Compute.h. 00050 { return (numPatches); };
|
|
|
|
Reimplemented in ComputeNonbondedPair. Definition at line 76 of file Compute.C. Referenced by enqueueWork(). 00076 {
00077 return 0;
00078 }
|
|
||||||||||||||||
|
Definition at line 55 of file Compute.C. References atomUpdate(), DebugM, and enqueueWork(). Referenced by Patch::positionsReady(). 00055 {
00056 if (doneMigration) { // If any patch has done migration - we must remap
00057 doAtomUpdate = true;
00058 }
00059 sequenceNumber = seq;
00060
00061 if (numPatches <= 0) {
00062 DebugM(5,"Compute::patchReady("<<patchID<<")-call not valid!\n");
00063 } else {
00064 if (! --patchReadyCounter) {
00065 patchReadyCounter = numPatches;
00066 if (doAtomUpdate) {
00067 atomUpdate();
00068 doAtomUpdate = false;
00069 }
00070 enqueueWork();
00071 }
00072 }
00073 }
|
|
|
Definition at line 61 of file Compute.h. Referenced by WorkDistrib::messageEnqueueWork(). 00061 { return basePriority; }
|
|
|
Definition at line 60 of file Compute.h. Referenced by WorkDistrib::messageEnqueueWork(), ComputePme::sendData(), and ComputePme::sendPencils(). 00060 { return sequenceNumber; }
|
|
|
Definition at line 49 of file Compute.h. Referenced by ComputeHomePatch::ComputeHomePatch(), ComputePatch::ComputePatch(), ComputePatchPair::ComputePatchPair(), ComputeSelfTuples< CrosstermElem, Crossterm, CrosstermValue >::initialize(), ComputeHomeTuples< BondElem, Bond, BondValue >::initialize(), and ComputeHomePatches::initialize(). 00049 { patchReadyCounter = numPatches = n; }
|
|
|
Definition at line 45 of file Compute.h. Referenced by WorkDistrib::messageEnqueueWork(). 00045 { return computeType; };
|
|
|
|
|
|
Definition at line 41 of file Compute.h. Referenced by ComputeMap::checkMap(). |
|
1.3.9.1