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

adapt block size in save_parallel #7268

Merged

Conversation

BenBrands
Copy link
Contributor

Not all processes have to be involved actively in saving the content of a matrix.

Scenario: A 2*10^9 x 400 matrix is distributed on a 80 x 5 process grid using block size 32. Previously, the matrix is copied to a matrix distributed on a 1 x 400 process grid with a row block size of 2*10^9 and a column block size of 1. Therefore, all processes are involved in saving the matrix. This behavior causes a considerable amount of communication for this scenario and makes saving the matrix very expensive.
With the change in this commit, only ceil(400/32)=13 processes will be actively involved in saving the matrix and the amount of communication is reduced.

Note: The behavior for use cases, in which both matrix dimensions are much larger than the block sizes, remains unchanged.

Copy link
Contributor

@davydden davydden left a comment

Choose a reason for hiding this comment

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

could you add a comment around modified line which reminds us why we do this? (more or less copy-paste of PR description)

@BenBrands BenBrands force-pushed the update_ScaLAPACK_save_parallel branch from 981aee6 to f802edd Compare October 4, 2018 16:21
@davydden
Copy link
Contributor

davydden commented Oct 5, 2018

/run-tests

@bangerth
Copy link
Member

bangerth commented Oct 6, 2018

/run-tests

@masterleinad
Copy link
Member

Let's try one last time.

/run-tests

@masterleinad masterleinad merged commit 2684937 into dealii:master Oct 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants