Lattice Land

Hello! You just arrived in lattice land! Lattice land is a collection of C++ libraries compatible with NVIDIA CUDA framework. Most of the libraries implement abstract domains for constraint reasoning a new kind of data structure based on abstract interpretation, lattice theory and constraint reasoning. This is a book presenting our research project, the involved research papers and the code documentation.

This project is available on github.

API Documentation

  • cuda-battery: Memory allocators, vector, utilities and more which run on both CPU and GPU (CUDA). See also the chapter CUDA-Battery Library.
  • lala-core: Core definitions of the formula AST and abstract domain.
  • lala-parsing: Utilities to parse combinatorial formats including flatzinc (.fzn) and XCSP3 (.xml).
  • lala-pc: Propagator completion abstract domain representing a collection of refinement functions. It implements propagators, an essential component of constraint solver.
  • lala-power: Abstract domains representing disjunctive collections of information. It includes the search tree and branch-and-bound.
  • turbo: Abstract constraint solver building on all other libraries.
  • lattice-land.github.io: The repository hosting this book and the libraries documentation.