Commit fc11c8b6 authored by Justs Zarins's avatar Justs Zarins
Browse files

Clean up readme and add original dataset and some useful info

parent 5c6d9b9a
1) Use
to get code and apply modifications.
## Replicate the GPCNeT plot in the paper
2) cd gpcnet
* `python3 256probes_256congestors_bw_ad0_ad3.pickle`
3) Modify Makefile for your compilation environment and run
make all
* If you encounter issues, e.g. with Latex, you can do `cp`. This will only affect figure aesthetics and can be undone using `git checkout`.
4) Modify submit.cobalt to suit your submission system and change "benchmark" variable to point to "network_load_test" in your GPCNeT directory.
## Generate the same kind of data used in the GPCNeT plot in the paper
5) qsub submit.cobalt
1. `bash` to get the code used in the GPCNeT experiments.
2. `cd gpcnet`
3. Modify the `Makefile` for your compilation environment.
4. `make all`
5. Modify `submit.cobalt` to suit your submission system and change "benchmark" variable to point to "network_load_test" executable in your GPCNeT directory.
6. `qsub test_job_theta.cobalt` or similar to launch the job on your system.
6. `python3 ./Probe_ADAPTIVE_*__nnodes_512/summary.out` to process the raw data
7. `python3 dataset.pickle` to generate the kind of plot used in the paper
6) python3 ./Probe_ADAPTIVE_*__nnodes_512/summary.out
7) To generate plot:
python3 dataset.pickle
......@@ -250,7 +250,6 @@ def plot_zdata_data_probes_and_congs_individual(df, num_nodes):
def get_resampled_kde(binv, binc):
num_samples = 100000
print("Drawing", str(num_samples), "samples for plot. For final version this should be 100'000.")
resamples = np.random.choice(binv, size=num_samples, p=binc/binc.sum())
return resamples
......@@ -262,7 +261,7 @@ def set_more_printout_pandas():
pd.set_option('display.width', 1000)
def pickout_data(df):
def pick_paper_data(df):
df2 = df.loc[(df.benchmark_name == "RR Two-sided BW") & (df.cong == "yes")]
return df2.loc[(df2.p_ar == "ADAPTIVE_0") | (df2.p_ar == "ADAPTIVE_3")]
......@@ -270,7 +269,7 @@ def pickout_data(df):
# Main entry point
if __name__ == "__main__":
df = load_dataframe(sys.argv[1])
df = pickout_data(df)
df = pick_paper_data(df)
if df.isnull().values.any():
print("There are NULL values in the dataframe. Aborting.")
Loaded modules when compiling the code for the GPCNeT experiments presented in the paper:
1) modules/
2) intel/
3) craype-network-aries
4) craype/2.6.1
5) cray-libsci/19.06.1
6) udreg/2.3.2-
7) ugni/
8) pmi/5.0.14
9) dmapp/7.1.1-
10) gni-headers/
11) xpmem/2.2.15-
12) job/2.2.3-
13) dvs/2.7_2.2.120-
14) alps/6.6.43-
15) rca/2.2.18-
16) atp/2.1.3
17) PrgEnv-intel/6.0.5
18) craype-mic-knl
19) cray-mpich/7.7.10
20) nompirun/nompirun
21) darshan/3.1.5
22) trackdeps
23) xalt
24) papi/
def init_plotting():
def hide_spines():
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment