What is Galois?

The Galois system permits application programmers to exploit amorphous data-parallelism in irregular algorithms  without having to write explicitly parallel code. Irregular algorithms operate on complex data structures like graphs, priority queues, and lists, and they are the norm in important problem domains like machine learning, graph analytics, electronic design automation (EDA), and network security.

The Galois programming model provides a small number of programming patterns that are implemented in C++. The Galois library provides concurrent data structures, schedulers, and memory allocators. The Galois runtime executes these programs in parallel, using parallelization strategies such as optimistic and round-based execution. Galois runs on shared-memory NUMA platforms and NVIDIA GPUs. A subset of the Galois programming model is supported on distributed-memory machines.

What is Galois used for?

  • Graph analytics
  • Electronic Design Automation (EDA)
  • Graph mining
    • Galois can be used for graph pattern mining (GPM) applications such as motif counting, frequent subgraph mining, and k-clique listing. Pangolin is an efficient graph pattern mining framework built on top of Galois that provides high level abstractions for users to write GPM applications without compromising performance.
  • Scientific computing
    • Guaranteed quality 2-D mesh generation and refinement: Lonestar benchmarks.
    • Metis graph partitioner: Lonestar benchmark.
    • Iso-geometric finite elements.
  • Benchmarking studies
  • Real-time intrusion detection in computer networks
    • BAE-led DARPA project to build and mine provenance graphs in real-time to find anomalous behavior in computer networks.
  • Engine for Industrial Graph System
    • The Katana Graph engine uses Galois as its graph processing backend; Katana Graph combines Galois with state-of-the art storage and hardware technologies to provide efficient, scalable, industry grade graph processing to its customers.

How do I learn more about Galois?


The latest release along with instructions on how to install the Galois system and run a sample benchmark application can be found here.


For questions or comments about the Galois system, please contact galois-users@utlists.utexas.edu.

Recent Publications