this repo has no description
1opam-version: "2.0"
2authors: "Francois Berenger"
3maintainer: "unixjunkie@sdf.org"
4homepage: "https://github.com/UnixJunkie/pardi"
5bug-reports: "https://github.com/UnixJunkie/pardi/issues"
6dev-repo: "git+https://github.com/UnixJunkie/pardi.git"
7license: "GPL-1.0-or-later"
8build: ["dune" "build" "-p" name "-j" jobs]
9depends: [
10 "dune" {< "3.0"}
11 "batteries"
12 "dolog" {< "4.0.0"}
13 "parany" {>= "6.0.0" & < "10.0.0"}
14 "minicli"
15 "ocaml" {>= "4.05.0"}
16]
17synopsis: "Parallel and distributed execution of command lines, pardi!"
18description: """
19Command line tool to parallelize programs which are not parallel;
20provided that you can cut an input file into independent chunks.
21
22For example, to compress a file in parallel using 1MB chunks:
23
24$ pardi -d b:1048576 -m s -i <YOUR_BIG_FILE> -o <YOUR_BIG_FILE>.gz \
25 -w 'xz -c -9 %IN > %OUT'
26
27You can cut the input file by lines (e.g. SMI files),
28by number of bytes (for binary files),
29by a separating line verifying a regexp (quite generic)
30or by a block separating line (e.g. MOL2/SDF/PDB file formats).
31
32If processing a single record of your input file is too fine grained,
33you can play with the -c option to reach better parallelization
34(try 10,20,50,100,200,500,etc).
35
36usage:
37pardi ...
38 {-i|--input} <file>: where to read from (default=stdin)
39 {-o|--output} <file>: where to write to (default=stdout)
40 {-n|--nprocs} <int>: max jobs in parallel (default=all cores)
41 {-c|--chunks} <int>: how many chunks per job (default=1)
42 {-d|--demux} {l|b:<int>|r:<regexp>|s:<string>}: how to cut input
43 file into chunks (line/bytes/regexp/sep_line; default=line)
44 {-w|--work} <string>: command to execute on each chunk
45 {-m|--mux} {c|s|n}: how to mux job results in output file
46 (cat/sorted_cat/null; default=cat)
47"""
48url {
49 src: "https://github.com/UnixJunkie/pardi/archive/v1.0.0.tar.gz"
50 checksum: "sha512=de5286cc182070207525ce8424d86233bcc4d91249e2d2836d34123a823d94980acd9f2a4e532d6c67001d56b7011bf08721f67b79e290c0f62efe8558f01242"
51}