4182
Comment: general cleanup, extend Singularity and Docker discussion
|
4919
Elaborate Vagrant instructions.
|
Deletions are marked like this. | Additions are marked like this. |
Line 37: | Line 37: |
./downward --alias lama-first $BENCHMARKS/gripper/prob01.pddl }}} |
./downward --alias lama-first $BENCHMARKS/gripper/prob01.pddl}}} |
Line 70: | Line 69: |
We assume that [[https://www.vagrantup.com/|Vagrant]] is 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 * The current directory contains the Fast Downward `Vagrantfile` for the desired [[Releases|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. |
Line 72: | Line 75: |
* Place the `Vagrantfile` for the desired [[Releases|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. |
Create and provision your virtual machine as follows: {{{#!highlight bash # Set up the VM. Only run this one. mkdir my-fast-downward-vm cp Vagrantfile my-fast-downward-vm/ cp domain.pddl problem.pddl my-fast-downward-vm/ # Skip next line if you don't need LP support. export DOWNWARD_LP_INSTALLERS=/path/to/lp/installers cd my-fast-downward-vm vagrant up # The VM is now set up. # You can now safely delete the LP installers and unset the environment variable. # Log into the VM and run the planner. vagrant ssh downward/fast-downward.py --alias lama-first /vagrant/domain.pddl /vagrant/problem.pddl # Log out from the VM. exit }}} |
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:
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:
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
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
See other ways of invoking the planner on PlannerUsage.
Read about recommended experiment setups.
Go through the full Documentation.