Skip to content
forked from herd/herdtools7

The Herd toolsuite to deal with .cat memory models (version 7.xx)

License

Notifications You must be signed in to change notification settings

relokin/herdtools7

This branch is 1 commit ahead of, 278 commits behind herd/herdtools7:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

502bd11 · Jan 17, 2025
Jan 17, 2025
Jan 17, 2025
Dec 10, 2024
Jan 15, 2025
Nov 20, 2024
Nov 26, 2024
Jan 17, 2025
Dec 17, 2024
Jan 3, 2025
Jan 10, 2025
Jan 3, 2025
Dec 2, 2024
Mar 19, 2021
Dec 19, 2023
Jul 19, 2024
Mar 27, 2024
Mar 31, 2023
Feb 27, 2024
Jul 2, 2024
Dec 17, 2024
Dec 7, 2024
Sep 27, 2024
Sep 11, 2020
May 2, 2024
Nov 20, 2020
May 30, 2023
Aug 15, 2024
Jul 4, 2024
Aug 15, 2023
Jan 26, 2021
Mar 29, 2024
Jun 7, 2024
Sep 21, 2023
Mar 19, 2021
May 30, 2023

Repository files navigation

This is herdtools7, a tool suite to test weak memory models.

We provide the following tools:

  • herd7: a generic simulator for weak memory models
  • litmus7: run litmus tests (given as assembler programs for Power, ARM, AArch64 or X86) to test the memory model of the executing machine
  • diy7: produce litmus tests from concise specifications
  • some additional tools In particular,
    • mcompare7 to analyse run logs of both herd and litmus.
    • klitmus7, an experimental tool, similar to litmus7 that runs kernel memory model tests as kernel modules. The tool klitmus7 is inspired from a python script by Andrea Parri,. http://retis.sssup.it/~a.parri/lkmm/run.py

herdtools7 is the successor of the diy tool suite.

Home

http://diy.inria.fr/

diy-devel@inria.fr

Compilation and installation

See file INSTALL.md.

Contributing

This repository uses the Pre-Commit tool to manage pre-commit validation, to check for formatting, test regressions, etc.

Pre-Commit can be installed on macOS with Homebrew, or on all platforms with Python's pip:

# macOS with Homebrew.
% brew install pre-commit

# All other OS (including macOS without Homebrew).
% pip install pre-commit

To make Pre-Commit run automatically when you git commit, add it to your Git repository's local pre-commit hooks. From within this repository, run:

% pre-commit install

When adding a new pre-commit check, please run Pre-Commit manually first:

% pre-commit run --all-files

License

The authors of the diy7 tool suite are Jade Alglave and Luc Maranget.

Copyright 2010 -- present: Institut National de Recherche en Informatique et en Automatique, and the authors.

Diy7 is released under the terms of the CeCILL-B free software license agreement. See file LICENSE.txt.

About

The Herd toolsuite to deal with .cat memory models (version 7.xx)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 66.4%
  • TeX 18.7%
  • Coq 4.1%
  • ASL 2.3%
  • C 1.9%
  • Python 1.6%
  • Other 5.0%