.. _module-structure-distributed: ***************** Multi-device APIs ***************** ParkiPy has a distributed namespace and submodules offering a subset of the main namespaces capabilities for distributed systems. .. warning:: Currently, the distributed package only supports the `'Cuda'` execution space for device calls. Overview ======== The distributed APIs behave similarly to their single-device counterparts, with the exception that input arrays are initialised locally on each device and programs are launched with ``mpiexec`` or an equivalent MPI launcher to start multiple processes. Each rank owns a contiguous slab of the particle domain in the first periodic direction. Main namespaces =============== - :ref:`parkipy.distributed ` - :ref:`parkipy.distributed.ewald ` .. toctree:: :hidden: parkipy.distributed parkipy.distributed.ewald