|
SHAFFT 1.1.0-alpha
A Scalable High-dimensional Accelerated FFT Library
|
N-D configuration object (C POD struct). More...
#include <shafft.h>
Public Attributes | |
| size_t | structSize |
| int | apiVersion |
| int | ndim |
| shafft_t | precision |
| size_t * | globalShape |
| shafft_decomposition_strategy_t | strategy |
| shafft_transform_layout_t | outputPolicy |
| size_t | memLimit |
| int * | hintCommDims |
| int | hintNda |
| int * | commDims |
| int | nda |
| int | commSize |
| size_t | allocElements |
| shafft_nd_layout_t | initial |
| shafft_nd_layout_t | output |
| int | isActive |
| int | activeRank |
| int | activeSize |
| MPI_Comm | worldComm |
| MPI_Comm | activeComm |
| int | nodeId |
| int | nodeCount |
| char * | hostname |
| size_t | hostnameLen |
| char * | deviceName |
| size_t | deviceNameLen |
| int | flags |
| int | status |
| int | reserved [8] |
The authoritative data store for all language APIs. Caller-owned (stack/heap); internal arrays are config-owned. Do NOT copy by value (owning pointers — double-free hazard). Use shafftConfigNDInit/shafftConfigNDRelease to manage lifecycle.
| size_t shafft_nd_config_t::structSize |
Must be sizeof(shafft_nd_config_t).
| int shafft_nd_config_t::apiVersion |
API version (set by init).
| int shafft_nd_config_t::ndim |
Number of tensor dimensions.
| shafft_t shafft_nd_config_t::precision |
FFT type (SHAFFT_C2C or SHAFFT_Z2Z).
| size_t* shafft_nd_config_t::globalShape |
Global extents per axis (config-owned, length = ndim).
| shafft_decomposition_strategy_t shafft_nd_config_t::strategy |
Decomposition strategy.
| shafft_transform_layout_t shafft_nd_config_t::outputPolicy |
Forward output-layout policy.
| size_t shafft_nd_config_t::memLimit |
Per-rank memory limit in bytes (0 = no limit).
| int* shafft_nd_config_t::hintCommDims |
Process grid hint (config-owned, length = ndim).
| int shafft_nd_config_t::hintNda |
Number of distributed axes hint (0 = auto).
| int* shafft_nd_config_t::commDims |
Resolved process grid (config-owned, length = ndim).
| int shafft_nd_config_t::nda |
Resolved number of distributed axes.
| int shafft_nd_config_t::commSize |
Number of active ranks.
| size_t shafft_nd_config_t::allocElements |
Required buffer size in complex elements.
| shafft_nd_layout_t shafft_nd_config_t::initial |
Layout before execution.
| shafft_nd_layout_t shafft_nd_config_t::output |
Post-forward layout (policy-dependent).
| int shafft_nd_config_t::isActive |
Boolean: this rank participates.
| int shafft_nd_config_t::activeRank |
Rank within active subset; -1 if inactive.
| int shafft_nd_config_t::activeSize |
Number of active ranks; 0 before resolve.
| MPI_Comm shafft_nd_config_t::worldComm |
Dup of communicator passed to init.
| MPI_Comm shafft_nd_config_t::activeComm |
Subcommunicator of active ranks; MPI_COMM_NULL if inactive.
| int shafft_nd_config_t::nodeId |
Node identifier within the communicator.
| int shafft_nd_config_t::nodeCount |
Total number of distinct nodes.
| char* shafft_nd_config_t::hostname |
Config-owned hostname string.
| size_t shafft_nd_config_t::hostnameLen |
Length of hostname (excluding null).
| char* shafft_nd_config_t::deviceName |
Config-owned device name; NULL if not applicable.
| size_t shafft_nd_config_t::deviceNameLen |
Length of deviceName (excluding null).
| int shafft_nd_config_t::flags |
Bitwise OR of shafft_config_flags_t values.
| int shafft_nd_config_t::status |
Last resolve/init status code.
| int shafft_nd_config_t::reserved[8] |
Reserved for future use.