Commit 09d22418 authored by Peter Eastman's avatar Peter Eastman
Browse files

Disable CPU PME when using dispersion PME

parent 5ef1d4eb
...@@ -680,7 +680,6 @@ private: ...@@ -680,7 +680,6 @@ private:
CudaArray* pmeEnergyBuffer; CudaArray* pmeEnergyBuffer;
CudaSort* sort; CudaSort* sort;
Kernel cpuPme; Kernel cpuPme;
Kernel cpuDispersionPme;
PmeIO* pmeio; PmeIO* pmeio;
CUstream pmeStream; CUstream pmeStream;
CUevent pmeSyncEvent; CUevent pmeSyncEvent;
......
...@@ -1804,7 +1804,7 @@ void CudaCalcNonbondedForceKernel::initialize(const System& system, const Nonbon ...@@ -1804,7 +1804,7 @@ void CudaCalcNonbondedForceKernel::initialize(const System& system, const Nonbon
if (cu.getPlatformData().deterministicForces) if (cu.getPlatformData().deterministicForces)
pmeDefines["USE_DETERMINISTIC_FORCES"] = "1"; pmeDefines["USE_DETERMINISTIC_FORCES"] = "1";
CUmodule module = cu.createModule(CudaKernelSources::vectorOps+CudaKernelSources::pme, pmeDefines); CUmodule module = cu.createModule(CudaKernelSources::vectorOps+CudaKernelSources::pme, pmeDefines);
if (cu.getPlatformData().useCpuPme) { if (cu.getPlatformData().useCpuPme && !doLJPME) {
// Create the CPU PME kernel. // Create the CPU PME kernel.
try { try {
...@@ -1814,13 +1814,6 @@ void CudaCalcNonbondedForceKernel::initialize(const System& system, const Nonbon ...@@ -1814,13 +1814,6 @@ void CudaCalcNonbondedForceKernel::initialize(const System& system, const Nonbon
pmeio = new PmeIO(cu, addForcesKernel); pmeio = new PmeIO(cu, addForcesKernel);
cu.addPreComputation(new PmePreComputation(cu, cpuPme, *pmeio)); cu.addPreComputation(new PmePreComputation(cu, cpuPme, *pmeio));
cu.addPostComputation(new PmePostComputation(cpuPme, *pmeio)); cu.addPostComputation(new PmePostComputation(cpuPme, *pmeio));
if (doLJPME) {
cpuDispersionPme = getPlatform().createKernel(CalcDispersionPmeReciprocalForceKernel::Name(), *cu.getPlatformData().context);
cpuDispersionPme.getAs<CalcDispersionPmeReciprocalForceKernel>().initialize(dispersionGridSizeX, dispersionGridSizeY,
dispersionGridSizeZ, numParticles, dispersionAlpha);
cu.addPreComputation(new PmePreComputation(cu, cpuDispersionPme, *pmeio));
cu.addPostComputation(new PmePostComputation(cpuDispersionPme, *pmeio));
}
} }
catch (OpenMMException& ex) { catch (OpenMMException& ex) {
// The CPU PME plugin isn't available. // The CPU PME plugin isn't available.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment