-
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
Add command: benchpark system init
#298
Conversation
…ust variables.yaml)
This reverts commit 776eca7.
… intended to be shared between system and experiment
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.
Most of these are pretty simple/mechanical changes.
The only big picture issue is the benchpark system create
name. I think it would be better UX to name this benchpark system init
-- in the long run I think users are unlikely to think of the yaml on disk as the "system" that is created, since they'll be interacting with the python interface. So I think it's better to preserve the benchpark system create
name to create the python files later (which is also analogous to Spack and Ramble).
We should also eventually provide a mechanism to init the system as part of the setup command, but that's a separate PR.
print("All tags that exist in Benchpark experiments:") | ||
for k, v in benchpark_experiments_tags.items(): | ||
print(k) | ||
basedir = pathlib.Path(os.path.abspath(__file__)).parent.parent |
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.
For a follow-on PR, we should make this bilingual like we did for the equivalent Spack script
lib/benchpark/sys_repo/systems/tioga/compilers/rocm/01-rocm-543-compilers.yaml
Outdated
Show resolved
Hide resolved
benchpark system create
benchpark system init
…nalogs to it, but should be referred to as such)
@becker33 I have renamed
Also I don't think I mentioned it yet, but the style checker was giving me trouble trying to block this on style issues in the system/experiment repos. I had some trouble getting it to ignore those, so I just fixed those issues for now. IMO we shouldn't apply the same stringency to system/experiment definitions as we do to the core (but if you disagree, then this PR is in the right place). |
@scheibelp can we move |
benchpark system init
benchpark system init
@becker33 The only remaining comment is #298 (comment), which I'd like to address in a different PR. |
Closes #110
(note: ~500 of the +/- of this diff is from moving
bin/benchpark
tolib/main.py
- I recommend collapsing these to make the diff more-readable)Add a new command
benchpark system init
, that can generate a system config (a collection of files in a directory) that you can then pass tobenchpark setup
like:Example 1:
./bin/benchpark system init --basedir=test-system-create aws instance_type=c4.xlarge
(old)
./bin/benchpark system create --basedir=test-system-create --type=aws --set instance-type=c4.xlarge
Creates a directory in
test-system-create
, and writes avariables.yaml
file to it:This doesn't tie in with
boto
yet, so doesn't provide a means to generate a description for all instance types. IMO that would be better to handle in a separate PR.Example 2:
./bin/benchpark system init --basedir=test-system-create tioga rocm=551 compiler=cce ~gtl
(old)
./bin/benchpark system create --basedir=test-system-create --type=tioga
will assemble a
packages.yaml
config such that:(Update August 3rd: done)
This doesn't yet generate avariables.yaml
or a compiler config, so the result is incomplete.TODOs
--basedir
argument can generate an entirely new system config directory, butbenchpark setup
can't actually use it yetpackages
/compilers
configThis has a--from
option to allow taking an existing config, but doesn't support it yet. I think it would be useful to combine this option with--set
to override settings from that fileconfigs/
)