descriptionA Guile (Scheme) library containing RPC routines for parallel computation on MPI systems.
ownergit
last changeMon, 30 May 2022 20:12:43 +0000 (13:12 -0700)
readme

orca

Orca, a Guile (https://www.gnu.org/s/guile/) library that aims to provide Remote Procedure Call (RPC) capabilities using Message Passing Interface (MPI).

Getting Started

Dependencies

Installing

Using library

Code to gather computation results from all processes:


(use-modules (orca))

(define (process-id-message) (format #f "process ~a" (rpc-worker-process-id)))

(rpc-start)
(format #t "I'm master process. Received ~s ~%" (rpc-make '(process-id-message)))
(rpc-finalize)

Command to run program using 4 processes:


mpirun -n 4 ./rpc-print-process-ids.scm

Output:


I'm master process. Received ("process 0" "process 1" "process 2" "process 3")

See examples directory for more examples.

Authors

Version History

License

This project is licensed under the GNU Lesser General Public License - see the COPYING.LESSER file for details.

Please send comments on orca to ahmet@artulab.com

Copyright (C) 2022 Ahmet Artu Yildirim

shortlog
2022-05-30 Ahmet Artu... Use html for the code block in README master
2021-10-08 Ahmet Artu... Add debug statements in rpc-stream-map-sum example
2020-12-05 Ahmet Artu... Add unit tests for rpc-apply-bcast
2020-11-21 Ahmet Artu... Commit initial version
tags
20 months ago v0.1.0 version 0.1.0
heads
2 months ago master