Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/unixjunkie/parany

Parallelize _anything_ //
https://github.com/unixjunkie/parany

multi-processing ocaml-library parallel-computing stream-processing

Last synced: 23 days ago
JSON representation

Parallelize _anything_ //

Awesome Lists containing this project

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