package parany

  1. Overview
  2. Docs
Parallelize any computation

Install

Dune Dependency

Authors

Maintainers

Sources

v13.1.2.tar.gz
md5=d59c796bef484db7d8efd308b36b55c1

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 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.

Published: 13 Jan 2023

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 multi-core 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".

Dependencies (3)

  1. ocaml >= "5.0.0"
  2. dune >= "1.6.0"
  3. domainslib >= "0.5.0"

Dev Dependencies

None

Used by (14)

  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. molenc >= "11.4.0"
  8. oplsr >= "8.0.1"
  9. oranger >= "3.0.1"
  10. orf
  11. orrandomForest >= "3.0.0"
  12. pardi >= "3.1.1"
  13. rankers >= "2.0.9"
  14. svmwrap

Conflicts

None