Commit 9fffe6da authored by Yutong Zhao's avatar Yutong Zhao
Browse files

fixed sigmaEpsilon padding errors. Gets rid of computeNonbonded cuda-memcheck errors

parent 01235988
......@@ -1343,11 +1343,11 @@ void CudaCalcNonbondedForceKernel::initialize(const System& system, const Nonbon
// Initialize nonbonded interactions.
int numParticles = force.getNumParticles();
sigmaEpsilon = CudaArray::create<float2>(cu, numParticles, "sigmaEpsilon");
sigmaEpsilon = CudaArray::create<float2>(cu, cu.getPaddedNumAtoms(), "sigmaEpsilon");
CudaArray& posq = cu.getPosq();
float4* posqf = (float4*) cu.getPinnedBuffer();
double4* posqd = (double4*) cu.getPinnedBuffer();
vector<float2> sigmaEpsilonVector(numParticles);
vector<float2> sigmaEpsilonVector(cu.getPaddedNumAtoms());
vector<vector<int> > exclusionList(numParticles);
double sumSquaredCharges = 0.0;
hasCoulomb = false;
......@@ -1654,7 +1654,7 @@ void CudaCalcNonbondedForceKernel::copyParametersToContext(ContextImpl& context,
posq.download(cu.getPinnedBuffer());
float4* posqf = (float4*) cu.getPinnedBuffer();
double4* posqd = (double4*) cu.getPinnedBuffer();
vector<float2> sigmaEpsilonVector(force.getNumParticles());
vector<float2> sigmaEpsilonVector(cu.getPaddedNumAtoms());
double sumSquaredCharges = 0.0;
const vector<int>& order = cu.getAtomIndex();
for (int i = 0; i < force.getNumParticles(); i++) {
......
......@@ -1229,9 +1229,9 @@ void OpenCLCalcNonbondedForceKernel::initialize(const System& system, const Nonb
// Initialize nonbonded interactions.
int numParticles = force.getNumParticles();
sigmaEpsilon = new OpenCLArray<mm_float2>(cl, numParticles, "sigmaEpsilon");
sigmaEpsilon = new OpenCLArray<mm_float2>(cl, cl.getPaddedNumAtoms(), "sigmaEpsilon");
OpenCLArray<mm_float4>& posq = cl.getPosq();
vector<mm_float2> sigmaEpsilonVector(numParticles);
vector<mm_float2> sigmaEpsilonVector(cl.getPaddedNumAtoms());
vector<vector<int> > exclusionList(numParticles);
double sumSquaredCharges = 0.0;
hasCoulomb = false;
......@@ -1579,7 +1579,7 @@ void OpenCLCalcNonbondedForceKernel::copyParametersToContext(ContextImpl& contex
OpenCLArray<mm_float4>& posq = cl.getPosq();
posq.download();
vector<mm_float2> sigmaEpsilonVector(force.getNumParticles());
vector<mm_float2> sigmaEpsilonVector(cl.getPaddedNumAtoms());
double sumSquaredCharges = 0.0;
OpenCLArray<cl_int>& order = cl.getAtomIndex();
for (int i = 0; i < force.getNumParticles(); i++) {
......
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