adda icon indicating copy to clipboard operation
adda copied to clipboard

Changing the order of FFT transforms in matvec.c

Open GoogleCodeExporter opened this issue 8 years ago • 4 comments

Currently the FFTs in matvec are performed as x-z-y and grids along x and z are 
divided among processors in parallel mode (at different steps).

If z and y FFTs are interchanged, then computing reflected interaction can be 
optimized. It will require only additional fftZ (now fftY and fftZ) and 
somewhat smaller additional memory. Also then the grids along x and y will be 
divided among processors. This is good for the typical situation of particles 
near surfaces, like large particulate slabs, which have the smallest dimension 
along z.

However, division of dipoles along z is also used in several other parts of the 
code - so it has to be changed to e.g. division over x.

Overall, this may change the behavior (performance but not results) of existing 
MPI simulation settings (execution scripts, shape files, etc.) so this change 
should probably be discussed with users before-hand.

Original issue reported on code.google.com by yurkin on 25 Sep 2013 at 9:30

  • Blocking: #174

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

If such memory rearrangement is performed, we can also try to fix issue 174.

Original comment by yurkin on 25 Sep 2013 at 9:49

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

Original comment by yurkin on 25 Sep 2013 at 9:55

  • Now blocking: #174

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

It is easier to address this issue first for OpenCL mode alone - see comments 
under r1344.

r1344 - e0e060f35ac01ec517244032266a3994a0964c9e

Original comment by yurkin on 29 May 2014 at 5:06

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

/cc @mapclyps

myurkin avatar Aug 14 '15 10:08 myurkin