Differences between revisions 15 and 18 (spanning 3 versions)
Revision 15 as of 2020-07-27 16:48:20
Size: 4919
Editor: MalteHelmert
Comment: Elaborate Vagrant instructions.
Revision 18 as of 2022-06-17 19:49:42
Size: 4556
Editor: MalteHelmert
Comment: Update instructions to reflect current status of Apptainer.
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
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]].
Fast Downward is released in four flavours: tarball, Apptainer (formerly known as Singularity), Docker and Vagrant.
Here we provide instructions to get you started as quickly as possible. You can find a more detailed description on [[ObtainingAndRunningFastDownward]] and [[PlannerUsage]].
Line 10: Line 10:
 * '''running experiments''': We recommend Singularity or the tarball. Docker is an alternative, but be mindful of its significant overhead.  * '''running experiments''': We recommend Apptainer or the tarball. Docker is an alternative, but be mindful of its significant overhead.
Line 15: Line 15:
== Running the Singularity image == == Running the Apptainer image ==
Line 17: Line 17:
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:
We have tested Apptainer 1.0.2. If Apptainer isn't installed on your machine, check the following section.

Download the Apptainer image from the release page and directly run it as an executable. You may need to make the image executable first:
Line 21: Line 22:
# Download the planner image and store it in the file "downward.sif". Only do this once.
singularity pull --name downward.sif shub://aibasel/downward
# Run the planner.
singularity run downward.sif --alias lama-first $BENCHMARKS/gripper/prob01.pddl
chmod a+x fast-downward.sif
}}}

Then run the planner. The example uses 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:

{{{#!highlight bash
./fast-downward.sif --alias lama-first $BENCHMARKS/gripper/prob01.pddl
Line 29: Line 33:
=== Alternative way without "singularity run" === === Installing Apptainer ===
Line 31: Line 35:
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: Apptainer's predecessor, Singularity, used to be shipped with Ubuntu Linux for some time, making its installation very convenient. As of this writing, this is no longer the case, but Ubuntu (deb) packages are available from the Apptainer developers. For a typical Ubuntu system, download the AMD64 deb package from https://github.com/apptainer/apptainer/releases and install it like so (example for Apptainer 1.0.2):
Line 34: Line 38:
# 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
sudo apt install ./apptainer_1.0.2_amd64.deb
Line 47: Line 40:

In our experience, this error can be ignored.
Line 52: Line 43:
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. We assume that [[https://docs.docker.com/get-docker/|Docker]] is installed on your machine. You want to solve a planning problem located on the `$BENCHMARKS` directory.

Back to the HomePage.

Quick start

Fast Downward is released in four flavours: tarball, Apptainer (formerly known as Singularity), Docker and Vagrant. Here we provide 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 Apptainer 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 Apptainer image

We have tested Apptainer 1.0.2. If Apptainer isn't installed on your machine, check the following section.

Download the Apptainer image from the release page and directly run it as an executable. You may need to make the image executable first:

   1 chmod a+x fast-downward.sif

Then run the planner. The example uses 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 ./fast-downward.sif --alias lama-first $BENCHMARKS/gripper/prob01.pddl

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

Installing Apptainer

Apptainer's predecessor, Singularity, used to be shipped with Ubuntu Linux for some time, making its installation very convenient. As of this writing, this is no longer the case, but Ubuntu (deb) packages are available from the Apptainer developers. For a typical Ubuntu system, download the AMD64 deb package from https://github.com/apptainer/apptainer/releases and install it like so (example for Apptainer 1.0.2):

   1 sudo apt install ./apptainer_1.0.2_amd64.deb

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

  • The current directory contains the Fast Downward Vagrantfile for the desired release, the PDDL files domain.pddl and problem.pddl for the planning task you want to solve.

  • If you want to use the SoPlex and/or CPLEX LP solver within the planner, their installer files are present in the directory /path/to/lp/installers. As of Fast Downward 20.06, you will need CPLEX 12.9 (installer filename cplex_studio129.linux-x86-64.bin) and/or SoPlex 3.1.1 (filename soplex-3.1.1.tgz).

  • You want to create your Vagrant VM as subdirectory my-fast-downward-vm of the current directory. The subdirectory does not exist yet.

Create and provision your virtual machine as follows:

   1 # Set up the VM. Only run this one.
   2 mkdir my-fast-downward-vm
   3 cp Vagrantfile my-fast-downward-vm/
   4 cp domain.pddl problem.pddl my-fast-downward-vm/
   5 # Skip next line if you don't need LP support.
   6 export DOWNWARD_LP_INSTALLERS=/path/to/lp/installers
   7 cd my-fast-downward-vm
   8 vagrant up
   9 # The VM is now set up.
  10 # You can now safely delete the LP installers and unset the environment variable.
  11 
  12 # Log into the VM and run the planner.
  13 vagrant ssh
  14 downward/fast-downward.py --alias lama-first /vagrant/domain.pddl /vagrant/problem.pddl
  15 
  16 # Log out from the VM.
  17 exit

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)