2026-02-25 23:00:02 -08:00
2020-11-21 15:17:09 -08:00
2020-12-04 19:46:45 -08:00
2020-11-21 15:17:09 -08:00
2026-02-25 23:00:02 -08:00
2020-11-21 15:17:09 -08:00
2020-11-21 15:17:09 -08:00
2020-11-21 15:17:09 -08:00
2026-02-25 23:00:02 -08:00
2026-02-25 23:00:02 -08:00
2020-11-21 15:17:09 -08:00

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

  • libmpich12
  • Guile (2.2, 2.4, 3.0)
  • GNU make tools

Installing

  • ./bootstrap
  • ./configure
  • sudo make install

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

  • artu

Version History

  • 0.1
    • Initial Release

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 artu@sdf.org

Description
A Guile (Scheme) library containing RPC routines for parallel computation on MPI systems.
Readme 78 KiB
Languages
Scheme 63.3%
M4 31.8%
Makefile 2.6%
Shell 2.3%