Changes between Version 23 and Version 24 of MpiKernels
- Timestamp:
- 02/28/12 18:11:14 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MpiKernels
v23 v24 11 11 * then the proton is transmitted from PSB into LHC, 12 12 * where it is accelerated further until it increase energy to the level of `LHC:MaxEnergy` (simulation stops). 13 The example codes can be found in `src/cpp/examples/mpiring/` directory of the MUSCLE source distribution. 13 The example codes can be found in `src/cpp/examples/mpiring/` directory of the MUSCLE source distribution. The next two section will describe two approachs of running such codes via MUSCLE. 14 14 == MPI Kernels as dynamic libraries == 15 15 This approach follows the original MUSCLE philosophy that relay on using Java Native !Interface/Access mechanism to integrate C/C++ codes as MUSCLE kernels. 16 16 17 17 A new method, `public void executeDirectly()`, is available in the `CaController` class. Only this method is called instead of normal MUSCLE routines on the processes with non-zero rank. Process with rank 0 is started in the usual way. Portals cannot be attached to slave processes (i.e. to the processes with non-zero rank). The `executeDirectly` method default implementation calls by default `execute()`. 18 === Compilation === 18 === Source files === 19 * LHC.java 20 * PSB.java 21 * mpiringlib.{c,h} 19 22 === Running === 20 23 * 24 * 21 25 === Limitations === 22 26 * Any MUSCLE API routine may be **ONLY** called by the rank 0 process. If you need any parameters to be available for the all MPI processes use `MPI_Bcast` function, for e.g. (as in provided example): … … 33 37 34 38 == MPI Kernels as standalone executables == 35 === Compilation === 39 === Sources === 40 * LHC2.java 41 * PSB2.java 42 * mpiringlib.{c,h} 43 * LHC.c 44 * PBS.c 36 45 === Running === 37 46