tmake sure dphi values are saved in output files - sphere - GPU-based 3D discre… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 8384dea2ebcbf7f35b1557e37e298dca23be7948 | |
parent 3fb22ab2e5449c3004c500252975c65e9f4cd57a | |
Author: Anders Damsgaard <[email protected]> | |
Date: Fri, 7 Nov 2014 13:54:55 +0100 | |
make sure dphi values are saved in output files | |
Diffstat: | |
M src/device.cu | 22 ++++++++++++++++------ | |
1 file changed, 16 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/src/device.cu b/src/device.cu | |
t@@ -2036,12 +2036,14 @@ __host__ void DEM::startTime() | |
} | |
// Zero all dphi values right after they are used in fluid | |
- // solution | |
- setDarcyZeros<Float> <<<dimGridFluid, dimBlockFluid>>> | |
- (dev_darcy_dphi); | |
- cudaThreadSynchronize(); | |
- checkForCudaErrorsIter( | |
- "After setDarcyZeros(dev_darcy_dphi)", iter); | |
+ // solution, unless a file is written in this step. | |
+ if (filetimeclock < time.file_dt) { | |
+ setDarcyZeros<Float> <<<dimGridFluid, dimBlockFluid>>> | |
+ (dev_darcy_dphi); | |
+ cudaThreadSynchronize(); | |
+ checkForCudaErrorsIter( | |
+ "After setDarcyZeros(dev_darcy_dphi)", iter); | |
+ } | |
if (PROFILING == 1) | |
startTimer(&kernel_tic); | |
t@@ -2184,6 +2186,14 @@ __host__ void DEM::startTime() | |
checkForCudaErrorsIter("After transferFromGlobalDeviceMemory()", | |
iter); | |
+ // Empty the dphi values after device to host transfer | |
+ setDarcyZeros<Float> <<<dimGridFluid, dimBlockFluid>>> | |
+ (dev_darcy_dphi); | |
+ cudaThreadSynchronize(); | |
+ checkForCudaErrorsIter( | |
+ "After setDarcyZeros(dev_darcy_dphi) after transfer", iter… | |
+ | |
+ | |
// Pause the CPU thread until all CUDA calls previously issued are | |
// completed | |
cudaThreadSynchronize(); |