relion icon indicating copy to clipboard operation
relion copied to clipboard

Modifying setting-parameters breaks diffCoarse subtly

Open bforsbe opened this issue 8 years ago • 0 comments

Modifying src/gpu_utils/cuda_settings.h on version 2.1.b1 by setting

#define D2C_BLOCK_SIZE_REF3D 		32
#define D2C_EULERS_PER_BLOCK_REF3D 	48

and running a 10 iteration 3D benchmark fails iteration 8. Surprisingly, iteration 7 looks entirely correct (within the expected stochasticity);

screenshot_2017-09-04_11-10-25

Iteration 8 does complete, but with nonsense output, which causes a crash on start iteration 9. The output is nonsense in both the following ways;

  1. The number of significant orientations in the it008_data.star are 1005-1008 for all particles
  2. 3 out of 6 output volumes are all-zeros, the remaining are stretched out, and appear to resemble the previous iteration only by reference bias;

screenshot_2017-09-04_11-09-26

Upon examination the number of significant samples found at line 1748 on 2.1.b1, it is set to 336 in iter 8, indication that diffCoarse is indeed faulty under the above modifications.

None of the above is a problem for the past or current code, but kernel functions were designed to be functional under such modifications, so as to permit tuning for hardware. This is an useful advanced functionality which thus appears to be broken.

Continuing from iteration 7 also produces a faulty iteration 8, even using non-mpi execution with a single thread. This should drastically help debugging.

cmake output slurm script with command

bforsbe avatar Sep 04 '17 09:09 bforsbe