Static Binary Rewriting:
Rewriting the binary with parallelized loops involves the folllowing procedure:
- Shared variables are moved to the shared data area; variable references are changed to refer to the new location.
- Private variables are moved to the per-thread data area; variable references are changed to refere to the new location.
- Initialization and/or finalization of private variables is arranged.
- Parallel loop bodies are abstracted into functions whose addresses are pased to the system scheduler.
- Relevant library calls for the underlying parallel platform (e.g., OpenMP) are inserted as needed.
Static Binary Rewriting:
Rewriting the binary with parallelized loops involves the folllowing procedure:
- Shared variables are moved to the shared data area; variable references are changed to refer to the new location.
- Private variables are moved to the per-thread data area; variable references are changed to refere to the new location.
- Initialization and/or finalization of private variables is arranged.
- Parallel loop bodies are abstracted into functions whose addresses are pased to the system scheduler.
- Relevant library calls for the underlying parallel platform (e.g., OpenMP) are inserted as needed.