Changes between Version 1 and Version 2 of MpiKernels

Show
Ignore:
Timestamp:
10/20/11 12:30:03 (13 years ago)
Author:
mmamonski
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MpiKernels

    v1 v2  
    1 Since revision **67** in SVN branch **inst_procedure** it is possible to use MPI kernels with MUSCLE. 
     1Since revision **67**  of SVN branch **inst_procedure** it is possible to use MPI kernels within MUSCLE framework. 
    22 
    3  
    4 == Limits & requirements == 
     3== Limitation and Requirements == 
    54 
    65 
     
    87=== MPI implementation === 
    98 
    10 Currently OpenMPI //does not support// binding with JNI (see [http://www.open-mpi.org/community/lists/devel/2005/09/0359.php this bug]) 
     9Currently OpenMPI //does not support// applications that dynamically loads library (thus it does not work with JNI) - see [http://www.open-mpi.org/community/lists/devel/2005/09/0359.php this bug]). You need to use other MPI implementations: 
    1110 
    1211The following implementation have been tested so far: 
     
    1716 
    1817 
    19 When using MPI in some kernel, this kernel must be run as the only in this muscle instance. Other kernels, as well as main, must be run from other MUSCLE instances. 
     18When using MPI in the kernel, this kernel must be run as the only one in this muscle instance. Other kernels, as well as main, must be run from the other MUSCLE instances. 
    2019 
    2120== Preparing source code == 
     
    3130As in Java, only process with Rank 0 may use MUSCLE routines, such as portals or the kernel.willStop() method. User is responsible for stopping all the processes once the kernel should stop. 
    3231 
    33 MPI should be used in the natural way, i.e. the program should start with MPI::Initialize() and finish with MPI::Finalize(). 
     32MPI should be used in the standard way, i.e. the program should start with MPI::Initialize() and finish with MPI::Finalize(). 
    3433 
    3534== Running MPI kernels == 
    3635 
    3736To run a MPI kernel, one must distribute the processes with `mpirun`/`mpiexec` utility. One kernel per one MUSCLE instance allowed. 
    38 It is crucial to add the --mpi parameter for the muscle command - otherwise the simulation will fail, as multiple identical MUSCLE instances will arise. 
     37It is crucial to add the --mpi parameter for the muscle command - otherwise the simulation will fail, as multiple identical MUSCLE instances will be initialized. 
    3938 
    4039   `mpirun -n 5 muscle --mpi --cxa_file src/cxa/Test.cxa.rb mpi` 
    4140 
    4241 
    43 Of course, in another process the main must be started, as well as other kernels required by the cxa file, for example 
     42Of course, in another process the `--main` parameter must be given, as well as other kernels required, for example 
    4443 
    4544   `muscle --main plumber --cxa_file src/cxa/Test.cxa.rb --autoquit` 
    4645 
    47 An example (started with the commands above) has been added to the SVN in revision 68. 
     46An example (which can be started with the commands shown above) has been added to the SVN in revision 68.