Implementation Details

For now, please see these presentations:

Zero-Copy Data APIs

pyAMReX implements the following standardized data APIs:

  • __array_interface__ (CPU)

  • __cuda_array_interface__ (CUDA GPU)

  • DLPack (coming soon)

These APIs are automatically used when creating “views” (non-copy) numpy arrays, cupy arrays, PyTorch tensors, etc. from AMReX objects such as Array4 and particle arrays.