Multi-Accelerator Pattern Allocation (MAPA) framework
The goal of this project is to study multi-GPU allocation/scheduling policies on different multi-GPU architecture systems.
Cloning the repository
$ git clone --recursive https://github.com/socal-ucr/MAPA
Steps to run
-
Install GCC >= 9.3
-
Source environment variables.
$ source set_env.sh
-
$ make
. -
Run Jobs.
a. Generate JobFile.
$ ./generateJobs JOBFILE
b. Run simulations individually.
$ ./MapaSim POLICY_NAME SYSTEM_ARCH JOBFILE
POLICY_NAME
can bebaseline
,topoAware
,greedy
, orpreserve
.SYSTEM_ARCH
can bedgx-v
,dgx-p
,summit
,torus-2d
, orcubeMesh-16
. For more information, refer to Supported System Architectures. -
To run real jobs (
MapaReal
), Caffe must be compiled with GCC <= 5.4.$ ./MapaReal POLICY_NAME SYSTEM_ARCH JOBFILE
-
To run simulations or real runs for all policies on an architecture.
$ ./launch-jobs.sh [--real | --sim] SYSTEM_ARCH JOBS_FILE
Supported System Architectures (SYSTEM_ARCH)
Real Runs: DGX-V, DGX-P, Summit
Simulation Runs: DGX-V, DGX-P, Summit, Torus-2d, CubeMesh-16.
Custom accelerator topologies and allocation policies
If you intend to add your own accelerator topologies in GpuTopology.hh:
Custom policies can be added to MapaPolicies.hh.