-
Notifications
You must be signed in to change notification settings - Fork 25
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
New Benchpark command: "system-create" #110
Conversation
…an now be satisfied by selecting --template
…tures/system-create
system_create_parser = subparsers.add_parser( | ||
"system-create", help="Initialize a system config" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be great if we could split this out into system create
instead and support additional sub-commands such as system list
and system edit
in the future.
"system-create", help="Initialize a system config" | ||
) | ||
system_create_parser.add_argument( | ||
"--template", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do folks think about a shorthand -t
as an additional flag?
help="Choose common config settings in templates/", | ||
) | ||
system_create_parser.add_argument( | ||
"--from", dest="use_existing", type=str, help="Copy an existing system config" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! We'd talked about this prior but I really like the idea of being able to copy from an existing system and just tweak it as necessary.
Add command that can be used to instantiate a new system definition, for example:
This will often require an intermediate editing step, in particular to define
auxiliary_software_files
; after that, you could e.g. do:Broadly:
--from
--template
optionsIf two templates define Ramble configurations with the same name, this command will use a
ramble-python
script to automatically merge them:(where here,
templates/scheduler/slurm/
andtemplates/catch-all
both definevariables.yaml
)Current issues:
(done as of Jan. 23) Right now, if two templates define the same file name, the last one will overwrite all prior
(New Jan. 23) Right now, I have
benchpark
clone its own Ramble when executingsystem-create
, this means that there can be multiple Ramble installations:benchpark
itself (to runramble-python
)It might be better to manage this
ramble
instance as a Git submodule(New Jan. 23) Tests for
system-create
would be good(possibly for later)
bin/benchpark
is now reaching a size where it would be useful to split it upI've added some initial entries to
templates/
to give a notion of how they are supposed to be used in combination with thesystem-create
command, but there's not enough there to be actually useful yet