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

Reduced memory use

parent 2136b00f
...@@ -111,9 +111,6 @@ void AmoebaCudaData::initializeGpu( void ) { ...@@ -111,9 +111,6 @@ void AmoebaCudaData::initializeGpu( void ) {
if( getHasAmoebaGeneralizedKirkwood() && !getHasAmoebaMultipole() ){ if( getHasAmoebaGeneralizedKirkwood() && !getHasAmoebaMultipole() ){
throw OpenMMException("GK force requires Multipole force\n"); throw OpenMMException("GK force requires Multipole force\n");
} }
amoebaGpuBuildOutputBuffers( amoebaGpu );
amoebaGpuBuildThreadBlockWorkList( amoebaGpu );
amoebaGpuBuildScalingList( amoebaGpu );
amoebaGpuSetConstants( amoebaGpu ); amoebaGpuSetConstants( amoebaGpu );
gpuInitialized = true; gpuInitialized = true;
if( log ){ if( log ){
......
...@@ -213,8 +213,6 @@ void gpuPrintCudaAmoebaGmxSimulation(amoebaGpuContext amoebaGpu, FILE* log ) ...@@ -213,8 +213,6 @@ void gpuPrintCudaAmoebaGmxSimulation(amoebaGpuContext amoebaGpu, FILE* log )
gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_2, log ); gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_2, log );
gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_3, log ); gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_3, log );
gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_4, log ); gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_4, log );
gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_5, log );
gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_3_6, log );
gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_1_1, log ); gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_1_1, log );
gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_1_2, log ); gpuPrintCudaStreamFloat( amoebaGpu->psWorkArray_1_2, log );
...@@ -2689,8 +2687,6 @@ void amoebaGpuShutDown(amoebaGpuContext gpu) ...@@ -2689,8 +2687,6 @@ void amoebaGpuShutDown(amoebaGpuContext gpu)
delete gpu->psWorkArray_3_2; delete gpu->psWorkArray_3_2;
delete gpu->psWorkArray_3_3; delete gpu->psWorkArray_3_3;
delete gpu->psWorkArray_3_4; delete gpu->psWorkArray_3_4;
delete gpu->psWorkArray_3_5;
delete gpu->psWorkArray_3_6;
delete gpu->psWorkArray_1_1; delete gpu->psWorkArray_1_1;
delete gpu->psWorkArray_1_2; delete gpu->psWorkArray_1_2;
...@@ -2824,8 +2820,6 @@ void amoebaGpuBuildOutputBuffers( amoebaGpuContext amoebaGpu ) ...@@ -2824,8 +2820,6 @@ void amoebaGpuBuildOutputBuffers( amoebaGpuContext amoebaGpu )
// used GK // used GK
amoebaGpu->psWorkArray_3_3 = new CUDAStream<float>(3*paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_3_3"); amoebaGpu->psWorkArray_3_3 = new CUDAStream<float>(3*paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_3_3");
amoebaGpu->psWorkArray_3_4 = new CUDAStream<float>(3*paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_3_4"); amoebaGpu->psWorkArray_3_4 = new CUDAStream<float>(3*paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_3_4");
amoebaGpu->psWorkArray_3_5 = new CUDAStream<float>(3*paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_3_5");
amoebaGpu->psWorkArray_3_6 = new CUDAStream<float>(3*paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_3_6");
amoebaGpu->psWorkArray_1_1 = new CUDAStream<float>( paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_1_1"); amoebaGpu->psWorkArray_1_1 = new CUDAStream<float>( paddedNumberOfAtoms, (amoebaGpu->outputBuffers), "AmoebaField_1_1");
amoebaGpu->amoebaSim.pWorkArray_1_1 = amoebaGpu->psWorkArray_1_1->_pDevStream[0]; amoebaGpu->amoebaSim.pWorkArray_1_1 = amoebaGpu->psWorkArray_1_1->_pDevStream[0];
......
...@@ -70,8 +70,6 @@ struct _amoebaGpuContext { ...@@ -70,8 +70,6 @@ struct _amoebaGpuContext {
CUDAStream<float>* psWorkArray_3_2; CUDAStream<float>* psWorkArray_3_2;
CUDAStream<float>* psWorkArray_3_3; CUDAStream<float>* psWorkArray_3_3;
CUDAStream<float>* psWorkArray_3_4; CUDAStream<float>* psWorkArray_3_4;
CUDAStream<float>* psWorkArray_3_5;
CUDAStream<float>* psWorkArray_3_6;
CUDAStream<float>* psWorkArray_1_1; CUDAStream<float>* psWorkArray_1_1;
CUDAStream<float>* psWorkArray_1_2; CUDAStream<float>* psWorkArray_1_2;
......
...@@ -100,16 +100,6 @@ void kClearFields_3( amoebaGpuContext amoebaGpu, unsigned int numberToClear ) ...@@ -100,16 +100,6 @@ void kClearFields_3( amoebaGpuContext amoebaGpu, unsigned int numberToClear )
amoebaGpu->psWorkArray_3_4->_pDevStream[0] ); amoebaGpu->psWorkArray_3_4->_pDevStream[0] );
LAUNCHERROR("kClearFields_3_4"); LAUNCHERROR("kClearFields_3_4");
} }
if( numberToClear > 4 ){
kClearFields_kernel<<<amoebaGpu->nonbondBlocks, 384>>>( amoebaGpu->paddedNumberOfAtoms*3*amoebaGpu->outputBuffers,
amoebaGpu->psWorkArray_3_5->_pDevStream[0] );
LAUNCHERROR("kClearFields_3_5");
kClearFields_kernel<<<amoebaGpu->nonbondBlocks, 384>>>( amoebaGpu->paddedNumberOfAtoms*3*amoebaGpu->outputBuffers,
amoebaGpu->psWorkArray_3_6->_pDevStream[0] );
LAUNCHERROR("kClearFields_3_6");
}
} }
// clear psWorkArray_1_1 & psWorkArray_1_2 // clear psWorkArray_1_1 & psWorkArray_1_2
......
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