Skip to content

Implement CUDA-aware IO in ADIOS2 #176

@ia267

Description

@ia267

Current implementation treats CPU and GPU data identically, which may lead to unnecessary data transfers using the CUDA backend

Implementation details:

  • Modify adios2_io.f90 to detect backend type at runtime
  • Add backend-specific implementation for write operations
  • Implement CUDA-specific code path using ADIOS2's GPU-aware functionality
  • Add proper synchronisation for CUDA streams before I/O
  • Add build-time detection of ADIOS2 CUDA support

Acceptance criteria:

  • Data remains on GPU during I/O operations when using CUDA backend
  • Performance improvement for checkpoint/snapshot operations with large datasets on GPU
  • Graceful fallback when ADIOS2 lacks CUDA support
  • No performance regression for OMP backend

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions