Published May 28, 2026 | Version v1

Code and experiment data of the SoCS 2026 paper "Parallelizing Classical Planning: Critical Path Heuristics on the GPU"

  • 1. ROR icon Linköping University
  • 2. ROR icon University of Basel
  • 3. ROR icon Heidelberg University
  • 4. ROR icon RWTH Aachen University

Description

Code

The file code.zip contains an extended version of the Fast Downward planning system (http://fast-downward.org). The code for the $h^m$ heuristic used for the CPU is stored in `src/search/heuristics/h2_heuristic.cc/h` and the GPU implementation in `src/search/heuristics/hm2_torch.cc/h`. The scripts used to run the experiments can be found in "experiments/socs26/". Please see http://www.fast-downward.org for detailed instructions on how to compile the planner. Note that the CUDA toolkit is strictly required for compilation. Please, follow the instructions:

  1. libtorch 2.1.2 (CUDA 12.1, cxx11 ABI)
      wget https://download.pytorch.org/libtorch/cu121/libtorch-cxx11-abi-shared-with-deps-2.1.2%2Bcu121.zip
      unzip libtorch-cxx11-abi-shared-with-deps-2.1.2+cu121.zip
      export LIBTORCH=$PWD/libtorch
  2. CUDA 12.1 must be installed (nvcc + libcudart_static, libcudadevrt).
      export CUDA_HOME=/path/to/cuda-12.1
      export LIBRARY_PATH=$CUDA_HOME/targets/x86_64-linux/lib:$LIBRARY_PATH 
  3. Build Fast Downward (requires cmake + gcc/g++ 12.3, C++20)
    cd downward_h2
    CMAKE_PREFIX_PATH=$LIBTORCH \
    LD_LIBRARY_PATH=$LIBTORCH/lib:$CUDA_HOME/lib64:$LD_LIBRARY_PATH \
    ./build.py release

An example to run $h^2$ on the GPU without cost partitioning is: 

LD_LIBRARY_PATH=$LIBTORCH/lib:$CUDA_HOME/lib64:$LD_LIBRARY_PATH \
./fast-downward.py domain.pddl problem.pddl \ --search "astar(hm2torch(m=2,use_gpu=true,cp=0,n_cp=1))"

Files

benchmarks.zip

Files (17.9 MB)

Name Size Download all
md5:aa8296b014a1aad9e48a9ae01f5277a5
12.9 MB Preview Download
md5:79c7d2e54b634a48edcc142b9e798f01
2.5 MB Preview Download
md5:18722b50f6f0cf53785058aa99e49a8c
2.5 MB Preview Download