-*- mode: view -*-
LPVM is PVM3 bindings for Common Lisp with UFFI.
PVM is Parallel Virtual Machine, message-passing communication
library for parallel computations.
This package requires UFFI. See http://www.cliki.net/UFFI for more
This is pre-alfa version of LPVM. It was developed and tested with
CMU CL 18e. I used UFFI for portablity, but I'm not sure I got UFFI
docs right. So, patches are welcome :)
LPVM is distributed under terms of MIT-like license. See LICENSE.MIT
for more details.
This version lacks documentation and docstrings. Use man page of PVM
as source of information. Names of C functions and mostly corresponds
to each other:
C name Lisp name
and so on.
Functions pvm_gather and pvm_scatter corresponds to number of typed
Lisp variants: pvm:gather-int, pvm:gather-double, and so on. Generic
functions pvm:gather and pvm:scatter are implemented as well, and they
analise types of their arguments to find proper value of PVM data
pvm:pack* can accept array of variables or single value. If the
latter, other arguments are ignored and only the valuse is packed (but
pvm:pvmstr can accept only one single value: string). Forth optional
argument for the functions is offset of first packed element (so, you
may pack only half of array, or array from second element, and so on).
pvm_upk* are transformed into two functions: pvm:upk* and
pvm:upk*-array. Former form unpacks single number, and latter unpacks
Author of LPVM is Ivan Boldyrev <email@example.com>