Infer the ReFrame partition name based on the node_type listed in the job's cfg #124
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, we construct a ReFrame partition name based on the software subdir that is being used. E.g. the constructed partition name would be
x86_64_intel_skylake_avx512on an intel skylake node. However, this leads to failures in the test step when cross compiling:Because ReFrame will look for a partition
aarch64_neoverse_v1_accel_nvidia_cc90in the ReFrame config, but that doesn't exist. We could of course define 5 identical partitionsaarch64_neoverse_v1_accel_nvidia_ccXX(with XX=70, 80, 90, 100, 120), but there's no point: they all represent the same physical node, with the same physical properties (namely: it has no GPU!).Rather than this duplication, we should really have one ReFrame partition that corresponds to the actual hardware in the node, and make sure that whenever that node is used for building, this partition config is used. With the change of
arch_target_maptonode_type_mapon the bot side, I silently introduced a property in thecfg/job.cfgfile that allows us to do this: it stores thenode_type, i.e. the keys in thenode_type_map. Using this means one has to use the same names for partitions in theapp.cfgand the ReFrame config file, which I think is intuitive.The way in which I implemented this is that I retrieve the
node_typevalue in thebot/test.sh, then pass it as an argument totest_suite.sh. I also made sure that it still works with the old configuration.Proof that this works: