Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable data transfers larger than 2 GiB #153

Merged
merged 1 commit into from
Nov 8, 2022
Merged

Enable data transfers larger than 2 GiB #153

merged 1 commit into from
Nov 8, 2022

Conversation

fknorr
Copy link
Contributor

@fknorr fknorr commented Nov 8, 2022

Currently, buffer data transfers are limited to 2 GiB by the MPI_Isend/Irecv API that takes 32-bit signed integer element counts. This PR increases the limit to 128GiB by transferring data as arrays of a 64-byte custom MPI type.

Since the receiver side cannot recover the byte-exact frame size, we also have to drop unique_frame_ptr::get_payload_count(), which was fortunately only used in one assertion.

@fknorr fknorr requested review from psalz and PeterTh November 8, 2022 16:05
@fknorr fknorr self-assigned this Nov 8, 2022
Copy link
Contributor

@PeterTh PeterTh left a comment

Choose a reason for hiding this comment

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

LGTM.

Copy link
Member

@psalz psalz left a comment

Choose a reason for hiding this comment

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

Neat, LGTM!

@fknorr fknorr merged commit 972682f into master Nov 8, 2022
@fknorr fknorr deleted the large-transfers branch November 8, 2022 17:06
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.

3 participants