From octave-maintainers-request at bevo dot che dot wisc dot edu Wed Dec 18 17:06:48 2002 Subject: Octave-MPI via oct-files From: JD Cole To: octave-maintainers at bevo dot che dot wisc dot edu CC: Andy Jacobson , Paul Kienzle , "John W. Eaton" Date: Wed, 18 Dec 2002 15:18:21 -0800 This is a multi-part message in MIME format. --------------070402040102040005070705 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit I had previously inquired about integrating Andy Jacobson's work on octave-mpi, see the thread "Patching Octave-MPI". During that discussion implementing MPI functionality in oct-files was brought as a way to separate MPI code from octave base distribution. I have successfully implemented some limited MPI functionality into oct-files, see the attached tar file. Please have a look at the code. I haven't implemented the documentation yet, but with a small background in MPI functions, you should be able to grasp the concept. You'll notice after grazing the code that I have copied the read/save_binary_data functions and their depencies into mpi_send/recv. This was done because I wanted that functionality but currently these functions are "static" in load-save.cc in the Octave source. Of course, I would rather not duplicate code, if I can avoid it, so I'm wondering if it would be wrong to expose those functions in load-save.cc? Also, since LAM MPI is quite sensitive to the sequence of calls lamboot->MPI_Init-> (other MPI calls), i.e. it terminates a program without remorse, I install a global variable octave_mpi_session_flag which allows MPI functions to tell if MPI_Init of MPI_Finalize have been called. (I have considered implementing this variable as shared memory, i.e. external to Octave, as to not used octave internals such as the line: symbol_record *sr = global_sym_tab->lookup("octave_mpi_session_flag"); if that practive is considered "taboo".) Best, JD --------------070402040102040005070705 Content-Type: application/x-gzip; name="mpi-ss20021218.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="mpi-ss20021218.tar.gz" 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 2ZVd2ZVd2fVNXf8FKBESrACgAAA= --------------070402040102040005070705--