Skip to content

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

Description

@GoogleCodeExporter
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

Metadata

Metadata

Assignees

No one assigned

    Labels

    MPIRunning on distributed-memory clusters (also on multi-core processors)comp-LogicRelated to internal code logicperformanceSimulation speed, memory consumptionpri-MediumWorth assigning to a milestonesurfIn the presence of (semi-infinite) substrate
    No fields configured for Feature.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions