dalerxli / a-dda

Automatically exported from code.google.com/p/a-dda
0 stars 0 forks source link

Changing the order of FFT transforms in matvec.c #177

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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 commented 9 years ago

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

GoogleCodeExporter commented 9 years ago
It is easier to address this issue first for OpenCL mode alone - see comments 
under r1344.

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