Software Contexts for Locality
A flexible library for running multiple parallel codes concurrently.
SwLoc is an open source library for resource partionning to containerize different parallel codes without modification
- - Lightweight isolation
- - Ressources negotiation
- - Flexible thread placement
-
addRun multiple libraries concurrentlyTODO
-
addTight cost couplingTODO
-
addControlled environment
SwLoc executes each part of code in a controlled environment in order to manage what this part of the application sees about the machine, where threads can be placed and more.
To achieve this goal, SwLoc need to catch some function calls and requires to set the environment variable LD_PRELOAD before the execution of the application :
LD_PRELOAD=/path/to/SwLoc/libswloc.so ./myApp
In this case, the link editor will first use the SwLoc functions before the real functions in libraries.
-
addHwLoc
HwLoc is a common, famous and most-used library to get informations about computer topology, to bind threads or choose a NUMA node.
SwLoc supports the calls to the HwLoc functions and returns a modified topology of the machine. It only shows the computing resources available for each kernels.
-
addRuntimes
SwLoc also supports Runtimes like OpenMP or Intel TPB.
-
addComparison with others
Download
Do you want to use or just to try SwLoc ?
Click here to access to the Git repository !