version 1.1470 | version 1.1471 |
---|
| |
/***************************************************************************** | /***************************************************************************** |
* $Source: /home/cvs/namd/cvsroot/namd2/src/SimParameters.C,v $ | * $Source: /home/cvs/namd/cvsroot/namd2/src/SimParameters.C,v $ |
* $Author: jim $ | * $Author: jim $ |
* $Date: 2016/09/29 21:30:48 $ | * $Date: 2016/10/27 20:26:29 $ |
* $Revision: 1.1470 $ | * $Revision: 1.1471 $ |
*****************************************************************************/ | *****************************************************************************/ |
| |
/** \file SimParameters.C | /** \file SimParameters.C |
| |
opts.optional("FMM", "FMMPadding", "FMM padding margin (Angstroms)", | opts.optional("FMM", "FMMPadding", "FMM padding margin (Angstroms)", |
&FMMPadding, 0); | &FMMPadding, 0); |
| |
opts.optionalB("main", "useCUDA2", "Use ComputeNonbondedCUDA2", &useCUDA2, FALSE); | opts.optionalB("main", "useCUDA2", "Use new CUDA code", &useCUDA2, TRUE); |
| |
/////////// Particle Mesh Ewald | /////////// Particle Mesh Ewald |
| |
| |
opts.optionalB("main", "PMEOffload", "Offload PME to accelerator?", | opts.optionalB("main", "PMEOffload", "Offload PME to accelerator?", |
&PMEOffload); | &PMEOffload); |
| |
opts.optionalB("PME", "usePMECUDA", "Use the PME CUDA version", &usePMECUDA, FALSE); | opts.optionalB("PME", "usePMECUDA", "Use the PME CUDA version", &usePMECUDA, CmiNumPhysicalNodes() < 5); |
opts.optionalB("PME", "useOptPME", "Use the new scalable PME optimization", &useOptPME, FALSE); | opts.optionalB("PME", "useOptPME", "Use the new scalable PME optimization", &useOptPME, FALSE); |
opts.optionalB("PME", "useManyToMany", "Use the many-to-many PME optimization", &useManyToMany, FALSE); | opts.optionalB("PME", "useManyToMany", "Use the many-to-many PME optimization", &useManyToMany, FALSE); |
if (PMEOn && !useOptPME) | if (PMEOn && !useOptPME) |
| |
PMEOffload = 0; | PMEOffload = 0; |
iout << iWARN << "Disabling PMEOffload because multiple CUDA devices per process are not supported.\n" << endi; | iout << iWARN << "Disabling PMEOffload because multiple CUDA devices per process are not supported.\n" << endi; |
} | } |
| if ( usePMECUDA && ! ( useCUDA2 || one_device_per_node ) ) { |
| usePMECUDA = 0; |
| iout << iWARN << "Disabling usePMECUDA because multiple CUDA devices per process requires useCUDA2.\n" << endi; |
| } |
#else | #else |
PMEOffload = 0; | PMEOffload = 0; |
#endif | #endif |