#include "InfoStream.h"#include "ProcessorPrivate.h"#include "Debug.h"#include "BOCgroup.h"#include "ComputeMgr.decl.h"#include "ComputeMgr.h"#include "ProxyMgr.decl.h"#include "ProxyMgr.h"#include "Node.h"#include "ComputeMap.h"#include "PatchMap.h"#include "PatchMap.inl"#include "Compute.h"#include "ComputeNonbondedUtil.h"#include "ComputeNonbondedSelf.h"#include "ComputeNonbondedPair.h"#include "ComputeNonbondedCUDA.h"#include "ComputeAngles.h"#include "ComputeDihedrals.h"#include "ComputeImpropers.h"#include "ComputeThole.h"#include "ComputeAniso.h"#include "ComputeCrossterms.h"#include "ComputeBonds.h"#include "ComputeNonbondedCUDAExcl.h"#include "ComputeFullDirect.h"#include "ComputeGlobal.h"#include "ComputeGlobalMsgs.h"#include "ComputeExt.h"#include "ComputeGBISser.h"#include "ComputeLCPO.h"#include "ComputeFmmSerial.h"#include "ComputeMsmSerial.h"#include "ComputeMsmMsa.h"#include "ComputeMsm.h"#include "ComputeDPMTA.h"#include "ComputeDPME.h"#include "ComputeDPMEMsgs.h"#include "ComputePme.h"#include "OptPme.h"#include "ComputeEwald.h"#include "ComputeEField.h"#include "ComputeGridForce.h"#include "ComputeStir.h"#include "ComputeSphericalBC.h"#include "ComputeCylindricalBC.h"#include "ComputeTclBC.h"#include "ComputeRestraints.h"#include "ComputeConsForce.h"#include "ComputeConsForceMsgs.h"#include "WorkDistrib.h"#include "LdbCoordinator.h"#include "FreeEnergyEnums.h"#include "FreeEnergyAssert.h"#include "FreeEnergyGroup.h"#include "FreeEnergyVector.h"#include "FreeEnergyRestrain.h"#include "FreeEnergyRMgr.h"#include "FreeEnergyLambda.h"#include "FreeEnergyLambdMgr.h"#include "GlobalMasterTest.h"#include "GlobalMasterIMD.h"#include "GlobalMasterTcl.h"#include "GlobalMasterSMD.h"#include "GlobalMasterTMD.h"#include "GlobalMasterSymmetry.h"#include "GlobalMasterEasy.h"#include "GlobalMasterMisc.h"#include "GlobalMasterFreeEnergy.h"#include "GlobalMasterColvars.h"#include "ComputeMgr.def.h"Go to the source code of this file.
Classes | |
| class | NonbondedCUDASlaveMsg |
Defines | |
| #define | MIN_DEBUG_LEVEL 1 |
Functions | |
| void | registerUserEventsForAllComputeObjs () |
| void | build_cuda_force_table () |
|
|
Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved. Definition at line 11 of file ComputeMgr.C. |
|
|
Definition at line 363 of file ComputeNonbondedCUDA.C. References ComputeNonbondedCUDA::build_force_table(), ComputeNonbondedCUDA::build_lj_table(), and devicePe. Referenced by ComputeMgr::recvBuildCudaForceTable(). 00363 {
00364 if ( devicePe != CkMyPe() ) return;
00365 ComputeNonbondedCUDA::build_lj_table();
00366 ComputeNonbondedCUDA::build_force_table();
00367 }
|
|
|
Definition at line 599 of file ComputeMgr.C. References computeAnglesType, computeAnisoType, computeBondsType, computeConsForceType, computeConsTorqueType, computeCrosstermsType, computeCylindricalBCType, computeDihedralsType, computeEFieldType, computeEwaldType, computeExclsType, computeExtType, computeFullDirectType, computeGlobalType, computeGridForceType, computeImpropersType, computeLCPOType, computeNonbondedPairType, computeNonbondedSelfType, computePmeType, computeRestraintsType, computeSelfAnglesType, computeSelfAnisoType, computeSelfBondsType, computeSelfCrosstermsType, computeSelfDihedralsType, computeSelfExclsType, computeSelfImpropersType, computeSelfTholeType, computeSphericalBCType, computeStirType, computeTclBCType, computeTholeType, PatchMap::gridsize_a(), PatchMap::gridsize_b(), PatchMap::gridsize_c(), PatchMap::index_a(), PatchMap::index_b(), PatchMap::index_c(), NAMD_bug(), ComputeMap::numComputes(), ComputeMap::Object(), PatchMap::Object(), Lattice::offset_a(), Lattice::offset_b(), Lattice::offset_c(), ComputeMap::pid(), TRACE_COMPOBJ_IDOFFSET, ComputeMap::trans(), and ComputeMap::type(). Referenced by Node::startup(). 00600 {
00601 #ifdef TRACE_COMPUTE_OBJECTS
00602 ComputeMap *map = ComputeMap::Object();
00603 PatchMap *pmap = PatchMap::Object();
00604 char user_des[50];
00605 int p1, p2;
00606 int adim, bdim, cdim;
00607 int t1, t2;
00608 int x1, y1, z1, x2, y2, z2;
00609 int dx, dy, dz;
00610 for (int i=0; i<map->numComputes(); i++)
00611 {
00612 memset(user_des, 0, 50);
00613 switch ( map->type(i) )
00614 {
00615 case computeNonbondedSelfType:
00616 sprintf(user_des, "computeNonBondedSelfType_%d_pid_%d", i, map->pid(i,0));
00617 break;
00618 case computeLCPOType:
00619 sprintf(user_des, "computeLCPOType_%d_pid_%d", i, map->pid(i,0));
00620 break;
00621 case computeNonbondedPairType:
00622 adim = pmap->gridsize_a();
00623 bdim = pmap->gridsize_b();
00624 cdim = pmap->gridsize_c();
00625 p1 = map->pid(i, 0);
00626 t1 = map->trans(i, 0);
00627 x1 = pmap->index_a(p1) + adim * Lattice::offset_a(t1);
00628 y1 = pmap->index_b(p1) + bdim * Lattice::offset_b(t1);
00629 z1 = pmap->index_c(p1) + cdim * Lattice::offset_c(t1);
00630 p2 = map->pid(i, 1);
00631 t2 = map->trans(i, 1);
00632 x2 = pmap->index_a(p2) + adim * Lattice::offset_a(t2);
00633 y2 = pmap->index_b(p2) + bdim * Lattice::offset_b(t2);
00634 z2 = pmap->index_c(p2) + cdim * Lattice::offset_c(t2);
00635 dx = abs(x1-x2);
00636 dy = abs(y1-y2);
00637 dz = abs(z1-z2);
00638 sprintf(user_des, "computeNonBondedPairType_%d(%d,%d,%d)", i, dx,dy,dz);
00639 break;
00640 case computeExclsType:
00641 sprintf(user_des, "computeExclsType_%d", i);
00642 break;
00643 case computeBondsType:
00644 sprintf(user_des, "computeBondsType_%d", i);
00645 break;
00646 case computeAnglesType:
00647 sprintf(user_des, "computeAnglesType_%d", i);
00648 break;
00649 case computeDihedralsType:
00650 sprintf(user_des, "computeDihedralsType_%d", i);
00651 break;
00652 case computeImpropersType:
00653 sprintf(user_des, "computeImpropersType_%d", i);
00654 break;
00655 case computeTholeType:
00656 sprintf(user_des, "computeTholeType_%d", i);
00657 break;
00658 case computeAnisoType:
00659 sprintf(user_des, "computeAnisoType_%d", i);
00660 break;
00661 case computeCrosstermsType:
00662 sprintf(user_des, "computeCrosstermsType_%d", i);
00663 break;
00664 case computeSelfExclsType:
00665 sprintf(user_des, "computeSelfExclsType_%d", i);
00666 break;
00667 case computeSelfBondsType:
00668 sprintf(user_des, "computeSelfBondsType_%d", i);
00669 break;
00670 case computeSelfAnglesType:
00671 sprintf(user_des, "computeSelfAnglesType_%d", i);
00672 break;
00673 case computeSelfDihedralsType:
00674 sprintf(user_des, "computeSelfDihedralsType_%d", i);
00675 break;
00676 case computeSelfImpropersType:
00677 sprintf(user_des, "computeSelfImpropersType_%d", i);
00678 break;
00679 case computeSelfTholeType:
00680 sprintf(user_des, "computeSelfTholeType_%d", i);
00681 break;
00682 case computeSelfAnisoType:
00683 sprintf(user_des, "computeSelfAnisoType_%d", i);
00684 break;
00685 case computeSelfCrosstermsType:
00686 sprintf(user_des, "computeSelfCrosstermsType_%d", i);
00687 break;
00688 #ifdef DPMTA
00689 case computeDPMTAType:
00690 sprintf(user_des, "computeDPMTAType_%d", i);
00691 break;
00692 #endif
00693 #ifdef DPME
00694 case computeDPMEType:
00695 sprintf(user_des, "computeDPMEType_%d", i);
00696 break;
00697 #endif
00698 case computePmeType:
00699 sprintf(user_des, "computePMEType_%d", i);
00700 break;
00701 case computeEwaldType:
00702 sprintf(user_des, "computeEwaldType_%d", i);
00703 break;
00704 case computeFullDirectType:
00705 sprintf(user_des, "computeFullDirectType_%d", i);
00706 break;
00707 case computeGlobalType:
00708 sprintf(user_des, "computeGlobalType_%d", i);
00709 break;
00710 case computeStirType:
00711 sprintf(user_des, "computeStirType_%d", i);
00712 break;
00713 case computeExtType:
00714 sprintf(user_des, "computeExtType_%d", i);
00715 break;
00716 case computeEFieldType:
00717 sprintf(user_des, "computeEFieldType_%d", i);
00718 break;
00719 /* BEGIN gf */
00720 case computeGridForceType:
00721 sprintf(user_des, "computeGridForceType_%d", i);
00722 break;
00723 /* END gf */
00724 case computeSphericalBCType:
00725 sprintf(user_des, "computeSphericalBCType_%d", i);
00726 break;
00727 case computeCylindricalBCType:
00728 sprintf(user_des, "computeCylindricalBCType_%d", i);
00729 break;
00730 case computeTclBCType:
00731 sprintf(user_des, "computeTclBCType_%d", i);
00732 break;
00733 case computeRestraintsType:
00734 sprintf(user_des, "computeRestraintsType_%d", i);
00735 break;
00736 case computeConsForceType:
00737 sprintf(user_des, "computeConsForceType_%d", i);
00738 break;
00739 case computeConsTorqueType:
00740 sprintf(user_des, "computeConsTorqueType_%d", i);
00741 break;
00742 default:
00743 NAMD_bug("Unknown compute type in ComputeMgr::registerUserEventForAllComputeObjs().");
00744 break;
00745 }
00746 int user_des_len = strlen(user_des);
00747 char *user_des_cst = new char[user_des_len+1];
00748 memcpy(user_des_cst, user_des, user_des_len);
00749 user_des_cst[user_des_len] = 0;
00750 //Since the argument in traceRegisterUserEvent is supposed
00751 //to be a const string which will not be copied inside the
00752 //function when a new user event is created, user_des_cst
00753 //has to be allocated in heap.
00754 int reEvenId = traceRegisterUserEvent(user_des_cst, TRACE_COMPOBJ_IDOFFSET+i);
00755 //printf("Register user event (%s) with id (%d)\n", user_des, reEvenId);
00756 }
00757 #else
00758 return;
00759 #endif
00760 }
|
1.3.9.1