parkipy.distributed.ewald.DistributedEwaldOptions

class parkipy.distributed.ewald.DistributedEwaldOptions(
box: List[float],
periodicity: Literal[0, 1, 2, 3],
tolerance: float,
execution_space: pykokkos.ExecutionSpace | Literal['CUDA', 'HIP', 'OPENMP'],
p2p_method: Literal['GM-1D', 'GM-2D', 'SM-1D', 'SM-2D'] = 'GM-1D',
p2g_method: Literal['BASE', 'SOURCE', 'GRID', 'HYBRID'] = 'HYBRID',
g2p_method: Literal['BASE', 'TARGET'] = 'TARGET',
fft_type: Literal['R2C', 'C2C'] = 'R2C',
torch_fft: int = False,
p2p_threads_x: int = 128,
p2p_threads_y: int = 1,
p2g_threads: int = 128,
g2p_threads: int = 128,
cell_size: int | None = None,
rc: float | None = None,
return_walltime: bool = False,
return_params: bool = False,
scatter: bool = True,
)

Data class providing options for the distributed Ewald kernels. Subclass of EwaldOptions.

Parameters:

scatter (bool) – Scatter targets and sources across ranks. This is an all-to-all operation and assumes no structure in the particle distribution. If particles are already slab distributed across ranks, scatter can be set to false. If false, target points are guaranteed to live in the same order on their original rank. Defaults to True.