package domainslib
Parallel Structures over Domains for Multicore OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
0.3.2.tar.gz
sha256=d74016fd9167de52f1515e25ea208095f9f25b4dfe277185583d8500307943a0
md5=b4c1ed2ca16b82c40de9a64989094639
Description
README
domainslib - Parallel Programming over Multicore OCaml
domainslib
provides control and data structure for parallel programming using domains.
The supported data structures are:
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.
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)
- base-domains
-
dune
>= "1.8"
Dev Dependencies (1)
-
mirage-clock-unix
with-test
Used by (2)
-
forester
< "2.1"
-
lwt_domain
< "0.3.0"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page