Project

General

Profile

Feature #2354

develop configuration file support for control of task layout

Added by Mark Abraham 7 months ago. Updated 7 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
mdrun
Target version:
Difficulty:
uncategorized
Close

Description

We think that the future of task layout will be so complex that command-line options to mdrun will not be workable enough to be useful. Most users will not need to use such things, but definitely in development we need to be able to specify the layout so we can explore the solution space. So we probably need something like

  • JSON or YAML parser
  • a syntax for multi-sim, multi-rank, multi-node, multi-socket, multi-GPU, etc. task layout
  • code to record the layout that the defaults chose (maybe even useful for testing that code)
  • code to read the layout and apply it (or fail if impossible)

https://gerrit.gromacs.org/c/7269/ implements mdrun -tasks if we think that will be useful enough for some short term goals.


Related issues

Related to GROMACS - Task #2124: PME GPU user interface suggestionsClosed

History

#1 Updated by Mark Abraham 7 months ago

  • Related to Task #2124: PME GPU user interface suggestions added

#2 Updated by Erik Lindahl 7 months ago

To avoid having too many separate configuration files, it sounds as if we should try to combine this with all other run meta-settings (that should not influence the result) such as threading, domain decomposition and load balancing.

#3 Updated by Mark Abraham 7 months ago

Erik Lindahl wrote:

To avoid having too many separate configuration files, it sounds as if we should try to combine this with all other run meta-settings (that should not influence the result) such as threading, domain decomposition and load balancing.

Oh, indeed. Threading and DD are aspects of the code closely related to task assignment.

Tuning moves between assignments. Load balancing changes parameters within an assignment (e.g. box size). Parameters for those I don't think are something that should be specified in an config file that specifies the task assignment.

#4 Updated by Erik Lindahl 7 months ago

We can discuss it, but we also need to limit the number of separate configuration files used for a run. The good thing with JSON is that it's hierarchical and modular, so it can have different sections.

#5 Updated by Mark Abraham 7 months ago

Erik Lindahl wrote:

We can discuss it, but we also need to limit the number of separate configuration files used for a run. The good thing with JSON is that it's hierarchical and modular, so it can have different sections.

I wasn't meaning to suggest multiple files.

A config file to specify the task assignment makes sense. I don't think there's any place in that for trying to specify the initial state of PME tuning or DLB.

Also available in: Atom PDF