3. Adaptive MPI (AMPI)
- 3.1. Introduction
- 3.2. Building and Running AMPI Programs
- 3.3. Using Existing MPI Codes with AMPI
- 3.3.1. Entry Point
- 3.3.2. Command Line Argument Parsing
- 3.3.3. Global Variable Privatization
- 3.3.3.1. Manual Code Editing
- 3.3.3.2. PIEglobals: Automatic Position-Independent Executable Runtime Relocation
- 3.3.3.3. TLSglobals: Automatic Thread-Local Storage Swapping
- 3.3.3.4. PiPglobals: Automatic Process-in-Process Runtime Linking Privatization
- 3.3.3.5. FSglobals: Automatic Filesystem-Based Runtime Linking Privatization
- 3.3.3.6. Swapglobals: Automatic Global Offset Table Swapping
- 3.3.3.7. Source-to-Source Transformation
- 3.3.3.8. Summary
- 3.4. Extensions
- 3.5. Example Applications
[PiP2018]
Atsushi Hori, Min Si, Balazs Gerofi, Masamichi Takagi, Jai Dayal, Pavan Balaji, and Yutaka Ishikawa. 2018. Process-in-process: techniques for practical address-space sharing. In Proceedings of the 27th International Symposium on High-Performance Parallel and Distributed Computing (HPDC ‘18). ACM, New York, NY, USA, 131-143. DOI: https://doi.org/10.1145/3208040.3208045