FZJ-JSC / JUBE

The JUBE benchmarking environment provides a script based framework to easily create benchmark sets, run those sets on different computer systems and evaluate the results. It is actively developed by the Jülich Supercomputing Centre of Forschungszentrum Jülich, Germany.
https://www.fz-juelich.de/ias/jsc/jube
GNU General Public License v3.0
34 stars 12 forks source link

Use tagging in include-path with YAML #2

Closed dindon-sournois closed 11 months ago

dindon-sournois commented 1 year ago

It seems there's no documented way of doing in YAML what is advertised in the documentation in XML:

<?xml version="1.0" encoding="UTF-8"?>
<jube>
  <include-path>
    <path tag="plat1">some path</path>
    <path tag="plat2">another path</path>
    ...
  </include-path>
  ...
</jube>

Is it supported ?

thobreuer commented 1 year ago

Yes it is supported. But we found a bug. If you don't want to wait for the next version, you have to make the following code adaptation: Please change line 668 of file jube2/jubeio.py (https://github.com/FZJ-JSC/JUBE/blob/master/jube2/jubeio.py#L668):

-        if len(include_path_etree.text.strip()) > 0:
+        if (include_path_etree.text) and len(include_path_etree.text.strip()) > 0:

Here is a YAML example which we will add to the docu:

  include-path:
    path:
      - {tag: plat1,  _: "some path"}
      - {tag: plat2,  _: "another path"}
dindon-sournois commented 1 year ago

I'll test this as soon as I'm able to patch the jube I'm using thanks!

dindon-sournois commented 1 year ago

I could test it and it works. You might want to increase indentation up a notch in your example for "path:" and bellow as I was getting parsing errors.
I had hope I could use $jube_benchmark_home in the path but it seems not, but I made it work with relative path.

thobreuer commented 11 months ago

Thanks for reporting. Fixed in https://github.com/FZJ-JSC/JUBE/commit/27c3d5725097b30aa4ad0ab725a6f441a8897a20 as part of REL-2.6.0. Unfortunately, parameters such as $jube_benchmark_home have not yet been evaluated at the time the includes are processed, and therefore cannot be used.