So far, CL-MPI has been working for our uses. A few things we've run into so far:
We don't use cl-launch. Our programs are sufficiently complicated that we deliver/save executables.
The saved executables seem to depend on some dynamic library that CFFI (or something else) generates. This was pretty inconvenient. When we deploy the application across many machines, we don't want to have to find or figure out this rogue dynamic library. As a "quick fix", we've just installed and compiled CL-MPI on each node. Not particularly efficient, though.
The API is pretty straightforward if you know MPI, but it could still use better documentation. For instance, I had to read the source code to MPI-PROBE since status structs aren't explicitly exposed in the API (which is OK). Documentation is something we might be able to contribute to.
It's extremely hard for us to debug MPI lisp apps right now. The main problem is that some process signals an error and it completely hoses the system and there's no backtrace. This might be my own ignorance on how to run and use MPI. (I'm definitely a beginner at it.)
Those are some thoughts for now. My general hope is that the polish can increase. :)
So far, CL-MPI has been working for our uses. A few things we've run into so far:
We don't use cl-launch. Our programs are sufficiently complicated that we deliver/save executables.
The saved executables seem to depend on some dynamic library that CFFI (or something else) generates. This was pretty inconvenient. When we deploy the application across many machines, we don't want to have to find or figure out this rogue dynamic library. As a "quick fix", we've just installed and compiled CL-MPI on each node. Not particularly efficient, though.
The API is pretty straightforward if you know MPI, but it could still use better documentation. For instance, I had to read the source code to
MPI-PROBE
sincestatus
structs aren't explicitly exposed in the API (which is OK). Documentation is something we might be able to contribute to.It's extremely hard for us to debug MPI lisp apps right now. The main problem is that some process signals an error and it completely hoses the system and there's no backtrace. This might be my own ignorance on how to run and use MPI. (I'm definitely a beginner at it.)
Those are some thoughts for now. My general hope is that the polish can increase. :)