Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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_ //
- Host: GitHub
- URL: https://github.com/unixjunkie/parany
- Owner: UnixJunkie
- License: other
- Created: 2017-06-12T06:45:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-05T09:16:47.000Z (about 1 year ago)
- Last Synced: 2024-10-15T07:11:15.017Z (about 1 month ago)
- Topics: multi-processing, ocaml-library, parallel-computing, stream-processing
- Language: OCaml
- Homepage:
- Size: 230 KB
- Stars: 53
- Watchers: 5
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# parany
Parallelize any kind of computationGeneralized 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".