Table of Contents
This README contains documentation of additional scripts present in this directory. More specifically, we will discuss about create_jobfile.pl
and rollup.pl
scripts.
create_jobfile.pl
script helps to create the necessary experiment commandlines. The script requires three necessary arguments:
exe
: The full path of the executable to runtlist
: Contains trace definitionsexp
: Contains knobs of the experiements to run
Some sample tilst
, and exp
can be found in $PYTHIA_HOME/experiments
directory.
The additional arguments of the scripts are:
Argument | Description | Default |
---|---|---|
local |
Set to 0 (or 1) to generate commandlines to run in slurm cluster (or in local machine). | 0 |
partition |
Default slurm partition name. | slurm_part |
ncores |
Number of cores requested by each slurm job to slurm controller. Typically set to 1, as ChampSim is inherently a single-core simulator. | 1 |
include_list |
IDs of only those cluster nodes that will be used to launch runs. Setting NULL will include all nodes by default. The default node hostname is set to kratos . |
NULL |
exclude_list |
IDs of the cluster nodes to exclude from lauching runs. The default node hostname is set to kratos . |
NULL |
extra |
Any extra configuration knobs to supply to slurm scheduler. | NULL |
Some example usage of the scripts are as follows:
-
Generate jobs for local machine
perl ../scripts/create_jobfile.pl --exe $PYTHIA_HOME/bin/perceptron-multi-multi-no-ship-1core --tlist MICRO21_1C.tlist --exp MICRO21_1C.exp --local 1 > jobfile.sh
-
Generate jobs to run on all machines in slurm cluster parition named "develop", but excluding machines
kratos2
andkratos4
perl ../scripts/create_jobfile.pl --exe $PYTHIA_HOME/bin/perceptron-multi-multi-no-ship-1core --tlist MICRO21_1C.tlist --exp MICRO21_1C.exp --local 0 --partition develop --exclude_list "2,4" > jobfile.sh
-
Generate jobs to run on all machines in slurm cluster parition named "develop" with less priority
perl ../scripts/create_jobfile.pl --exe $PYTHIA_HOME/bin/perceptron-multi-multi-no-ship-1core --tlist MICRO21_1C.tlist --exp MICRO21_1C.exp --local 0 --partition develop --extra "--nice=200" > jobfile.sh
rollup.pl
script helps to rollup statistics from the ChampSim outputs of multiple experiments over multiple traces in a single CSV file. The output CSV file is dumped in pivot-table friendly way, so that the user can easily post-process the csv in their favourite number processor (e.g., Python Pandas, Microsoft Excel, etc.).
For each trace and each experiment, the script populates a filter
column. The filter column for all experiments of a trace X will be populated as 1
if and only if all statistic metircs from all experments are valid. This is done to quickly discard traces from the final pivot-table statistics for which at least one experiment has failed.
rollup.pl
requires three necessary arguments:
tlist
: Contains trace definitionsexp
: Contains knobs of the experiements to runmfile
: Specifies stat names and reduction method to rollup
Some sample tilst
, exp
, and mfile
can be found in $PYTHIA_HOME/experiments
directory.
The additional arguments of the scripts are:
Argument | Description | Default |
---|---|---|
ext |
Extension of the statistics file. | out |
Some example usages are:
-
Rollup from
.out
stat files:cd experiements_1C/ perl ../../scripts/rollup.pl --tlist ../MICRO21_1C.tlist --exp ../MICRO21_1C.exp --mfile ../rollup_1C_base_config.mfile --ext "out" > rollup.csv