-
Notifications
You must be signed in to change notification settings - Fork 117
[feat] Auto-detect cpu topology #1991
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
Conversation
…t/proc-detection
Codecov Report
@@ Coverage Diff @@
## master #1991 +/- ##
==========================================
- Coverage 87.51% 86.75% -0.76%
==========================================
Files 50 52 +2
Lines 8891 9235 +344
==========================================
+ Hits 7781 8012 +231
- Misses 1110 1223 +113
Continue to review full report at Codecov.
|
jjotero
left a comment
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.
Just very minor comments and a bit of a corner case where this fails (see the comment below on the autodetect.py file).
|
Hello @vkarak, Thank you for updating! Cheers! There are no PEP8 issues in this Pull Request!Do see the ReFrame Coding Style Guide Comment last updated at 2021-07-09 13:37:44 UTC |
jjotero
left a comment
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.
Need to update the docs to have the right name for the config options and env vars. Other than this, looks good!
jjotero
left a comment
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.
lgtm
|
@jenkins-cscs retry daint pilatus |
This integrates @ekouts' CPU auto-detection work into the framework. ReFrame will try to auto-detect the system's topology the first time it runs on it and will reuse that in subsequent runs on the same system. More specifically:
{configdir}/_meta/{system}-{part}/processor.jsonor in~/.reframe/topology/{system}-{part}/processor.jsonin case of the builtin configuration file. If the file is found, the topology information is loaded from there.RFM_REMOTE_DETECT(or the corresponding configuration option) is set.{launcher} reframe --detect-host-topology=topo.json. The--detect-host-topologyoption causes ReFrame to detect the topology of the current host. More specifically, ReFrame creates a temporary directory under.(by default) where it copies itself and re-bootstraps itself inside the job script, i.e., on the remote nodes. This is to account for environment differences between the local and remote hosts.RFM_REMOTE_WORKDIRenvironment variable.I tested it on Dom, Eiger and Ault and works beautifully.
Todos
Future work
Auto-detection of GPU devices is left for future work.
Fixes #1742.