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

Plugin to show hardware info #348

Open
amartyads opened this issue Nov 18, 2024 · 4 comments
Open

Plugin to show hardware info #348

amartyads opened this issue Nov 18, 2024 · 4 comments

Comments

@amartyads
Copy link
Contributor

I was planning to write a plugin that shows hardware info. At minimum, it would show which rank is on which node. Creating this issue for brainstorming and for input from others.

My ideas so far:

  1. Accept a filename in xml. If there is filename, print the info in a CSV/TSV/whatever out current standard is. Otherwise, pretty-print to stdout.
  2. The info should be (at the very least)
    1. The rank (output of MPI_Comm_rank)
    2. The processor_name (output of MPI_Get_processor_name)
  3. Additional info we can have:
    1. The lower and upper bound of the subdomain in this rank (stepping on the DecompWriter's toes a bit here)
  4. The info is only printed/written at beginning of simulation. To deal with load balancing, we can either add a print frequency in the xml, or we can trigger a write whenever a load balance occurs. For this, I would add a bool called balancedInLastTImestep somewhere (probably in DomainDecompBase) that is set once a rebalance is done, and reset at the beginning of the next timestep. (NB: I would like to have this bool anyway in the future for mamico reasons, but it's not necessary in this specific issue).

Any other input/ideas?

@FG-TUM
Copy link
Member

FG-TUM commented Nov 18, 2024

Why duplicate the functionality of the DecompWriter?

@amartyads
Copy link
Contributor Author

I could just merge this idea into DecompWriter, make it also write MPI_Get_processor_name somewhere. Would that be better than writing a separate plugin?

@FG-TUM
Copy link
Member

FG-TUM commented Nov 18, 2024

I think if you just want to show the rank to hardware mapping this should be a standalone plugin. You could also include each ranks thread to core mapping.

@rubenhorn
Copy link
Contributor

I agree with @FG-TUM that the plugins should probably stick to their main responsibility… I'm not a big fan of merging this with the decomp plugin.
Also, maybe we should output to a different format than simple tabular/text file.
JSON/YAML/XML allows for hierarchical structure, which is A) easier to parse in post-processing IMHO and B) accommodates additional hardware info on different systems (future-proof).

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

No branches or pull requests

3 participants