Commit 0307a0db authored by Yutong Zhao's avatar Yutong Zhao
Browse files

Context constructor now uses const System&, guaranteeing that System won't be modified.

parent 19757775
...@@ -38,7 +38,7 @@ using std::pair; ...@@ -38,7 +38,7 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
PeriodicTorsionForceImpl::PeriodicTorsionForceImpl(PeriodicTorsionForce& owner) : owner(owner) { PeriodicTorsionForceImpl::PeriodicTorsionForceImpl(const PeriodicTorsionForce& owner) : owner(owner) {
} }
PeriodicTorsionForceImpl::~PeriodicTorsionForceImpl() { PeriodicTorsionForceImpl::~PeriodicTorsionForceImpl() {
......
...@@ -73,7 +73,7 @@ void RBTorsionForce::setTorsionParameters(int index, int particle1, int particle ...@@ -73,7 +73,7 @@ void RBTorsionForce::setTorsionParameters(int index, int particle1, int particle
rbTorsions[index].c[5] = c5; rbTorsions[index].c[5] = c5;
} }
ForceImpl* RBTorsionForce::createImpl() { ForceImpl* RBTorsionForce::createImpl() const {
return new RBTorsionForceImpl(*this); return new RBTorsionForceImpl(*this);
} }
......
...@@ -38,7 +38,7 @@ using std::pair; ...@@ -38,7 +38,7 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
RBTorsionForceImpl::RBTorsionForceImpl(RBTorsionForce& owner) : owner(owner) { RBTorsionForceImpl::RBTorsionForceImpl(const RBTorsionForce& owner) : owner(owner) {
} }
RBTorsionForceImpl::~RBTorsionForceImpl() { RBTorsionForceImpl::~RBTorsionForceImpl() {
......
...@@ -230,7 +230,7 @@ private: ...@@ -230,7 +230,7 @@ private:
*/ */
class CudaCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel { class CudaCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel {
public: public:
CudaCalcHarmonicBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcHarmonicBondForceKernel(name, platform), CudaCalcHarmonicBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcHarmonicBondForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params(NULL) { hasInitializedKernel(false), cu(cu), system(system), params(NULL) {
} }
~CudaCalcHarmonicBondForceKernel(); ~CudaCalcHarmonicBondForceKernel();
...@@ -261,7 +261,7 @@ private: ...@@ -261,7 +261,7 @@ private:
int numBonds; int numBonds;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -270,7 +270,7 @@ private: ...@@ -270,7 +270,7 @@ private:
*/ */
class CudaCalcCustomBondForceKernel : public CalcCustomBondForceKernel { class CudaCalcCustomBondForceKernel : public CalcCustomBondForceKernel {
public: public:
CudaCalcCustomBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomBondForceKernel(name, platform), CudaCalcCustomBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomBondForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) {
} }
~CudaCalcCustomBondForceKernel(); ~CudaCalcCustomBondForceKernel();
...@@ -301,7 +301,7 @@ private: ...@@ -301,7 +301,7 @@ private:
int numBonds; int numBonds;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaParameterSet* params; CudaParameterSet* params;
CudaArray* globals; CudaArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -313,7 +313,7 @@ private: ...@@ -313,7 +313,7 @@ private:
*/ */
class CudaCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel { class CudaCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel {
public: public:
CudaCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcHarmonicAngleForceKernel(name, platform), CudaCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcHarmonicAngleForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params(NULL) { hasInitializedKernel(false), cu(cu), system(system), params(NULL) {
} }
~CudaCalcHarmonicAngleForceKernel(); ~CudaCalcHarmonicAngleForceKernel();
...@@ -344,7 +344,7 @@ private: ...@@ -344,7 +344,7 @@ private:
int numAngles; int numAngles;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -353,7 +353,7 @@ private: ...@@ -353,7 +353,7 @@ private:
*/ */
class CudaCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel { class CudaCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel {
public: public:
CudaCalcCustomAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomAngleForceKernel(name, platform), CudaCalcCustomAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomAngleForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) {
} }
~CudaCalcCustomAngleForceKernel(); ~CudaCalcCustomAngleForceKernel();
...@@ -384,7 +384,7 @@ private: ...@@ -384,7 +384,7 @@ private:
int numAngles; int numAngles;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaParameterSet* params; CudaParameterSet* params;
CudaArray* globals; CudaArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -396,7 +396,7 @@ private: ...@@ -396,7 +396,7 @@ private:
*/ */
class CudaCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel { class CudaCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel {
public: public:
CudaCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcPeriodicTorsionForceKernel(name, platform), CudaCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcPeriodicTorsionForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params(NULL) { hasInitializedKernel(false), cu(cu), system(system), params(NULL) {
} }
~CudaCalcPeriodicTorsionForceKernel(); ~CudaCalcPeriodicTorsionForceKernel();
...@@ -427,7 +427,7 @@ private: ...@@ -427,7 +427,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -436,7 +436,7 @@ private: ...@@ -436,7 +436,7 @@ private:
*/ */
class CudaCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel { class CudaCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel {
public: public:
CudaCalcRBTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcRBTorsionForceKernel(name, platform), CudaCalcRBTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcRBTorsionForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params1(NULL), params2(NULL) { hasInitializedKernel(false), cu(cu), system(system), params1(NULL), params2(NULL) {
} }
~CudaCalcRBTorsionForceKernel(); ~CudaCalcRBTorsionForceKernel();
...@@ -467,7 +467,7 @@ private: ...@@ -467,7 +467,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params1; CudaArray* params1;
CudaArray* params2; CudaArray* params2;
}; };
...@@ -477,7 +477,7 @@ private: ...@@ -477,7 +477,7 @@ private:
*/ */
class CudaCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel { class CudaCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel {
public: public:
CudaCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCMAPTorsionForceKernel(name, platform), CudaCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCMAPTorsionForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), coefficients(NULL), mapPositions(NULL), torsionMaps(NULL) { hasInitializedKernel(false), cu(cu), system(system), coefficients(NULL), mapPositions(NULL), torsionMaps(NULL) {
} }
~CudaCalcCMAPTorsionForceKernel(); ~CudaCalcCMAPTorsionForceKernel();
...@@ -501,7 +501,7 @@ private: ...@@ -501,7 +501,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* coefficients; CudaArray* coefficients;
CudaArray* mapPositions; CudaArray* mapPositions;
CudaArray* torsionMaps; CudaArray* torsionMaps;
...@@ -512,7 +512,7 @@ private: ...@@ -512,7 +512,7 @@ private:
*/ */
class CudaCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel { class CudaCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel {
public: public:
CudaCalcCustomTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomTorsionForceKernel(name, platform), CudaCalcCustomTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomTorsionForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) {
} }
~CudaCalcCustomTorsionForceKernel(); ~CudaCalcCustomTorsionForceKernel();
...@@ -543,7 +543,7 @@ private: ...@@ -543,7 +543,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaParameterSet* params; CudaParameterSet* params;
CudaArray* globals; CudaArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -555,7 +555,7 @@ private: ...@@ -555,7 +555,7 @@ private:
*/ */
class CudaCalcNonbondedForceKernel : public CalcNonbondedForceKernel { class CudaCalcNonbondedForceKernel : public CalcNonbondedForceKernel {
public: public:
CudaCalcNonbondedForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcNonbondedForceKernel(name, platform), CudaCalcNonbondedForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcNonbondedForceKernel(name, platform),
cu(cu), hasInitializedFFT(false), sigmaEpsilon(NULL), exceptionParams(NULL), cosSinSums(NULL), directPmeGrid(NULL), reciprocalPmeGrid(NULL), cu(cu), hasInitializedFFT(false), sigmaEpsilon(NULL), exceptionParams(NULL), cosSinSums(NULL), directPmeGrid(NULL), reciprocalPmeGrid(NULL),
pmeBsplineModuliX(NULL), pmeBsplineModuliY(NULL), pmeBsplineModuliZ(NULL), pmeAtomRange(NULL), pmeAtomGridIndex(NULL), sort(NULL) { pmeBsplineModuliX(NULL), pmeBsplineModuliY(NULL), pmeBsplineModuliZ(NULL), pmeAtomRange(NULL), pmeAtomGridIndex(NULL), sort(NULL) {
} }
...@@ -632,7 +632,7 @@ private: ...@@ -632,7 +632,7 @@ private:
*/ */
class CudaCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel { class CudaCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel {
public: public:
CudaCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomNonbondedForceKernel(name, platform), CudaCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomNonbondedForceKernel(name, platform),
cu(cu), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) { cu(cu), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) {
} }
~CudaCalcCustomNonbondedForceKernel(); ~CudaCalcCustomNonbondedForceKernel();
...@@ -667,7 +667,7 @@ private: ...@@ -667,7 +667,7 @@ private:
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
std::vector<float> globalParamValues; std::vector<float> globalParamValues;
std::vector<CudaArray*> tabulatedFunctions; std::vector<CudaArray*> tabulatedFunctions;
System& system; const System& system;
}; };
/** /**
...@@ -724,7 +724,7 @@ private: ...@@ -724,7 +724,7 @@ private:
*/ */
class CudaCalcCustomGBForceKernel : public CalcCustomGBForceKernel { class CudaCalcCustomGBForceKernel : public CalcCustomGBForceKernel {
public: public:
CudaCalcCustomGBForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomGBForceKernel(name, platform), CudaCalcCustomGBForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomGBForceKernel(name, platform),
hasInitializedKernels(false), cu(cu), params(NULL), computedValues(NULL), energyDerivs(NULL), longEnergyDerivs(NULL), globals(NULL), hasInitializedKernels(false), cu(cu), params(NULL), computedValues(NULL), energyDerivs(NULL), longEnergyDerivs(NULL), globals(NULL),
valueBuffers(NULL), tabulatedFunctionParams(NULL), system(system) { valueBuffers(NULL), tabulatedFunctionParams(NULL), system(system) {
} }
...@@ -767,7 +767,7 @@ private: ...@@ -767,7 +767,7 @@ private:
std::vector<float> globalParamValues; std::vector<float> globalParamValues;
std::vector<CudaArray*> tabulatedFunctions; std::vector<CudaArray*> tabulatedFunctions;
std::vector<bool> pairValueUsesParam, pairEnergyUsesParam, pairEnergyUsesValue; std::vector<bool> pairValueUsesParam, pairEnergyUsesParam, pairEnergyUsesValue;
System& system; const System& system;
CUfunction pairValueKernel, perParticleValueKernel, pairEnergyKernel, perParticleEnergyKernel, gradientChainRuleKernel; CUfunction pairValueKernel, perParticleValueKernel, pairEnergyKernel, perParticleEnergyKernel, gradientChainRuleKernel;
std::vector<void*> pairValueArgs, perParticleValueArgs, pairEnergyArgs, perParticleEnergyArgs, gradientChainRuleArgs; std::vector<void*> pairValueArgs, perParticleValueArgs, pairEnergyArgs, perParticleEnergyArgs, gradientChainRuleArgs;
std::string pairValueSrc, pairEnergySrc; std::string pairValueSrc, pairEnergySrc;
...@@ -779,7 +779,7 @@ private: ...@@ -779,7 +779,7 @@ private:
*/ */
class CudaCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel { class CudaCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel {
public: public:
CudaCalcCustomExternalForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomExternalForceKernel(name, platform), CudaCalcCustomExternalForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomExternalForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cu(cu), system(system), params(NULL), globals(NULL) {
} }
~CudaCalcCustomExternalForceKernel(); ~CudaCalcCustomExternalForceKernel();
...@@ -810,7 +810,7 @@ private: ...@@ -810,7 +810,7 @@ private:
int numParticles; int numParticles;
bool hasInitializedKernel; bool hasInitializedKernel;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaParameterSet* params; CudaParameterSet* params;
CudaArray* globals; CudaArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -822,7 +822,7 @@ private: ...@@ -822,7 +822,7 @@ private:
*/ */
class CudaCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel { class CudaCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel {
public: public:
CudaCalcCustomHbondForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomHbondForceKernel(name, platform), CudaCalcCustomHbondForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomHbondForceKernel(name, platform),
hasInitializedKernel(false), cu(cu), donorParams(NULL), acceptorParams(NULL), donors(NULL), acceptors(NULL), hasInitializedKernel(false), cu(cu), donorParams(NULL), acceptorParams(NULL), donors(NULL), acceptors(NULL),
globals(NULL), donorExclusions(NULL), acceptorExclusions(NULL), tabulatedFunctionParams(NULL), system(system) { globals(NULL), donorExclusions(NULL), acceptorExclusions(NULL), tabulatedFunctionParams(NULL), system(system) {
} }
...@@ -866,7 +866,7 @@ private: ...@@ -866,7 +866,7 @@ private:
std::vector<float> globalParamValues; std::vector<float> globalParamValues;
std::vector<CudaArray*> tabulatedFunctions; std::vector<CudaArray*> tabulatedFunctions;
std::vector<void*> donorArgs, acceptorArgs; std::vector<void*> donorArgs, acceptorArgs;
System& system; const System& system;
CUfunction donorKernel, acceptorKernel; CUfunction donorKernel, acceptorKernel;
}; };
...@@ -875,7 +875,7 @@ private: ...@@ -875,7 +875,7 @@ private:
*/ */
class CudaCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel { class CudaCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel {
public: public:
CudaCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CalcCustomCompoundBondForceKernel(name, platform), CudaCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) : CalcCustomCompoundBondForceKernel(name, platform),
cu(cu), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) { cu(cu), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) {
} }
~CudaCalcCustomCompoundBondForceKernel(); ~CudaCalcCustomCompoundBondForceKernel();
...@@ -912,7 +912,7 @@ private: ...@@ -912,7 +912,7 @@ private:
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
std::vector<float> globalParamValues; std::vector<float> globalParamValues;
std::vector<CudaArray*> tabulatedFunctions; std::vector<CudaArray*> tabulatedFunctions;
System& system; const System& system;
}; };
/** /**
......
...@@ -241,7 +241,7 @@ private: ...@@ -241,7 +241,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcHarmonicBondForceKernel::CudaParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcHarmonicBondForceKernel::CudaParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcHarmonicBondForceKernel(name, platform), data(data) { CalcHarmonicBondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcHarmonicBondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcHarmonicBondForceKernel(name, platform, *data.contexts[i], system)));
...@@ -282,7 +282,7 @@ private: ...@@ -282,7 +282,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCustomBondForceKernel::CudaParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCustomBondForceKernel::CudaParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCustomBondForceKernel(name, platform), data(data) { CalcCustomBondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCustomBondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCustomBondForceKernel(name, platform, *data.contexts[i], system)));
...@@ -323,7 +323,7 @@ private: ...@@ -323,7 +323,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcHarmonicAngleForceKernel::CudaParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcHarmonicAngleForceKernel::CudaParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcHarmonicAngleForceKernel(name, platform), data(data) { CalcHarmonicAngleForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcHarmonicAngleForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcHarmonicAngleForceKernel(name, platform, *data.contexts[i], system)));
...@@ -364,7 +364,7 @@ private: ...@@ -364,7 +364,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCustomAngleForceKernel::CudaParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCustomAngleForceKernel::CudaParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCustomAngleForceKernel(name, platform), data(data) { CalcCustomAngleForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCustomAngleForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCustomAngleForceKernel(name, platform, *data.contexts[i], system)));
...@@ -405,7 +405,7 @@ private: ...@@ -405,7 +405,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcPeriodicTorsionForceKernel::CudaParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcPeriodicTorsionForceKernel::CudaParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcPeriodicTorsionForceKernel(name, platform), data(data) { CalcPeriodicTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcPeriodicTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcPeriodicTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -446,7 +446,7 @@ private: ...@@ -446,7 +446,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcRBTorsionForceKernel::CudaParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcRBTorsionForceKernel::CudaParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcRBTorsionForceKernel(name, platform), data(data) { CalcRBTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcRBTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcRBTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -487,7 +487,7 @@ private: ...@@ -487,7 +487,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCMAPTorsionForceKernel::CudaParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCMAPTorsionForceKernel::CudaParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCMAPTorsionForceKernel(name, platform), data(data) { CalcCMAPTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCMAPTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCMAPTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -523,7 +523,7 @@ private: ...@@ -523,7 +523,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCustomTorsionForceKernel::CudaParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCustomTorsionForceKernel::CudaParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCustomTorsionForceKernel(name, platform), data(data) { CalcCustomTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCustomTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCustomTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -564,7 +564,7 @@ private: ...@@ -564,7 +564,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcNonbondedForceKernel::CudaParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcNonbondedForceKernel::CudaParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcNonbondedForceKernel(name, platform), data(data) { CalcNonbondedForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcNonbondedForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcNonbondedForceKernel(name, platform, *data.contexts[i], system)));
...@@ -605,7 +605,7 @@ private: ...@@ -605,7 +605,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCustomNonbondedForceKernel::CudaParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCustomNonbondedForceKernel::CudaParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCustomNonbondedForceKernel(name, platform), data(data) { CalcCustomNonbondedForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCustomNonbondedForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCustomNonbondedForceKernel(name, platform, *data.contexts[i], system)));
...@@ -646,7 +646,7 @@ private: ...@@ -646,7 +646,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCustomExternalForceKernel::CudaParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCustomExternalForceKernel::CudaParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCustomExternalForceKernel(name, platform), data(data) { CalcCustomExternalForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCustomExternalForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCustomExternalForceKernel(name, platform, *data.contexts[i], system)));
...@@ -687,7 +687,7 @@ private: ...@@ -687,7 +687,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCustomHbondForceKernel::CudaParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCustomHbondForceKernel::CudaParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCustomHbondForceKernel(name, platform), data(data) { CalcCustomHbondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCustomHbondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCustomHbondForceKernel(name, platform, *data.contexts[i], system)));
...@@ -728,7 +728,7 @@ private: ...@@ -728,7 +728,7 @@ private:
double& energy; double& energy;
}; };
CudaParallelCalcCustomCompoundBondForceKernel::CudaParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system) : CudaParallelCalcCustomCompoundBondForceKernel::CudaParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system) :
CalcCustomCompoundBondForceKernel(name, platform), data(data) { CalcCustomCompoundBondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new CudaCalcCustomCompoundBondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new CudaCalcCustomCompoundBondForceKernel(name, platform, *data.contexts[i], system)));
......
...@@ -92,7 +92,7 @@ private: ...@@ -92,7 +92,7 @@ private:
*/ */
class CudaParallelCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel { class CudaParallelCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel {
public: public:
CudaParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcHarmonicBondForceKernel& getKernel(int index) { CudaCalcHarmonicBondForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcHarmonicBondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcHarmonicBondForceKernel&>(kernels[index].getImpl());
} }
...@@ -130,7 +130,7 @@ private: ...@@ -130,7 +130,7 @@ private:
*/ */
class CudaParallelCalcCustomBondForceKernel : public CalcCustomBondForceKernel { class CudaParallelCalcCustomBondForceKernel : public CalcCustomBondForceKernel {
public: public:
CudaParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCustomBondForceKernel& getKernel(int index) { CudaCalcCustomBondForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCustomBondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCustomBondForceKernel&>(kernels[index].getImpl());
} }
...@@ -168,7 +168,7 @@ private: ...@@ -168,7 +168,7 @@ private:
*/ */
class CudaParallelCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel { class CudaParallelCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel {
public: public:
CudaParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcHarmonicAngleForceKernel& getKernel(int index) { CudaCalcHarmonicAngleForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcHarmonicAngleForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcHarmonicAngleForceKernel&>(kernels[index].getImpl());
} }
...@@ -206,7 +206,7 @@ private: ...@@ -206,7 +206,7 @@ private:
*/ */
class CudaParallelCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel { class CudaParallelCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel {
public: public:
CudaParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCustomAngleForceKernel& getKernel(int index) { CudaCalcCustomAngleForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCustomAngleForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCustomAngleForceKernel&>(kernels[index].getImpl());
} }
...@@ -244,7 +244,7 @@ private: ...@@ -244,7 +244,7 @@ private:
*/ */
class CudaParallelCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel { class CudaParallelCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel {
public: public:
CudaParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcPeriodicTorsionForceKernel& getKernel(int index) { CudaCalcPeriodicTorsionForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcPeriodicTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcPeriodicTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -282,7 +282,7 @@ private: ...@@ -282,7 +282,7 @@ private:
*/ */
class CudaParallelCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel { class CudaParallelCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel {
public: public:
CudaParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcRBTorsionForceKernel& getKernel(int index) { CudaCalcRBTorsionForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcRBTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcRBTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -320,7 +320,7 @@ private: ...@@ -320,7 +320,7 @@ private:
*/ */
class CudaParallelCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel { class CudaParallelCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel {
public: public:
CudaParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCMAPTorsionForceKernel& getKernel(int index) { CudaCalcCMAPTorsionForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCMAPTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCMAPTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -351,7 +351,7 @@ private: ...@@ -351,7 +351,7 @@ private:
*/ */
class CudaParallelCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel { class CudaParallelCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel {
public: public:
CudaParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCustomTorsionForceKernel& getKernel(int index) { CudaCalcCustomTorsionForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCustomTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCustomTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -389,7 +389,7 @@ private: ...@@ -389,7 +389,7 @@ private:
*/ */
class CudaParallelCalcNonbondedForceKernel : public CalcNonbondedForceKernel { class CudaParallelCalcNonbondedForceKernel : public CalcNonbondedForceKernel {
public: public:
CudaParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcNonbondedForceKernel& getKernel(int index) { CudaCalcNonbondedForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcNonbondedForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcNonbondedForceKernel&>(kernels[index].getImpl());
} }
...@@ -429,7 +429,7 @@ private: ...@@ -429,7 +429,7 @@ private:
*/ */
class CudaParallelCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel { class CudaParallelCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel {
public: public:
CudaParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCustomNonbondedForceKernel& getKernel(int index) { CudaCalcCustomNonbondedForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCustomNonbondedForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCustomNonbondedForceKernel&>(kernels[index].getImpl());
} }
...@@ -467,7 +467,7 @@ private: ...@@ -467,7 +467,7 @@ private:
*/ */
class CudaParallelCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel { class CudaParallelCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel {
public: public:
CudaParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCustomExternalForceKernel& getKernel(int index) { CudaCalcCustomExternalForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCustomExternalForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCustomExternalForceKernel&>(kernels[index].getImpl());
} }
...@@ -505,7 +505,7 @@ private: ...@@ -505,7 +505,7 @@ private:
*/ */
class CudaParallelCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel { class CudaParallelCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel {
public: public:
CudaParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCustomHbondForceKernel& getKernel(int index) { CudaCalcCustomHbondForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCustomHbondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCustomHbondForceKernel&>(kernels[index].getImpl());
} }
...@@ -543,7 +543,7 @@ private: ...@@ -543,7 +543,7 @@ private:
*/ */
class CudaParallelCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel { class CudaParallelCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel {
public: public:
CudaParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, System& system); CudaParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, CudaPlatform::PlatformData& data, const System& system);
CudaCalcCustomCompoundBondForceKernel& getKernel(int index) { CudaCalcCustomCompoundBondForceKernel& getKernel(int index) {
return dynamic_cast<CudaCalcCustomCompoundBondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<CudaCalcCustomCompoundBondForceKernel&>(kernels[index].getImpl());
} }
......
...@@ -230,7 +230,7 @@ private: ...@@ -230,7 +230,7 @@ private:
*/ */
class OpenCLCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel { class OpenCLCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel {
public: public:
OpenCLCalcHarmonicBondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcHarmonicBondForceKernel(name, platform), OpenCLCalcHarmonicBondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcHarmonicBondForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL) {
} }
~OpenCLCalcHarmonicBondForceKernel(); ~OpenCLCalcHarmonicBondForceKernel();
...@@ -261,7 +261,7 @@ private: ...@@ -261,7 +261,7 @@ private:
int numBonds; int numBonds;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLArray* params; OpenCLArray* params;
}; };
...@@ -270,7 +270,7 @@ private: ...@@ -270,7 +270,7 @@ private:
*/ */
class OpenCLCalcCustomBondForceKernel : public CalcCustomBondForceKernel { class OpenCLCalcCustomBondForceKernel : public CalcCustomBondForceKernel {
public: public:
OpenCLCalcCustomBondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomBondForceKernel(name, platform), OpenCLCalcCustomBondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomBondForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) {
} }
~OpenCLCalcCustomBondForceKernel(); ~OpenCLCalcCustomBondForceKernel();
...@@ -301,7 +301,7 @@ private: ...@@ -301,7 +301,7 @@ private:
int numBonds; int numBonds;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLParameterSet* params; OpenCLParameterSet* params;
OpenCLArray* globals; OpenCLArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -313,7 +313,7 @@ private: ...@@ -313,7 +313,7 @@ private:
*/ */
class OpenCLCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel { class OpenCLCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel {
public: public:
OpenCLCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcHarmonicAngleForceKernel(name, platform), OpenCLCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcHarmonicAngleForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL) {
} }
~OpenCLCalcHarmonicAngleForceKernel(); ~OpenCLCalcHarmonicAngleForceKernel();
...@@ -344,7 +344,7 @@ private: ...@@ -344,7 +344,7 @@ private:
int numAngles; int numAngles;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLArray* params; OpenCLArray* params;
}; };
...@@ -353,7 +353,7 @@ private: ...@@ -353,7 +353,7 @@ private:
*/ */
class OpenCLCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel { class OpenCLCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel {
public: public:
OpenCLCalcCustomAngleForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomAngleForceKernel(name, platform), OpenCLCalcCustomAngleForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomAngleForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) {
} }
~OpenCLCalcCustomAngleForceKernel(); ~OpenCLCalcCustomAngleForceKernel();
...@@ -384,7 +384,7 @@ private: ...@@ -384,7 +384,7 @@ private:
int numAngles; int numAngles;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLParameterSet* params; OpenCLParameterSet* params;
OpenCLArray* globals; OpenCLArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -396,7 +396,7 @@ private: ...@@ -396,7 +396,7 @@ private:
*/ */
class OpenCLCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel { class OpenCLCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel {
public: public:
OpenCLCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcPeriodicTorsionForceKernel(name, platform), OpenCLCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcPeriodicTorsionForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL) {
} }
~OpenCLCalcPeriodicTorsionForceKernel(); ~OpenCLCalcPeriodicTorsionForceKernel();
...@@ -427,7 +427,7 @@ private: ...@@ -427,7 +427,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLArray* params; OpenCLArray* params;
}; };
...@@ -436,7 +436,7 @@ private: ...@@ -436,7 +436,7 @@ private:
*/ */
class OpenCLCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel { class OpenCLCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel {
public: public:
OpenCLCalcRBTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcRBTorsionForceKernel(name, platform), OpenCLCalcRBTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcRBTorsionForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL) {
} }
~OpenCLCalcRBTorsionForceKernel(); ~OpenCLCalcRBTorsionForceKernel();
...@@ -467,7 +467,7 @@ private: ...@@ -467,7 +467,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLArray* params; OpenCLArray* params;
}; };
...@@ -476,7 +476,7 @@ private: ...@@ -476,7 +476,7 @@ private:
*/ */
class OpenCLCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel { class OpenCLCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel {
public: public:
OpenCLCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCMAPTorsionForceKernel(name, platform), OpenCLCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCMAPTorsionForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), coefficients(NULL), mapPositions(NULL), torsionMaps(NULL) { hasInitializedKernel(false), cl(cl), system(system), coefficients(NULL), mapPositions(NULL), torsionMaps(NULL) {
} }
~OpenCLCalcCMAPTorsionForceKernel(); ~OpenCLCalcCMAPTorsionForceKernel();
...@@ -500,7 +500,7 @@ private: ...@@ -500,7 +500,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLArray* coefficients; OpenCLArray* coefficients;
OpenCLArray* mapPositions; OpenCLArray* mapPositions;
OpenCLArray* torsionMaps; OpenCLArray* torsionMaps;
...@@ -511,7 +511,7 @@ private: ...@@ -511,7 +511,7 @@ private:
*/ */
class OpenCLCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel { class OpenCLCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel {
public: public:
OpenCLCalcCustomTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomTorsionForceKernel(name, platform), OpenCLCalcCustomTorsionForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomTorsionForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) {
} }
~OpenCLCalcCustomTorsionForceKernel(); ~OpenCLCalcCustomTorsionForceKernel();
...@@ -542,7 +542,7 @@ private: ...@@ -542,7 +542,7 @@ private:
int numTorsions; int numTorsions;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLParameterSet* params; OpenCLParameterSet* params;
OpenCLArray* globals; OpenCLArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -554,7 +554,7 @@ private: ...@@ -554,7 +554,7 @@ private:
*/ */
class OpenCLCalcNonbondedForceKernel : public CalcNonbondedForceKernel { class OpenCLCalcNonbondedForceKernel : public CalcNonbondedForceKernel {
public: public:
OpenCLCalcNonbondedForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcNonbondedForceKernel(name, platform), OpenCLCalcNonbondedForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcNonbondedForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), sigmaEpsilon(NULL), exceptionParams(NULL), cosSinSums(NULL), pmeGrid(NULL), hasInitializedKernel(false), cl(cl), sigmaEpsilon(NULL), exceptionParams(NULL), cosSinSums(NULL), pmeGrid(NULL),
pmeGrid2(NULL), pmeBsplineModuliX(NULL), pmeBsplineModuliY(NULL), pmeBsplineModuliZ(NULL), pmeBsplineTheta(NULL), pmeGrid2(NULL), pmeBsplineModuliX(NULL), pmeBsplineModuliY(NULL), pmeBsplineModuliZ(NULL), pmeBsplineTheta(NULL),
pmeAtomRange(NULL), pmeAtomGridIndex(NULL), sort(NULL), fft(NULL) { pmeAtomRange(NULL), pmeAtomGridIndex(NULL), sort(NULL), fft(NULL) {
...@@ -633,7 +633,7 @@ private: ...@@ -633,7 +633,7 @@ private:
*/ */
class OpenCLCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel { class OpenCLCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel {
public: public:
OpenCLCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomNonbondedForceKernel(name, platform), OpenCLCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomNonbondedForceKernel(name, platform),
cl(cl), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) { cl(cl), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) {
} }
~OpenCLCalcCustomNonbondedForceKernel(); ~OpenCLCalcCustomNonbondedForceKernel();
...@@ -668,7 +668,7 @@ private: ...@@ -668,7 +668,7 @@ private:
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
std::vector<cl_float> globalParamValues; std::vector<cl_float> globalParamValues;
std::vector<OpenCLArray*> tabulatedFunctions; std::vector<OpenCLArray*> tabulatedFunctions;
System& system; const System& system;
}; };
/** /**
...@@ -727,7 +727,7 @@ private: ...@@ -727,7 +727,7 @@ private:
*/ */
class OpenCLCalcCustomGBForceKernel : public CalcCustomGBForceKernel { class OpenCLCalcCustomGBForceKernel : public CalcCustomGBForceKernel {
public: public:
OpenCLCalcCustomGBForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomGBForceKernel(name, platform), OpenCLCalcCustomGBForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomGBForceKernel(name, platform),
hasInitializedKernels(false), cl(cl), params(NULL), computedValues(NULL), energyDerivs(NULL), longEnergyDerivs(NULL), globals(NULL), hasInitializedKernels(false), cl(cl), params(NULL), computedValues(NULL), energyDerivs(NULL), longEnergyDerivs(NULL), globals(NULL),
valueBuffers(NULL), longValueBuffers(NULL), tabulatedFunctionParams(NULL), system(system) { valueBuffers(NULL), longValueBuffers(NULL), tabulatedFunctionParams(NULL), system(system) {
} }
...@@ -771,7 +771,7 @@ private: ...@@ -771,7 +771,7 @@ private:
std::vector<cl_float> globalParamValues; std::vector<cl_float> globalParamValues;
std::vector<OpenCLArray*> tabulatedFunctions; std::vector<OpenCLArray*> tabulatedFunctions;
std::vector<bool> pairValueUsesParam, pairEnergyUsesParam, pairEnergyUsesValue; std::vector<bool> pairValueUsesParam, pairEnergyUsesParam, pairEnergyUsesValue;
System& system; const System& system;
cl::Kernel pairValueKernel, perParticleValueKernel, pairEnergyKernel, perParticleEnergyKernel, gradientChainRuleKernel; cl::Kernel pairValueKernel, perParticleValueKernel, pairEnergyKernel, perParticleEnergyKernel, gradientChainRuleKernel;
std::string pairValueSrc, pairEnergySrc; std::string pairValueSrc, pairEnergySrc;
std::map<std::string, std::string> pairValueDefines, pairEnergyDefines; std::map<std::string, std::string> pairValueDefines, pairEnergyDefines;
...@@ -782,7 +782,7 @@ private: ...@@ -782,7 +782,7 @@ private:
*/ */
class OpenCLCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel { class OpenCLCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel {
public: public:
OpenCLCalcCustomExternalForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomExternalForceKernel(name, platform), OpenCLCalcCustomExternalForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomExternalForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) { hasInitializedKernel(false), cl(cl), system(system), params(NULL), globals(NULL) {
} }
~OpenCLCalcCustomExternalForceKernel(); ~OpenCLCalcCustomExternalForceKernel();
...@@ -813,7 +813,7 @@ private: ...@@ -813,7 +813,7 @@ private:
int numParticles; int numParticles;
bool hasInitializedKernel; bool hasInitializedKernel;
OpenCLContext& cl; OpenCLContext& cl;
System& system; const System& system;
OpenCLParameterSet* params; OpenCLParameterSet* params;
OpenCLArray* globals; OpenCLArray* globals;
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
...@@ -825,7 +825,7 @@ private: ...@@ -825,7 +825,7 @@ private:
*/ */
class OpenCLCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel { class OpenCLCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel {
public: public:
OpenCLCalcCustomHbondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomHbondForceKernel(name, platform), OpenCLCalcCustomHbondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomHbondForceKernel(name, platform),
hasInitializedKernel(false), cl(cl), donorParams(NULL), acceptorParams(NULL), donors(NULL), acceptors(NULL), hasInitializedKernel(false), cl(cl), donorParams(NULL), acceptorParams(NULL), donors(NULL), acceptors(NULL),
donorBufferIndices(NULL), acceptorBufferIndices(NULL), globals(NULL), donorExclusions(NULL), acceptorExclusions(NULL), donorBufferIndices(NULL), acceptorBufferIndices(NULL), globals(NULL), donorExclusions(NULL), acceptorExclusions(NULL),
tabulatedFunctionParams(NULL), system(system) { tabulatedFunctionParams(NULL), system(system) {
...@@ -871,7 +871,7 @@ private: ...@@ -871,7 +871,7 @@ private:
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
std::vector<cl_float> globalParamValues; std::vector<cl_float> globalParamValues;
std::vector<OpenCLArray*> tabulatedFunctions; std::vector<OpenCLArray*> tabulatedFunctions;
System& system; const System& system;
cl::Kernel donorKernel, acceptorKernel; cl::Kernel donorKernel, acceptorKernel;
}; };
...@@ -880,7 +880,7 @@ private: ...@@ -880,7 +880,7 @@ private:
*/ */
class OpenCLCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel { class OpenCLCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel {
public: public:
OpenCLCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, System& system) : CalcCustomCompoundBondForceKernel(name, platform), OpenCLCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, OpenCLContext& cl, const System& system) : CalcCustomCompoundBondForceKernel(name, platform),
cl(cl), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) { cl(cl), params(NULL), globals(NULL), tabulatedFunctionParams(NULL), system(system) {
} }
~OpenCLCalcCustomCompoundBondForceKernel(); ~OpenCLCalcCustomCompoundBondForceKernel();
...@@ -917,7 +917,7 @@ private: ...@@ -917,7 +917,7 @@ private:
std::vector<std::string> globalParamNames; std::vector<std::string> globalParamNames;
std::vector<cl_float> globalParamValues; std::vector<cl_float> globalParamValues;
std::vector<OpenCLArray*> tabulatedFunctions; std::vector<OpenCLArray*> tabulatedFunctions;
System& system; const System& system;
}; };
/** /**
......
...@@ -215,7 +215,7 @@ private: ...@@ -215,7 +215,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcHarmonicBondForceKernel::OpenCLParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcHarmonicBondForceKernel::OpenCLParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcHarmonicBondForceKernel(name, platform), data(data) { CalcHarmonicBondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcHarmonicBondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcHarmonicBondForceKernel(name, platform, *data.contexts[i], system)));
...@@ -256,7 +256,7 @@ private: ...@@ -256,7 +256,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCustomBondForceKernel::OpenCLParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCustomBondForceKernel::OpenCLParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCustomBondForceKernel(name, platform), data(data) { CalcCustomBondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCustomBondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCustomBondForceKernel(name, platform, *data.contexts[i], system)));
...@@ -297,7 +297,7 @@ private: ...@@ -297,7 +297,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcHarmonicAngleForceKernel::OpenCLParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcHarmonicAngleForceKernel::OpenCLParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcHarmonicAngleForceKernel(name, platform), data(data) { CalcHarmonicAngleForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcHarmonicAngleForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcHarmonicAngleForceKernel(name, platform, *data.contexts[i], system)));
...@@ -338,7 +338,7 @@ private: ...@@ -338,7 +338,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCustomAngleForceKernel::OpenCLParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCustomAngleForceKernel::OpenCLParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCustomAngleForceKernel(name, platform), data(data) { CalcCustomAngleForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCustomAngleForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCustomAngleForceKernel(name, platform, *data.contexts[i], system)));
...@@ -379,7 +379,7 @@ private: ...@@ -379,7 +379,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcPeriodicTorsionForceKernel::OpenCLParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcPeriodicTorsionForceKernel::OpenCLParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcPeriodicTorsionForceKernel(name, platform), data(data) { CalcPeriodicTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcPeriodicTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcPeriodicTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -420,7 +420,7 @@ private: ...@@ -420,7 +420,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcRBTorsionForceKernel::OpenCLParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcRBTorsionForceKernel::OpenCLParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcRBTorsionForceKernel(name, platform), data(data) { CalcRBTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcRBTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcRBTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -461,7 +461,7 @@ private: ...@@ -461,7 +461,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCMAPTorsionForceKernel::OpenCLParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCMAPTorsionForceKernel::OpenCLParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCMAPTorsionForceKernel(name, platform), data(data) { CalcCMAPTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCMAPTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCMAPTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -497,7 +497,7 @@ private: ...@@ -497,7 +497,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCustomTorsionForceKernel::OpenCLParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCustomTorsionForceKernel::OpenCLParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCustomTorsionForceKernel(name, platform), data(data) { CalcCustomTorsionForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCustomTorsionForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCustomTorsionForceKernel(name, platform, *data.contexts[i], system)));
...@@ -538,7 +538,7 @@ private: ...@@ -538,7 +538,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcNonbondedForceKernel::OpenCLParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcNonbondedForceKernel::OpenCLParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcNonbondedForceKernel(name, platform), data(data) { CalcNonbondedForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcNonbondedForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcNonbondedForceKernel(name, platform, *data.contexts[i], system)));
...@@ -579,7 +579,7 @@ private: ...@@ -579,7 +579,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCustomNonbondedForceKernel::OpenCLParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCustomNonbondedForceKernel::OpenCLParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCustomNonbondedForceKernel(name, platform), data(data) { CalcCustomNonbondedForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCustomNonbondedForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCustomNonbondedForceKernel(name, platform, *data.contexts[i], system)));
...@@ -620,7 +620,7 @@ private: ...@@ -620,7 +620,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCustomExternalForceKernel::OpenCLParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCustomExternalForceKernel::OpenCLParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCustomExternalForceKernel(name, platform), data(data) { CalcCustomExternalForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCustomExternalForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCustomExternalForceKernel(name, platform, *data.contexts[i], system)));
...@@ -661,7 +661,7 @@ private: ...@@ -661,7 +661,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCustomHbondForceKernel::OpenCLParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCustomHbondForceKernel::OpenCLParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCustomHbondForceKernel(name, platform), data(data) { CalcCustomHbondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCustomHbondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCustomHbondForceKernel(name, platform, *data.contexts[i], system)));
...@@ -702,7 +702,7 @@ private: ...@@ -702,7 +702,7 @@ private:
double& energy; double& energy;
}; };
OpenCLParallelCalcCustomCompoundBondForceKernel::OpenCLParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system) : OpenCLParallelCalcCustomCompoundBondForceKernel::OpenCLParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system) :
CalcCustomCompoundBondForceKernel(name, platform), data(data) { CalcCustomCompoundBondForceKernel(name, platform), data(data) {
for (int i = 0; i < (int) data.contexts.size(); i++) for (int i = 0; i < (int) data.contexts.size(); i++)
kernels.push_back(Kernel(new OpenCLCalcCustomCompoundBondForceKernel(name, platform, *data.contexts[i], system))); kernels.push_back(Kernel(new OpenCLCalcCustomCompoundBondForceKernel(name, platform, *data.contexts[i], system)));
......
...@@ -93,7 +93,7 @@ private: ...@@ -93,7 +93,7 @@ private:
*/ */
class OpenCLParallelCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel { class OpenCLParallelCalcHarmonicBondForceKernel : public CalcHarmonicBondForceKernel {
public: public:
OpenCLParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcHarmonicBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcHarmonicBondForceKernel& getKernel(int index) { OpenCLCalcHarmonicBondForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcHarmonicBondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcHarmonicBondForceKernel&>(kernels[index].getImpl());
} }
...@@ -131,7 +131,7 @@ private: ...@@ -131,7 +131,7 @@ private:
*/ */
class OpenCLParallelCalcCustomBondForceKernel : public CalcCustomBondForceKernel { class OpenCLParallelCalcCustomBondForceKernel : public CalcCustomBondForceKernel {
public: public:
OpenCLParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCustomBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCustomBondForceKernel& getKernel(int index) { OpenCLCalcCustomBondForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCustomBondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCustomBondForceKernel&>(kernels[index].getImpl());
} }
...@@ -169,7 +169,7 @@ private: ...@@ -169,7 +169,7 @@ private:
*/ */
class OpenCLParallelCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel { class OpenCLParallelCalcHarmonicAngleForceKernel : public CalcHarmonicAngleForceKernel {
public: public:
OpenCLParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcHarmonicAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcHarmonicAngleForceKernel& getKernel(int index) { OpenCLCalcHarmonicAngleForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcHarmonicAngleForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcHarmonicAngleForceKernel&>(kernels[index].getImpl());
} }
...@@ -207,7 +207,7 @@ private: ...@@ -207,7 +207,7 @@ private:
*/ */
class OpenCLParallelCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel { class OpenCLParallelCalcCustomAngleForceKernel : public CalcCustomAngleForceKernel {
public: public:
OpenCLParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCustomAngleForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCustomAngleForceKernel& getKernel(int index) { OpenCLCalcCustomAngleForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCustomAngleForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCustomAngleForceKernel&>(kernels[index].getImpl());
} }
...@@ -245,7 +245,7 @@ private: ...@@ -245,7 +245,7 @@ private:
*/ */
class OpenCLParallelCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel { class OpenCLParallelCalcPeriodicTorsionForceKernel : public CalcPeriodicTorsionForceKernel {
public: public:
OpenCLParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcPeriodicTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcPeriodicTorsionForceKernel& getKernel(int index) { OpenCLCalcPeriodicTorsionForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcPeriodicTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcPeriodicTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -283,7 +283,7 @@ private: ...@@ -283,7 +283,7 @@ private:
*/ */
class OpenCLParallelCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel { class OpenCLParallelCalcRBTorsionForceKernel : public CalcRBTorsionForceKernel {
public: public:
OpenCLParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcRBTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcRBTorsionForceKernel& getKernel(int index) { OpenCLCalcRBTorsionForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcRBTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcRBTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -321,7 +321,7 @@ private: ...@@ -321,7 +321,7 @@ private:
*/ */
class OpenCLParallelCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel { class OpenCLParallelCalcCMAPTorsionForceKernel : public CalcCMAPTorsionForceKernel {
public: public:
OpenCLParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCMAPTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCMAPTorsionForceKernel& getKernel(int index) { OpenCLCalcCMAPTorsionForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCMAPTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCMAPTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -352,7 +352,7 @@ private: ...@@ -352,7 +352,7 @@ private:
*/ */
class OpenCLParallelCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel { class OpenCLParallelCalcCustomTorsionForceKernel : public CalcCustomTorsionForceKernel {
public: public:
OpenCLParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCustomTorsionForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCustomTorsionForceKernel& getKernel(int index) { OpenCLCalcCustomTorsionForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCustomTorsionForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCustomTorsionForceKernel&>(kernels[index].getImpl());
} }
...@@ -390,7 +390,7 @@ private: ...@@ -390,7 +390,7 @@ private:
*/ */
class OpenCLParallelCalcNonbondedForceKernel : public CalcNonbondedForceKernel { class OpenCLParallelCalcNonbondedForceKernel : public CalcNonbondedForceKernel {
public: public:
OpenCLParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcNonbondedForceKernel& getKernel(int index) { OpenCLCalcNonbondedForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcNonbondedForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcNonbondedForceKernel&>(kernels[index].getImpl());
} }
...@@ -430,7 +430,7 @@ private: ...@@ -430,7 +430,7 @@ private:
*/ */
class OpenCLParallelCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel { class OpenCLParallelCalcCustomNonbondedForceKernel : public CalcCustomNonbondedForceKernel {
public: public:
OpenCLParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCustomNonbondedForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCustomNonbondedForceKernel& getKernel(int index) { OpenCLCalcCustomNonbondedForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCustomNonbondedForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCustomNonbondedForceKernel&>(kernels[index].getImpl());
} }
...@@ -468,7 +468,7 @@ private: ...@@ -468,7 +468,7 @@ private:
*/ */
class OpenCLParallelCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel { class OpenCLParallelCalcCustomExternalForceKernel : public CalcCustomExternalForceKernel {
public: public:
OpenCLParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCustomExternalForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCustomExternalForceKernel& getKernel(int index) { OpenCLCalcCustomExternalForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCustomExternalForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCustomExternalForceKernel&>(kernels[index].getImpl());
} }
...@@ -506,7 +506,7 @@ private: ...@@ -506,7 +506,7 @@ private:
*/ */
class OpenCLParallelCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel { class OpenCLParallelCalcCustomHbondForceKernel : public CalcCustomHbondForceKernel {
public: public:
OpenCLParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCustomHbondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCustomHbondForceKernel& getKernel(int index) { OpenCLCalcCustomHbondForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCustomHbondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCustomHbondForceKernel&>(kernels[index].getImpl());
} }
...@@ -544,7 +544,7 @@ private: ...@@ -544,7 +544,7 @@ private:
*/ */
class OpenCLParallelCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel { class OpenCLParallelCalcCustomCompoundBondForceKernel : public CalcCustomCompoundBondForceKernel {
public: public:
OpenCLParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, System& system); OpenCLParallelCalcCustomCompoundBondForceKernel(std::string name, const Platform& platform, OpenCLPlatform::PlatformData& data, const System& system);
OpenCLCalcCustomCompoundBondForceKernel& getKernel(int index) { OpenCLCalcCustomCompoundBondForceKernel& getKernel(int index) {
return dynamic_cast<OpenCLCalcCustomCompoundBondForceKernel&>(kernels[index].getImpl()); return dynamic_cast<OpenCLCalcCustomCompoundBondForceKernel&>(kernels[index].getImpl());
} }
......
...@@ -168,7 +168,7 @@ public: ...@@ -168,7 +168,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
double _globalCubicK, _globalQuarticK, _globalPenticK, _globalSexticK; double _globalCubicK, _globalQuarticK, _globalPenticK, _globalSexticK;
private: private:
class AngleInfo; class AngleInfo;
......
...@@ -141,7 +141,7 @@ public: ...@@ -141,7 +141,7 @@ public:
protected: protected:
double _globalQuarticK, _globalCubicK; double _globalQuarticK, _globalCubicK;
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
class BondInfo; class BondInfo;
std::vector<BondInfo> bonds; std::vector<BondInfo> bonds;
......
...@@ -165,7 +165,7 @@ public: ...@@ -165,7 +165,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
class ParticleInfo; class ParticleInfo;
int includeCavityTerm; int includeCavityTerm;
......
...@@ -173,7 +173,7 @@ public: ...@@ -173,7 +173,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
double _globalCubicK, _globalQuarticK, _globalPenticK, _globalSexticK; double _globalCubicK, _globalQuarticK, _globalPenticK, _globalSexticK;
private: private:
class AngleInfo; class AngleInfo;
......
...@@ -343,7 +343,7 @@ public: ...@@ -343,7 +343,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
NonbondedMethod nonbondedMethod; NonbondedMethod nonbondedMethod;
PolarizationType polarizationType; PolarizationType polarizationType;
......
...@@ -165,7 +165,7 @@ public: ...@@ -165,7 +165,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
double _globalCubicK, _globalQuarticK, _globalPenticK, _globalSexticK; double _globalCubicK, _globalQuarticK, _globalPenticK, _globalSexticK;
private: private:
class OutOfPlaneBendInfo; class OutOfPlaneBendInfo;
......
...@@ -115,7 +115,7 @@ public: ...@@ -115,7 +115,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
class PiTorsionInfo; class PiTorsionInfo;
std::vector<PiTorsionInfo> piTorsions; std::vector<PiTorsionInfo> piTorsions;
......
...@@ -118,7 +118,7 @@ public: ...@@ -118,7 +118,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
class StretchBendInfo; class StretchBendInfo;
std::vector<StretchBendInfo> stretchBends; std::vector<StretchBendInfo> stretchBends;
......
...@@ -137,7 +137,7 @@ public: ...@@ -137,7 +137,7 @@ public:
void setTorsionTorsionGrid(int index, const std::vector<std::vector<std::vector<double> > >& grid); void setTorsionTorsionGrid(int index, const std::vector<std::vector<std::vector<double> > >& grid);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
class TorsionTorsionInfo; class TorsionTorsionInfo;
class TorsionTorsionGridInfo; class TorsionTorsionGridInfo;
......
...@@ -214,7 +214,7 @@ public: ...@@ -214,7 +214,7 @@ public:
void updateParametersInContext(Context& context); void updateParametersInContext(Context& context);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
class VdwInfo; class VdwInfo;
......
...@@ -123,7 +123,7 @@ public: ...@@ -123,7 +123,7 @@ public:
void setSlevy(double inputValue); void setSlevy(double inputValue);
protected: protected:
ForceImpl* createImpl(); ForceImpl* createImpl() const;
private: private:
class WcaDispersionInfo; class WcaDispersionInfo;
double epso; double epso;
......
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