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

Add mpi #109

Closed
wants to merge 208 commits into from
Closed

Add mpi #109

wants to merge 208 commits into from

Conversation

Simkern
Copy link
Collaborator

@Simkern Simkern commented Jul 17, 2024

The present simple implementation makes LightKrylov aware of parallelism.

  • LightKrylov_Constants provides MPI initialisation and finalisation routines
  • The rank, I/O rank and communicator size are private variables in LightKrylov_Constants, namely nid, nio and comm_size, respectively. They are accessible via getter/setter routines only.
  • The user can choose to use any rank for I/O via nio.
  • The implementation is based on mpi_f08 which must be present and linked as an external module in fpm.toml. From what I see, there is no 'serial' version of the library in the sense that it would be natively compatible with serial compilation. Therefore, I have added preprocessor macros that disable the MPI related code and imports in serial cases. The variables nid, comm_size and nio are then set to the default value of 1.

closes #108

loiseaujc and others added 28 commits June 20, 2024 17:54
added type bound procedure get_size to abstract vector and GL example
…ype-bound procedures to from test/TestVectors.f90 and test/TestLinops.f90 to src/TestTypes.f90 within the LightKrylov core.
…s. Fixed typos. Changed the specific zero_xxx for the TestVectors to init_zero_xxx to avoid namespace conflict with LightKrylov_Constants.
Migrated test/TestUtils --> src/TestTypes and renamed to src/TestUtil…
@Simkern Simkern linked an issue Jul 17, 2024 that may be closed by this pull request
@Simkern Simkern closed this Jul 17, 2024
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.

Add MPI awareness to LightKrylov
2 participants