Differences between revisions 13 and 14
Revision 13 as of 2020-07-08 13:25:11
Size: 3204
Comment: Let the second section refer to the first instead of the other way around. Also the convention for the extension of singularity image files settled on "sif".
Revision 14 as of 2020-07-27 15:50:20
Size: 4182
Editor: MalteHelmert
Comment: general cleanup, extend Singularity and Docker discussion
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Starting with Fast Downward 19.06, we release the planner in four flavours: tarball, Singularity, Docker and Vagrant. 
We provide below a few instructions to get you started as quickly as possible, but you can find a more detailed description on [[ObtainingAndRunningFastDownward]] and [[PlannerUsage]].
Fast Downward is released in four flavours: tarball, Singularity, Docker and Vagrant.
We provide below a few instructions to get you started as quickly as possible. You can find a more detailed description on [[ObtainingAndRunningFastDownward]] and [[PlannerUsage]].
Line 17: Line 17:
Let us assume that you have [[https://www.sylabs.io/guides/3.5/user-guide/quick_start.html#quick-installation-steps|Singularity]] installed on your machine (we have tested this with Singularity 2.6, 3.2, and 3.5), and want to solve a planning problem located in the `$BENCHMARKS` directory. You can run run the ''satisficing'' LAMA configuration of the planner: We assume that [[https://www.sylabs.io/guides/3.5/user-guide/quick_start.html#quick-installation-steps|Singularity]] is installed on your machine. We have tested Singularity 2.6, 3.2, and 3.5.
Here is how you can download the planner image and run the LAMA-first configuration
to solve a planning task located in the `$BENCHMARKS` directory. LAMA-first is designed to find solutions quickly without much regard for plan cost:
Line 20: Line 21:
# Download the planner image and store it in the file "downward.sif". Only do this once.
Line 21: Line 23:
# Run the planner.
Line 24: Line 27:
The first command downloads the Singularity image into the local file `downward.sif`, while the second command is the one running Fast Downward from this image.
Unlike Docker, `$BENCHMARKS` does not have to be an absolute path.
Unlike Docker (see below), `$BENCHMARKS` does not have to be an absolute path.
Line 27: Line 29:
=== Alternative way without "singularity run" ===

With reasonably recent versions of Singularity, the image file can be executed directly like a script, leading to a simpler usage than via `singularity run`. For example, you can download and run the planner like this:

{{{#!highlight bash
# Download the planner and store it in the file "downward". Only do this once.
singularity pull --name downward shub://aibasel/downward
# Run the planner.
./downward --alias lama-first $BENCHMARKS/gripper/prob01.pddl
}}}

=== Troubleshooting ===

Depending on your configuration, the `singularity pull` step might produce an error message like the following:

{{{
ERROR : Called singularity_config_get_value on uninitialized config subsystem
ABORT : Retval = 255
}}}

In our experience, this error can be ignored.
Line 30: Line 53:
Let us assume that you have [[https://docs.docker.com/install/|Docker]] installed on your machine and want to solve a planning problem located on the `$BENCHMARKS` directory.
You can run the same LAMA configuration as before:
We assume that [[https://docs.docker.com/install/|Docker]] is installed on your machine. You want to solve a planning problem located on the `$BENCHMARKS` directory.
You can run the same LAMA-first configuration as before:
Line 34: Line 57:
docker run --rm -v $BENCHMARKS:/benchmarks aibasel/downward --alias lama-first /benchmarks/gripper/prob01.pddl sudo docker run --rm -v $BENCHMARKS:/benchmarks aibasel/downward --alias lama-first /benchmarks/gripper/prob01.pddl
Line 37: Line 60:
Note the use of `sudo` (Docker usually requires root privileges).
Line 38: Line 63:
containerized planner reads the problems from.
The path stored in the `$BENCHMARKS` variable needs to be absolute.
containerized planner looks for the problem.
The path stored in the `$BENCHMARKS` variable must be absolute.
Line 41: Line 66:
The Docker image for Fast Downward is installed on your machine as a side-effect of the command.
Line 44: Line 70:
Assuming that you have [[https://www.vagrantup.com/|Vagrant]] installed on your machine, you can use the Fast Downward Vagrantfile as follows: We assume that [[https://www.vagrantup.com/|Vagrant]] is installed on your machine. You can use the Fast Downward `Vagrantfile` as follows:
Line 46: Line 72:
 * Place the Vagrantfile for the desired [[Releases|release]] into some empty directory.  * Place the `Vagrantfile` for the desired [[Releases|release]] into some empty directory.

Back to the HomePage.

Quick start

Fast Downward is released in four flavours: tarball, Singularity, Docker and Vagrant. We provide below a few instructions to get you started as quickly as possible. You can find a more detailed description on ObtainingAndRunningFastDownward and PlannerUsage.

What flavour is for me?

  • running experiments: We recommend Singularity or the tarball. Docker is an alternative, but be mindful of its significant overhead.

  • teaching: We recommend Vagrant.

  • development: We recommend working on a clone of the master repository.

See WhatFlavourIsForMe for a more detailed discussion.

Running the Singularity image

We assume that Singularity is installed on your machine. We have tested Singularity 2.6, 3.2, and 3.5. Here is how you can download the planner image and run the LAMA-first configuration to solve a planning task located in the $BENCHMARKS directory. LAMA-first is designed to find solutions quickly without much regard for plan cost:

   1 # Download the planner image and store it in the file "downward.sif". Only do this once.
   2 singularity pull --name downward.sif shub://aibasel/downward
   3 # Run the planner.
   4 singularity run downward.sif --alias lama-first $BENCHMARKS/gripper/prob01.pddl

Unlike Docker (see below), $BENCHMARKS does not have to be an absolute path.

Alternative way without "singularity run"

With reasonably recent versions of Singularity, the image file can be executed directly like a script, leading to a simpler usage than via singularity run. For example, you can download and run the planner like this:

   1 # Download the planner and store it in the file "downward". Only do this once.
   2 singularity pull --name downward shub://aibasel/downward
   3 # Run the planner.
   4 ./downward --alias lama-first $BENCHMARKS/gripper/prob01.pddl

Troubleshooting

Depending on your configuration, the singularity pull step might produce an error message like the following:

ERROR  : Called singularity_config_get_value on uninitialized config subsystem
ABORT  : Retval = 255

In our experience, this error can be ignored.

Running the Docker image

We assume that Docker is installed on your machine. You want to solve a planning problem located on the $BENCHMARKS directory. You can run the same LAMA-first configuration as before:

   1 sudo docker run --rm -v $BENCHMARKS:/benchmarks aibasel/downward --alias lama-first /benchmarks/gripper/prob01.pddl

Note the use of sudo (Docker usually requires root privileges).

Note that this mounts the local directory $BENCHMARKS of your host machine under the container directory /benchmarks, which is the place where the containerized planner looks for the problem. The path stored in the $BENCHMARKS variable must be absolute.

The Docker image for Fast Downward is installed on your machine as a side-effect of the command.

Using a Vagrant machine

We assume that Vagrant is installed on your machine. You can use the Fast Downward Vagrantfile as follows:

  • Place the Vagrantfile for the desired release into some empty directory.

  • Put your PDDL files into the same directory as the Vagrantfile, say, under names domain.pddl and problem.pddl.

  • Navigate to this directory and type vagrant up.

  • Log into the Vagrant virtual machine by typing vagrant ssh.

  • Run downward/fast-downward.py --alias lama-first /vagrant/domain.pddl /vagrant/problem.pddl.

  • Type exit to leave the virtual machine, then vagrant halt to stop it.

Source code

See ObtainingAndRunningFastDownward for a complete description on how to build the planner from source.

Next steps

FastDownward: QuickStart (last edited 2023-10-12 12:30:20 by GabiRoeger)