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

Update postw90_common.F90 #120

Merged
merged 2 commits into from
Dec 17, 2017
Merged

Update postw90_common.F90 #120

merged 2 commits into from
Dec 17, 2017

Conversation

hjunlee
Copy link
Contributor

@hjunlee hjunlee commented Mar 29, 2017

Currently, Wannier90 spends the useless memory in some parts, especially in the parallel run.
For this reason, when considering systems with large number of k points and bands, it might lead to memory error.

In addition to this, there are some points in which memory is used uselessly and they are also related to the parallelisation of both core parts (wannierization and disentanglement) and post-processing parts.
Although I have my working parallel version of Wannier90, I will make an effort to apply, if any, the difference to the already-committed version.

H. Lee

hjunlee added 2 commits March 29, 2017 17:01
Currently, Wannier90 spends the useless memory in some parts, especially in the parallel run.
For this reason, for considering systems with large number of k points and bands, it might lead to memory error.

In addition to this, there are some points in which memory is used uselessly and they are also related to the parallelisation of both core parts (wannierization and disentanglement) and post-processing parts. 
Although I have my working parallel version of Wannier90, I will make an effort to apply, if any, the difference to the already-committed version.

H. Lee
@ponweist
Copy link

ponweist commented Apr 5, 2017

A viable way to reduce the memory requirements may be using MPI shared memory windows for storing read-only matrices only once per computation node (not once per process).

You may have a look at the example hpc_kernel_samples/parallel_io/read2shmem from the PRACE CodeVault, which explains and demonstrates the usage of MPI shared memory windows.

@hjunlee
Copy link
Contributor Author

hjunlee commented Apr 6, 2017

Thank you very much for the info.
Currently, I solve the memory issue in core parts with parallelization enabled by allocating some large matrices (for instance, m_matrix, m_matrix_orig, etc.) only in a root node and using mpi_gatherv, mpi_scatterv, etc.
Regarding the above patch, currently there is no need to maintain the above matrices in postw90 calculations.

@jryates jryates changed the base branch from develop to 108_POSTW90OPT_FIX December 14, 2017 20:29
@jryates jryates merged commit df7f324 into wannier-developers:108_POSTW90OPT_FIX Dec 17, 2017
manxkim pushed a commit to manxkim/wannier90 that referenced this pull request Jan 10, 2021
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