#include <AMReX_FFT_Helper.H>
◆ setBatchSize()
| Info & amrex::FFT::Info::setBatchSize |
( |
int |
bsize | ) |
|
|
inline |
Specify the batch size for FFT.
- Parameters
-
| bsize | Number of independent transforms executed together. |
- Returns
- Reference to this Info.
◆ setDomainStrategy()
Select how the domain is decomposed across MPI ranks.
- Parameters
-
| s | Strategy (automatic|slab|pencil). |
- Returns
- Reference to this Info.
◆ setNumProcs()
| Info & amrex::FFT::Info::setNumProcs |
( |
int |
n | ) |
|
|
inline |
Cap the number of MPI ranks used by FFT.
- Parameters
-
- Returns
- Reference to this Info.
◆ setOneDMode()
| Info & amrex::FFT::Info::setOneDMode |
( |
bool |
x | ) |
|
|
inline |
Flag the degenerate 2-D mode (nx==1 or ny==1) that still batches along z.
This keeps the solver in “two-dimensional” mode but makes it clear that only one transverse direction has more than one cell; the z-direction remains the batch axis.
- Parameters
-
| x | True when running on effectively 1-D x/y planes while batching along z. |
- Returns
- Reference to this Info.
◆ setPencilThreshold()
| Info & amrex::FFT::Info::setPencilThreshold |
( |
int |
t | ) |
|
|
inline |
Override the slab→pencil break-even threshold for the automatic strategy.
- Parameters
-
| t | Minimum cells per rank before switching to pencil decomposition. |
- Returns
- Reference to this Info.
◆ setTwoDMode()
| Info & amrex::FFT::Info::setTwoDMode |
( |
bool |
x | ) |
|
|
inline |
Restrict transforms to the first two dimensions (3-D problems only).
- Parameters
-
| x | True to operate on x/y planes while batching along z. |
- Returns
- Reference to this Info.
◆ batch_size
| int amrex::FFT::Info::batch_size = 1 |
Batched FFT size. Only support in R2C, not R2X.
◆ domain_strategy
Domain composition strategy.
◆ nprocs
| int amrex::FFT::Info::nprocs = std::numeric_limits<int>::max() |
Max number of processes to use.
◆ oned_mode
| bool amrex::FFT::Info::oned_mode = false |
- 2D builds: oned_mode=true means we FFT in x only and treat y as the batch size.
- 3D builds with twod_mode=false: same behavior as the 2D case, but the z-dimension also participates in the batch.
- 3D builds with twod_mode=true: setting oned_mode=true further signals that exactly one of {nx, ny} is 1, so only the non-degenerate direction needs FFT work while the other stays batched.
◆ pencil_threshold
| int amrex::FFT::Info::pencil_threshold = 4 |
For automatic strategy, this is the size per process below which we switch from slab to pencil.
◆ twod_mode
| bool amrex::FFT::Info::twod_mode = false |
Supported only in 3D. When twod_mode is true, FFT is performed on the first two dimensions only and the third dimension size is the batch size.
The documentation for this struct was generated from the following file: