package parany

All checked builds pass
  1. Overview
  2. Docs
Parallelize any computation

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v14.0.1.tar.gz
sha256=4fc7ff3be133a88652a2db4bce9f7489029719f3a0e997e36ada50e899d8c691
md5=56275cac64d97cbe2a703ef59b1c570d

Description

Generalized map reduce for parallel computers (not distributed computing). Can process in parallel an infinite stream of elements.

Can process a very large file in parallel on a multicore computer; provided there is a way to cut your file into independent blocks (the 'demux' function). The processing function is called 'work'. The function gathering the results is called 'mux'. The number of processors running your computation in parallel is called 'nprocs'. The chunk size (number of items) processed by one call to the 'work' function is called 'csize'.

There is a minimalist Parmap module, if you want to switch to/from Parmap easily.

Read the corresponding ocamldoc before using.

USING THIS LIBRARY IN A MISSION CRITICAL, LONG-RUNNING SOFTWARE THAT IS NEVER SUPPOSED TO CRASH IS NOT ADVIZED. WHILE THIS LIBRARY IS HIGH PERFORMANCE, IT IS ALSO DANGEROUS. USE AT YOUR OWN RISKS.

Added to opam-repository:

README

parany

Parallelize any kind of computation

Generalized map reduce for parallel computers (not distributed computing).

Can process a very large file in parallel on a multicore computer; provided there is a way to cut your file into independent blocks (the "demux" function).

Can process in parallel an infinite stream of elements (if you don't care about their processing order). In practice, if the stream is really infinite but you want to collect results in order, some integer counter will eventually overflow and the behavior is unspecified and unknown after this unfortunate event.

The processing function is called "work". The function gathering the results is called "mux". The number of processors running your computation in parallel is called "nprocs".

Dependencies (4)

  1. ocaml >= "4.03.0"
  2. dune >= "1.6.0"
  3. cpu
  4. base-unix

Dev Dependencies

None

Optional Dependencies

None

Used by (15)

  1. acp4
  2. acpc >= "2.0.0"
  3. comby
  4. hts_shrink >= "2.1.2"
  5. lbvs_consent >= "2.2.0"
  6. linwrap >= "5.1.1"
  7. mmo
  8. molenc >= "11.4.0"
  9. oplsr >= "8.0.1"
  10. oranger >= "3.0.1"
  11. orf
  12. orrandomForest >= "3.0.0"
  13. pardi >= "3.1.1"
  14. rankers >= "2.0.9"
  15. svmwrap

Conflicts

None

Build status

Results of building parany with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. 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.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
14.0.1 (this version) good good 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