Lab and Downward Lab 8.0

22 views
Skip to first unread message

Jendrik Seipp

unread,
Oct 21, 2023, 12:44:34 PM10/21/23
to fast-d...@googlegroups.com, RLPLAB
Hi everyone,

I'm happy to announce a new version of Lab and Downward Lab (https://lab.readthedocs.io). Here are the most important changes:

Lab

  • Make parsing a separate experiment step (Jendrik Seipp).

This change has been planned for a long time and I'm glad it's released now. This change makes writing parsers easier, speeds up parsing and even simplifies the internal Lab code:
  • No need to write parsers in separate files.

  • Log output from solvers and parsers remains separate.

  • No need for exp.add_parse_again_step(). Parsing and re-parsing is now exactly the same.

  • Parsers are checked for syntax errors before the experiment is run.

  • Parsing runs much faster (for an experiment with 3 algorithms and 5 parsers the parsing time went down from 51 minutes to 5 minutes, both measured on cold file system caches).

  • As before, you can let the Slurm environment do the parsing for you and get notified when the report is finished: ./myexp.py build start parse fetch report

To adapt your parsers to this new API, you need to make the following changes:

  • Your parser module (e.g., “custom_parser.py”) does not have to be executable anymore, but it must be importable and expose a Parser instance (see the changes to the translator parser for an example). Then, instead of exp.add_parser("custom_parser.py") use from custom_parser import MyParser and exp.add_parser(MyParser()).

  • Remove exp.add_parse_again_step() and insert exp.add_step("parse", exp.parse) after exp.add_step("start", exp.start_runs).


To upgrade to the latest version, use "pip install --upgrade lab" (preferably in a virtual environment).

Cheers,
Jendrik





Reply all
Reply to author
Forward
0 new messages