MPI Ruby 0.3 review
DownloadMPI Ruby is a Ruby binding of MPI
|
|
MPI Ruby is a Ruby binding of MPI. MPI Ruby's primary goal in making this binding was to make the power of MPI available to Ruby users in a way that fits into the language's object oriented model.
In order to do this, the buffer and datatype management necessary in the C, C++, and Fortran bindings have been removed. What this means is that MPI Ruby allows you to treat objects as messages.
MPI Ruby also aims to be a complete binding to MPI in that it offers access to nearly all functionality of MPI. While there is not a one-to-one correspondence to functions and constants in the Ruby and C/C++/Fortran bindings, all of the communication and topology features are available.
There are fewer methods in the Ruby binding than there are functions in the C/C++/Fortran bindings, but this is mainly due to the fact that the programmer no longer needs to deal with buffers and datatypes.
What's New in This Release:
examples/irecv.rb: Removed sleep from irecv example
configure: Removed configure
examples/Makefile.am: Added op example to Makefile
examples/redsubmit.rb, examples/op.rb, examples/redhalt.rb, examples/red.rb:
New examples:
User-defined operations
Ruby Execution Daemon (red).
src/ops.rb, src/main.c, src/mpi.c, src/mpi_comm.c, src/mpi_group.c, src/mpi_keyval.c, src/mpi_op.c, src/mpi_op_fns.c, src/mpi_request.c:
Fixed all of the rb_str_new2()'s that were causing marshalling problems.
Fixed defines of singleton methods.
Fixed dims_create()
Now works with MPICH because of atexit(MPI_Finalize)
Set the MPI error handler
Fixed operators in MPI::Group (+ -> | and ^ -> &)
examples/Makefile.am: New examples.
docs/rd/mpi_group.rd, docs/rd/mpi_keyval.rd, docs/rd/mpi_op.rd, docs/rd/mpi_ruby.rd, docs/rd/mpi_comm.rd, docs/man/man3/Makefile.am, docs/man/man3/mpi_comm.3, docs/man/man3/MPI_Ruby.3, docs/man/man3/MPI_Status.3, docs/man/man3/MPI_Exception.3, docs/man/man3/MPI_Group.3, docs/man/man3/MPI_Keyval.3, docs/man/man3/MPI_Op.3, docs/man/man3/MPI_Request.3, docs/man/man3/MPI_Comm.3:
Doc updates to reflect fixes to singleton methods in several classes.
Typos fixed.
docs/man/man1/mpi_ruby.1, docs/man/man1/Makefile.am:
Short doc on the interpreter itself (how to run)
docs/man/Makefile.am: Added man1
docs/html/index.html, docs/html/mpi_comm.html, docs/html/mpi_group.html, docs/html/mpi_keyval.html, docs/html/mpi_op.html, docs/html/mpi_ruby.html:
Doc updates to reflect fixes to singleton methods in several classes.
Typos fixed.
configure, configure.in: Bumped to 0.3
Added man1/Makefile to output
MPI Ruby 0.3 keywords