package parany

  1. Overview
  2. Docs
Parallelize any computation

Install

Dune Dependency

Authors

Maintainers

Sources

v10.0.2.tar.gz
sha256=a829e48d5af4db74b3d186e4429fbc68b1485822aec1a942346fec7bc4f8553c
md5=68eea09ef6c0aa09a00257d3f85edea6

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.

Published: 31 Mar 2020

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.

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
  2. dune >= "1.6.0"
  3. cpu
  4. base-unix

Dev Dependencies

None

Used by (6)

  1. comby >= "1.4.0" & < "1.7.0"
  2. hts_shrink = "2.1.1"
  3. molenc >= "7.0.1" & < "11.4.0"
  4. oplsr = "5.0.1"
  5. orrandomForest >= "3.0.0"
  6. pardi = "2.0.4"

Conflicts

None

OCaml

Innovation. Community. Security.