Skip to content

GPU-aware MPI selector#85

Merged
luraess merged 7 commits intomainfrom
lr/gpu-aware
Apr 15, 2025
Merged

GPU-aware MPI selector#85
luraess merged 7 commits intomainfrom
lr/gpu-aware

Conversation

@luraess
Copy link
Member

@luraess luraess commented Apr 14, 2025

Addresses #63

EDIT:

The architecture constructor Arch() has now an extra kwarg gpu_aware which allows to specify whether the target MPI implementation is GPU-aware when initialising a distributed architecture. GPU-awareness defaults to false for CPU() and Metal() backends:

Architectures.Arch(backend::Backend, comm::MPI.Comm, dims; device_id=nothing, gpu_aware=true)

@luraess
Copy link
Member Author

luraess commented Apr 14, 2025

Needs a final checkup on ALPS and LUMI to make sure we would be good to go.

@luraess luraess marked this pull request as ready for review April 14, 2025 21:07
using Chmy.BoundaryConditions

import Chmy.Architectures: gpu_aware_compat
import Chmy.Architectures: disable_task_sync!, gpu_aware_compat
Copy link
Member Author

@luraess luraess Apr 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@utkinis this went under during rework of #65

@luraess
Copy link
Member Author

luraess commented Apr 15, 2025

Testing on ALPS:

  • with CUDA-aware MPI (and default arch -> gpu_aware=true)
    Screenshot 2025-04-15 at 12 32 56

  • without CUDA-aware MPI and gpu_aware=false
    Screenshot 2025-04-15 at 12 32 26

@luraess luraess requested a review from utkinis April 15, 2025 10:35
@luraess
Copy link
Member Author

luraess commented Apr 15, 2025

This could be ready for review. Then we need to release a patch (0.1.24) to prop the bug fix from #85 (comment)

@utkinis
Copy link
Member

utkinis commented Apr 15, 2025

Thanks @luraess, looks good to me

@luraess luraess merged commit 9ff2c78 into main Apr 15, 2025
9 checks passed
@luraess luraess deleted the lr/gpu-aware branch April 15, 2025 16:53
@luraess luraess mentioned this pull request Apr 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants