package domainslib

Build not checked
  1. Overview
  2. Docs
Parallel Structures over Domains for Multicore OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

0.4.2.tar.gz
sha256=3b443c1c09c05db8549a1f528d1ad6ea76f52ef33f688696dd5fe4d5cfa198a6
md5=a079b8b5b676e8d38d713f02b25b14db

Description

Tags

org:ocamllabs

Added to opam-repository:

README

domainslib - Parallel Programming over Multicore OCaml

domainslib provides control and data structure for parallel programming using domains.

The supported data structures are:

  • Channels

    • Channels may be shared between multiple senders and receivers.
    • Channels ensure FIFO message order.
    • Channels come in two flavours -- bounded (fixed-buffer size (>= 0) beyond which the send blocks) and unbounded.
  • Task

    • Work-stealing task pool with async/await parallelism and parallel for loop.

See examples for usage.

Installation

The library can be installed using multicore-opam, an OPAM repository of multicore specific packages.

$ opam switch create 4.12.0+domains+effects
$ opam install domainslib

Development

If you are interested in hacking on the implementation, then opam pin this repository:

First install the multicore compiler and dune:

$ opam switch create 4.12.0+domains+effects
$ opam install dune

Then, pin a clone of this repo:

$ git clone https://github.com/ocaml-multicore/domainslib
$ cd domainslib
$ opam pin add domainslib file://`pwd`

Dependencies (2)

  1. dune >= "1.8"
  2. ocaml >= "5.0"

Dev Dependencies (1)

  1. mirage-clock-unix with-test

Optional Dependencies

None

Used by (2)

  1. forester < "2.1"
  2. lwt_domain < "0.3.0"

Conflicts

None

Build status

Results of building domainslib with each compiler on check.ci.ocaml.org, run of against opam-repository 78c202b. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

This version is not in the latest run; the versions below are.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
0.5.2 n/a n/a good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure