Commit 3c8adf0c authored by Peter Eastman's avatar Peter Eastman
Browse files

OpenCL and CUDA tests are run three times, once for each precision model

parent 6f4ec6b6
...@@ -46,10 +46,11 @@ ...@@ -46,10 +46,11 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
const double TOL = 1e-5; const double TOL = 1e-5;
void testRBTorsions() { void testRBTorsions() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(1.0); system.addParticle(1.0);
system.addParticle(1.0); system.addParticle(1.0);
...@@ -112,7 +113,6 @@ void testRBTorsions() { ...@@ -112,7 +113,6 @@ void testRBTorsions() {
} }
void testParallelComputation() { void testParallelComputation() {
OpenCLPlatform platform;
System system; System system;
const int numParticles = 200; const int numParticles = 200;
for (int i = 0; i < numParticles; i++) for (int i = 0; i < numParticles; i++)
...@@ -140,8 +140,10 @@ void testParallelComputation() { ...@@ -140,8 +140,10 @@ void testParallelComputation() {
ASSERT_EQUAL_VEC(state1.getForces()[i], state2.getForces()[i], 1e-5); ASSERT_EQUAL_VEC(state1.getForces()[i], state2.getForces()[i], 1e-5);
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testRBTorsions(); testRBTorsions();
testParallelComputation(); testParallelComputation();
} }
......
...@@ -47,12 +47,14 @@ ...@@ -47,12 +47,14 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
void testGaussian() { void testGaussian() {
int numAtoms = 5000; int numAtoms = 5000;
System system; System system;
for (int i = 0; i < numAtoms; i++) for (int i = 0; i < numAtoms; i++)
system.addParticle(1.0); system.addParticle(1.0);
OpenCLPlatform::PlatformData platformData(system, "", "", "single"); OpenCLPlatform::PlatformData platformData(system, "", "", platform.getPropertyDefaultValue("OpenCLPrecision"));
OpenCLContext& context = *platformData.contexts[0]; OpenCLContext& context = *platformData.contexts[0];
context.initialize(); context.initialize();
context.getIntegrationUtilities().initRandomNumberGenerator(0); context.getIntegrationUtilities().initRandomNumberGenerator(0);
...@@ -91,7 +93,6 @@ void testRandomVelocities() { ...@@ -91,7 +93,6 @@ void testRandomVelocities() {
const int numParticles = 10000; const int numParticles = 10000;
const double temperture = 100.0; const double temperture = 100.0;
OpenCLPlatform platform;
System system; System system;
VerletIntegrator integrator(0.01); VerletIntegrator integrator(0.01);
for (int i = 0; i < numParticles; ++i) for (int i = 0; i < numParticles; ++i)
...@@ -129,8 +130,10 @@ void testRandomVelocities() { ...@@ -129,8 +130,10 @@ void testRandomVelocities() {
ASSERT_USUALLY_EQUAL_TOL(expected, ke, 4/sqrt(numParticles)); ASSERT_USUALLY_EQUAL_TOL(expected, ke, 4/sqrt(numParticles));
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testGaussian(); testGaussian();
testRandomVelocities(); testRandomVelocities();
} }
......
...@@ -47,12 +47,13 @@ ...@@ -47,12 +47,13 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
void testConstraints() { void testConstraints() {
const int numMolecules = 10; const int numMolecules = 10;
const int numParticles = numMolecules*3; const int numParticles = numMolecules*3;
const int numConstraints = numMolecules*3; const int numConstraints = numMolecules*3;
const double temp = 100.0; const double temp = 100.0;
OpenCLPlatform platform;
System system; System system;
LangevinIntegrator integrator(temp, 2.0, 0.001); LangevinIntegrator integrator(temp, 2.0, 0.001);
integrator.setConstraintTolerance(1e-5); integrator.setConstraintTolerance(1e-5);
...@@ -103,8 +104,10 @@ void testConstraints() { ...@@ -103,8 +104,10 @@ void testConstraints() {
} }
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testConstraints(); testConstraints();
} }
catch(const exception& e) { catch(const exception& e) {
......
...@@ -46,6 +46,8 @@ ...@@ -46,6 +46,8 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
struct SortTrait { struct SortTrait {
typedef cl_float DataType; typedef cl_float DataType;
typedef cl_float KeyType; typedef cl_float KeyType;
...@@ -62,7 +64,7 @@ void verifySorting(vector<float> array) { ...@@ -62,7 +64,7 @@ void verifySorting(vector<float> array) {
System system; System system;
system.addParticle(0.0); system.addParticle(0.0);
OpenCLPlatform::PlatformData platformData(system, "", "", "single"); OpenCLPlatform::PlatformData platformData(system, "", "", platform.getPropertyDefaultValue("OpenCLPrecision"));
OpenCLContext& context = *platformData.contexts[0]; OpenCLContext& context = *platformData.contexts[0];
context.initialize(); context.initialize();
OpenCLArray data(context, array.size(), sizeof(float), "sortData"); OpenCLArray data(context, array.size(), sizeof(float), "sortData");
...@@ -106,8 +108,10 @@ void testLogValues() ...@@ -106,8 +108,10 @@ void testLogValues()
verifySorting(array); verifySorting(array);
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testUniformValues(); testUniformValues();
testLogValues(); testLogValues();
} }
......
...@@ -48,10 +48,11 @@ ...@@ -48,10 +48,11 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
const double TOL = 1e-5; const double TOL = 1e-5;
void testSingleBond() { void testSingleBond() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(2.0); system.addParticle(2.0);
system.addParticle(2.0); system.addParticle(2.0);
...@@ -97,7 +98,6 @@ void testSingleBond() { ...@@ -97,7 +98,6 @@ void testSingleBond() {
void testTemperature() { void testTemperature() {
const int numParticles = 8; const int numParticles = 8;
const double temp = 100.0; const double temp = 100.0;
OpenCLPlatform platform;
System system; System system;
VariableLangevinIntegrator integrator(temp, 2.0, 1e-4); VariableLangevinIntegrator integrator(temp, 2.0, 1e-4);
NonbondedForce* forceField = new NonbondedForce(); NonbondedForce* forceField = new NonbondedForce();
...@@ -132,7 +132,6 @@ void testTemperature() { ...@@ -132,7 +132,6 @@ void testTemperature() {
void testConstraints() { void testConstraints() {
const int numParticles = 8; const int numParticles = 8;
const double temp = 100.0; const double temp = 100.0;
OpenCLPlatform platform;
System system; System system;
VariableLangevinIntegrator integrator(temp, 2.0, 1e-5); VariableLangevinIntegrator integrator(temp, 2.0, 1e-5);
integrator.setConstraintTolerance(1e-5); integrator.setConstraintTolerance(1e-5);
...@@ -175,7 +174,6 @@ void testConstraints() { ...@@ -175,7 +174,6 @@ void testConstraints() {
void testRandomSeed() { void testRandomSeed() {
const int numParticles = 8; const int numParticles = 8;
const double temp = 100.0; const double temp = 100.0;
OpenCLPlatform platform;
System system; System system;
VariableLangevinIntegrator integrator(temp, 2.0, 1e-5); VariableLangevinIntegrator integrator(temp, 2.0, 1e-5);
NonbondedForce* forceField = new NonbondedForce(); NonbondedForce* forceField = new NonbondedForce();
...@@ -230,8 +228,10 @@ void testRandomSeed() { ...@@ -230,8 +228,10 @@ void testRandomSeed() {
} }
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testSingleBond(); testSingleBond();
testTemperature(); testTemperature();
testConstraints(); testConstraints();
......
...@@ -48,10 +48,11 @@ ...@@ -48,10 +48,11 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
const double TOL = 1e-5; const double TOL = 1e-5;
void testSingleBond() { void testSingleBond() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(2.0); system.addParticle(2.0);
system.addParticle(2.0); system.addParticle(2.0);
...@@ -88,8 +89,6 @@ void testSingleBond() { ...@@ -88,8 +89,6 @@ void testSingleBond() {
void testConstraints() { void testConstraints() {
const int numParticles = 8; const int numParticles = 8;
const int numConstraints = 5; const int numConstraints = 5;
const double temp = 100.0;
OpenCLPlatform platform;
System system; System system;
VariableVerletIntegrator integrator(1e-5); VariableVerletIntegrator integrator(1e-5);
integrator.setConstraintTolerance(1e-5); integrator.setConstraintTolerance(1e-5);
...@@ -150,8 +149,6 @@ void testConstraints() { ...@@ -150,8 +149,6 @@ void testConstraints() {
void testConstrainedClusters() { void testConstrainedClusters() {
const int numParticles = 7; const int numParticles = 7;
const double temp = 500.0;
OpenCLPlatform platform;
System system; System system;
VariableVerletIntegrator integrator(1e-5); VariableVerletIntegrator integrator(1e-5);
integrator.setConstraintTolerance(1e-5); integrator.setConstraintTolerance(1e-5);
...@@ -213,8 +210,10 @@ void testConstrainedClusters() { ...@@ -213,8 +210,10 @@ void testConstrainedClusters() {
ASSERT(context.getState(State::Positions).getTime() > 0.1); ASSERT(context.getState(State::Positions).getTime() > 0.1);
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testSingleBond(); testSingleBond();
testConstraints(); testConstraints();
testConstrainedClusters(); testConstrainedClusters();
......
...@@ -48,10 +48,11 @@ ...@@ -48,10 +48,11 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
const double TOL = 1e-5; const double TOL = 1e-5;
void testSingleBond() { void testSingleBond() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(2.0); system.addParticle(2.0);
system.addParticle(2.0); system.addParticle(2.0);
...@@ -88,8 +89,6 @@ void testSingleBond() { ...@@ -88,8 +89,6 @@ void testSingleBond() {
void testConstraints() { void testConstraints() {
const int numParticles = 8; const int numParticles = 8;
const int numConstraints = 5; const int numConstraints = 5;
const double temp = 100.0;
OpenCLPlatform platform;
System system; System system;
VerletIntegrator integrator(0.001); VerletIntegrator integrator(0.001);
integrator.setConstraintTolerance(1e-5); integrator.setConstraintTolerance(1e-5);
...@@ -142,8 +141,6 @@ void testConstraints() { ...@@ -142,8 +141,6 @@ void testConstraints() {
void testConstrainedClusters() { void testConstrainedClusters() {
const int numParticles = 7; const int numParticles = 7;
const double temp = 500.0;
OpenCLPlatform platform;
System system; System system;
VerletIntegrator integrator(0.001); VerletIntegrator integrator(0.001);
integrator.setConstraintTolerance(1e-5); integrator.setConstraintTolerance(1e-5);
...@@ -204,8 +201,10 @@ void testConstrainedClusters() { ...@@ -204,8 +201,10 @@ void testConstrainedClusters() {
} }
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testSingleBond(); testSingleBond();
testConstraints(); testConstraints();
testConstrainedClusters(); testConstrainedClusters();
......
...@@ -50,11 +50,12 @@ ...@@ -50,11 +50,12 @@
using namespace OpenMM; using namespace OpenMM;
using namespace std; using namespace std;
OpenCLPlatform platform;
/** /**
* Check that massless particles are handled correctly. * Check that massless particles are handled correctly.
*/ */
void testMasslessParticle() { void testMasslessParticle() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(0.0); system.addParticle(0.0);
system.addParticle(1.0); system.addParticle(1.0);
...@@ -91,7 +92,6 @@ void testMasslessParticle() { ...@@ -91,7 +92,6 @@ void testMasslessParticle() {
* Test a TwoParticleAverageSite virtual site. * Test a TwoParticleAverageSite virtual site.
*/ */
void testTwoParticleAverage() { void testTwoParticleAverage() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(1.0); system.addParticle(1.0);
system.addParticle(1.0); system.addParticle(1.0);
...@@ -128,7 +128,6 @@ void testTwoParticleAverage() { ...@@ -128,7 +128,6 @@ void testTwoParticleAverage() {
* Test a ThreeParticleAverageSite virtual site. * Test a ThreeParticleAverageSite virtual site.
*/ */
void testThreeParticleAverage() { void testThreeParticleAverage() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(1.0); system.addParticle(1.0);
system.addParticle(1.0); system.addParticle(1.0);
...@@ -170,7 +169,6 @@ void testThreeParticleAverage() { ...@@ -170,7 +169,6 @@ void testThreeParticleAverage() {
* Test an OutOfPlaneSite virtual site. * Test an OutOfPlaneSite virtual site.
*/ */
void testOutOfPlane() { void testOutOfPlane() {
OpenCLPlatform platform;
System system; System system;
system.addParticle(1.0); system.addParticle(1.0);
system.addParticle(1.0); system.addParticle(1.0);
...@@ -220,7 +218,6 @@ void testOutOfPlane() { ...@@ -220,7 +218,6 @@ void testOutOfPlane() {
* when using virtual sites. * when using virtual sites.
*/ */
void testConservationLaws() { void testConservationLaws() {
OpenCLPlatform platform;
System system; System system;
NonbondedForce* forceField = new NonbondedForce(); NonbondedForce* forceField = new NonbondedForce();
system.addForce(forceField); system.addForce(forceField);
...@@ -329,7 +326,6 @@ void testConservationLaws() { ...@@ -329,7 +326,6 @@ void testConservationLaws() {
void testReordering() { void testReordering() {
const double cutoff = 2.0; const double cutoff = 2.0;
const double boxSize = 20.0; const double boxSize = 20.0;
OpenCLPlatform platform;
System system; System system;
NonbondedForce* nonbonded = new NonbondedForce(); NonbondedForce* nonbonded = new NonbondedForce();
system.addForce(nonbonded); system.addForce(nonbonded);
...@@ -430,8 +426,10 @@ void testReordering() { ...@@ -430,8 +426,10 @@ void testReordering() {
} }
} }
int main() { int main(int argc, char* argv[]) {
try { try {
if (argc > 1)
platform.setPropertyDefaultValue("OpenCLPrecision", string(argv[1]));
testMasslessParticle(); testMasslessParticle();
testTwoParticleAverage(); testTwoParticleAverage();
testThreeParticleAverage(); testThreeParticleAverage();
......
...@@ -14,6 +14,10 @@ FOREACH(TEST_PROG ${TEST_PROGS}) ...@@ -14,6 +14,10 @@ FOREACH(TEST_PROG ${TEST_PROGS})
# Link with shared library # Link with shared library
ADD_EXECUTABLE(${TEST_ROOT} ${TEST_PROG}) ADD_EXECUTABLE(${TEST_ROOT} ${TEST_PROG})
TARGET_LINK_LIBRARIES(${TEST_ROOT} ${SHARED_AMOEBA_TARGET} ${SHARED_TARGET}) TARGET_LINK_LIBRARIES(${TEST_ROOT} ${SHARED_AMOEBA_TARGET} ${SHARED_TARGET})
ADD_TEST(${TEST_ROOT} ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT}) ADD_TEST(${TEST_ROOT}Single ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} single)
IF (OPENMM_BUILD_CUDA_DOUBLE_PRECISION_TESTS)
ADD_TEST(${TEST_ROOT}Mixed ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} mixed)
ADD_TEST(${TEST_ROOT}Double ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} double)
ENDIF(OPENMM_BUILD_CUDA_DOUBLE_PRECISION_TESTS)
ENDFOREACH(TEST_PROG ${TEST_PROGS}) ENDFOREACH(TEST_PROG ${TEST_PROGS})
...@@ -302,11 +302,12 @@ void testOneAngle( FILE* log ) { ...@@ -302,11 +302,12 @@ void testOneAngle( FILE* log ) {
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaAngleForce running test..." << std::endl; std::cout << "TestCudaAmoebaAngleForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testOneAngle( log ); testOneAngle( log );
......
...@@ -206,11 +206,12 @@ void testTwoBond( FILE* log ) { ...@@ -206,11 +206,12 @@ void testTwoBond( FILE* log ) {
compareWithExpectedForceAndEnergy( context, *amoebaBondForce, TOL, "testTwoBond", log ); compareWithExpectedForceAndEnergy( context, *amoebaBondForce, TOL, "testTwoBond", log );
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaBondForce running test..." << std::endl; std::cout << "TestCudaAmoebaBondForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testTwoBond( log ); testTwoBond( log );
} catch(const std::exception& e) { } catch(const std::exception& e) {
......
...@@ -8450,11 +8450,12 @@ static void testGeneralizedKirkwoodVillinMutualPolarization( FILE* log ) { ...@@ -8450,11 +8450,12 @@ static void testGeneralizedKirkwoodVillinMutualPolarization( FILE* log ) {
compareForceNormsEnergy( testName, expectedEnergy, energy, expectedForces, forces, tolerance, log ); compareForceNormsEnergy( testName, expectedEnergy, energy, expectedForces, forces, tolerance, log );
} }
   
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaGeneralizedKirkwoodForce running test..." << std::endl; std::cout << "TestCudaAmoebaGeneralizedKirkwoodForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
   
FILE* log = NULL; FILE* log = NULL;
   
......
...@@ -379,11 +379,12 @@ void testOneAngle( FILE* log ) { ...@@ -379,11 +379,12 @@ void testOneAngle( FILE* log ) {
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaInPlaneAngleForce running test..." << std::endl; std::cout << "TestCudaAmoebaInPlaneAngleForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testOneAngle( NULL ); testOneAngle( NULL );
} catch(const std::exception& e) { } catch(const std::exception& e) {
......
...@@ -2843,11 +2843,12 @@ static void testMultipoleGridPotential( FILE* log ) { ...@@ -2843,11 +2843,12 @@ static void testMultipoleGridPotential( FILE* log ) {
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaMultipoleForce running test..." << std::endl; std::cout << "TestCudaAmoebaMultipoleForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
......
...@@ -508,11 +508,12 @@ void testOneOutOfPlaneBend2( FILE* log, int setId ) { ...@@ -508,11 +508,12 @@ void testOneOutOfPlaneBend2( FILE* log, int setId ) {
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaOutOfPlaneBendForce running test..." << std::endl; std::cout << "TestCudaAmoebaOutOfPlaneBendForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testOneOutOfPlaneBend( log ); testOneOutOfPlaneBend( log );
......
...@@ -305,11 +305,12 @@ void testOnePiTorsion( FILE* log ) { ...@@ -305,11 +305,12 @@ void testOnePiTorsion( FILE* log ) {
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaPiTorsionForce running test..." << std::endl; std::cout << "TestCudaAmoebaPiTorsionForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testOnePiTorsion( log ); testOnePiTorsion( log );
} catch(const std::exception& e) { } catch(const std::exception& e) {
......
...@@ -290,12 +290,12 @@ void testOneStretchBend( FILE* log ) { ...@@ -290,12 +290,12 @@ void testOneStretchBend( FILE* log ) {
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaStretchBendForce running test..." << std::endl; std::cout << "TestCudaAmoebaStretchBendForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testOneStretchBend( log ); testOneStretchBend( log );
} catch(const std::exception& e) { } catch(const std::exception& e) {
......
...@@ -2681,12 +2681,12 @@ void testTorsionTorsion( FILE* log, int systemId ) { ...@@ -2681,12 +2681,12 @@ void testTorsionTorsion( FILE* log, int systemId ) {
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaTorsionTorsionForce running test..." << std::endl; std::cout << "TestCudaAmoebaTorsionTorsionForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testTorsionTorsion( log, 1 ); testTorsionTorsion( log, 1 );
} catch(const std::exception& e) { } catch(const std::exception& e) {
......
...@@ -1952,12 +1952,12 @@ void testVdwWater( int includeVdwDispersionCorrection, FILE* log ) { ...@@ -1952,12 +1952,12 @@ void testVdwWater( int includeVdwDispersionCorrection, FILE* log ) {
} }
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaVdwForce running test..." << std::endl; std::cout << "TestCudaAmoebaVdwForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
testVdw( log ); testVdw( log );
......
...@@ -162,12 +162,12 @@ void testWcaDispersionAmmonia( FILE* log ) { ...@@ -162,12 +162,12 @@ void testWcaDispersionAmmonia( FILE* log ) {
compareForcesEnergy( testName, expectedEnergy, energy, expectedForces, forces, tolerance, log ); compareForcesEnergy( testName, expectedEnergy, energy, expectedForces, forces, tolerance, log );
} }
int main( int numberOfArguments, char* argv[] ) { int main(int argc, char* argv[]) {
try { try {
std::cout << "TestCudaAmoebaWcaDispersionForce running test..." << std::endl; std::cout << "TestCudaAmoebaWcaDispersionForce running test..." << std::endl;
registerAmoebaCudaKernelFactories(); registerAmoebaCudaKernelFactories();
if (argc > 1)
Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", std::string(argv[1]));
FILE* log = NULL; FILE* log = NULL;
// test Wca dispersion force using two ammonia molecules // test Wca dispersion force using two ammonia molecules
......
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