Use html for the code block in README
[guile-orca] / README.md
1 # orca
2
3 Orca, a Guile (https://www.gnu.org/s/guile/) library that aims to provide
4 Remote Procedure Call (RPC) capabilities using Message Passing Interface (MPI).
5
6 ## Getting Started
7
8 ### Dependencies
9
10 * libmpich12
11 * Guile (2.2, 2.4, 3.0)
12 * GNU make tools
13
14 ### Installing
15
16 * ./bootstrap
17 * ./configure
18 * sudo make install
19
20 ### Using library
21
22 Code to gather computation results from all processes:
23 <pre><code>
24 (use-modules (orca))
25
26 (define (process-id-message) (format #f "process ~a" (rpc-worker-process-id)))
27
28 (rpc-start)
29 (format #t "I'm master process. Received ~s ~%" (rpc-make '(process-id-message)))
30 (rpc-finalize)
31 </code></pre>
32
33 Command to run program using 4 processes:
34 <pre><code>
35 mpirun -n 4 ./rpc-print-process-ids.scm
36 </code></pre>
37
38 Output:
39 <pre><code>
40 I'm master process. Received ("process 0" "process 1" "process 2" "process 3")
41 </code></pre>
42
43 See `examples` directory for more examples.
44
45 ## Authors
46
47 - Ahmet Artu Yildirim
48
49 ## Version History
50
51 * 0.1
52     * Initial Release
53
54 ## License
55
56 This project is licensed under the GNU Lesser General Public License - see the COPYING.LESSER file for details.
57
58 Please send comments on orca to **ahmet@artulab.com**
59
60 Copyright (C) 2022  Ahmet Artu Yildirim