Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

regex symbols in get_stats script output #111

Open
drajarshi opened this issue Apr 1, 2022 · 6 comments · May be fixed by #112
Open

regex symbols in get_stats script output #111

drajarshi opened this issue Apr 1, 2022 · 6 comments · May be fixed by #112
Assignees

Comments

@drajarshi
Copy link

drajarshi commented Apr 1, 2022

$ python get_stats.py -N AccelWattch-PTX-c139-m5100-100c

@drajarshi
Copy link
Author

drajarshi commented Apr 1, 2022

The get_stats.py script generates output similar to the snippet below :
----snippet starts here ------

gpgpu_simulation_time\s*=.*\(([0-9]+) sec\).*,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,62013

----------------------------------------------------------------------------------------------------,
gpu_tot_sim_cycle\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,27112035

----------------------------------------------------------------------------------------------------,
\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,3123346

----- snippet ends here --------

In case of long stat names, it is difficult to read the names especially if the user is new to the environment and the stats themselves.
This becomes slightly more complex if the regex expression is both before and after the actual stat name. Hence, it would be useful to have the stat names separately without the regex.

@drajarshi drajarshi linked a pull request Apr 1, 2022 that will close this issue
@JRPan
Copy link
Collaborator

JRPan commented Apr 11, 2022

Hi,

Could you please show an example of what it looks like after your fix?

Thanks

@drajarshi
Copy link
Author

drajarshi commented Apr 12, 2022

Hi,

I have modified the update.

Here's the complete run output.

before the fix:

accel-sim-framework-dev$ python ./util/job_launching/get_stats.py.orig -N TITANXlcyte-AccelWattch-PTX-c139-m5005-100cores
Using logfiles ['/home/rajarshi/simulation/accel-sim-framework-dev/util/job_launching/../job_launching/logfiles/sim_log.TITANXlcyte-AccelWattch-PTX-c139-m5005-100cores.22.03.28-Monday.txt']
----------------------------------------------------------------------------------------------------,
Accel-Sim-build,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--all_kernels,NA

----------------------------------------------------------------------------------------------------,
GPGPU-Sim-build,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--all_kernels,gpgpu-sim_git-commit-1fe7f38ca1db570e5c65686434c0b3b7b2334e9b_modified_2.0

----------------------------------------------------------------------------------------------------,
gpu_tot_sim_insn\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,11716653119

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_time\s*=.*\(([0-9]+) sec\).*,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,62213

----------------------------------------------------------------------------------------------------,
gpu_tot_sim_cycle\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,28951905

----------------------------------------------------------------------------------------------------,
\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,3083286

----------------------------------------------------------------------------------------------------,
\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,3083286

----------------------------------------------------------------------------------------------------,
\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,143223

----------------------------------------------------------------------------------------------------,
\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,174301

----------------------------------------------------------------------------------------------------,
\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,NA

----------------------------------------------------------------------------------------------------,
\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,0

----------------------------------------------------------------------------------------------------,
\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,0

----------------------------------------------------------------------------------------------------,
\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,NA

----------------------------------------------------------------------------------------------------,
\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[MSHR_HIT\]\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,0

----------------------------------------------------------------------------------------------------,
gpgpu_n_tot_w_icount\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,388610230

----------------------------------------------------------------------------------------------------,
total dram reads\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,4

----------------------------------------------------------------------------------------------------,
total dram writes\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,4

----------------------------------------------------------------------------------------------------,
kernel_launch_uid\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,3

----------------------------------------------------------------------------------------------------,
gpu_ipc\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,1111.0797

----------------------------------------------------------------------------------------------------,
gpu_occupancy\s*=\s*(.*)%,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,15.6244

----------------------------------------------------------------------------------------------------,
L2_BW\s*=\s*(.*)+GB\/Sec,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_rate\s+=\s+(.*)\s+\(inst\/sec\),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,188331

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_rate\s+=\s+(.*)\s+\(cycle\/sec\),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,465

----------------------------------------------------------------------------------------------------,
gpgpu_silicon_slowdown\s*=\s*(.*)x,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,298924

----------------------------------------------------------------------------------------------------,
gpu_tot_ipc\s*=\s*(.*),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,404.6937

Script exec time 0.16 seconds. 1 files and 624.740 KB parsed. 3.944 MB/s

after the fix:

The get_stats.py corresponds to the file with the fix. The original file is named as get_stats.py.orig. At this stage, I replaced the original example_stats.yml with the fixed example_stats.yml (which is the file example_stats.yml.mod here).

accel-sim-framework-dev/util/job_launching/stats$ ls -lrt
total 12
-rw-rw-r-- 1 rajarshi rajarshi 2062 Mar 31 12:36 example_stats.yml.orig
-rw-rw-r-- 1 rajarshi rajarshi 3165 Apr  1 09:05 example_stats.yml.mod
-rw-rw-r-- 1 rajarshi rajarshi 2062 Apr 13 10:46 example_stats.yml

accel-sim-framework-dev/util/job_launching/stats$ cp example_stats.yml.mod example_stats.yml

accel-sim-framework-dev/util/job_launching/stats$ ls -lrt
total 12
-rw-rw-r-- 1 rajarshi rajarshi 2062 Mar 31 12:36 example_stats.yml.orig
-rw-rw-r-- 1 rajarshi rajarshi 3165 Apr  1 09:05 example_stats.yml.mod
-rw-rw-r-- 1 rajarshi rajarshi 3165 Apr 13 10:46 example_stats.yml

accel-sim-framework-dev$ python ./util/job_launching/get_stats.py -N TITANXlcyte-AccelWattch-PTX-c139-m5005-100cores
Using logfiles ['/home/rajarshi/simulation/accel-sim-framework-dev/util/job_launching/../job_launching/logfiles/sim_log.TITANXlcyte-AccelWattch-PTX-c139-m5005-100cores.22.03.28-Monday.txt']
----------------------------------------------------------------------------------------------------,
Accel-Sim-build,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--all_kernels,NA

----------------------------------------------------------------------------------------------------,
GPGPU-Sim-build,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--all_kernels,gpgpu-sim_git-commit-1fe7f38ca1db570e5c65686434c0b3b7b2334e9b_modified_2.0

----------------------------------------------------------------------------------------------------,
gpu_tot_sim_insn,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,11716653119

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_time,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,62213

----------------------------------------------------------------------------------------------------,
gpu_tot_sim_cycle,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,28951905

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,3083286

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,3083286

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,143223

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,174301

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,NA

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_R][HIT],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,0

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_W][HIT],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,0

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,NA

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_R][MSHR_HIT],
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,0

----------------------------------------------------------------------------------------------------,
gpgpu_n_tot_w_icount,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,388610230

----------------------------------------------------------------------------------------------------,
total_dram_reads,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,4

----------------------------------------------------------------------------------------------------,
total_dram_writes,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,4

----------------------------------------------------------------------------------------------------,
kernel_launch_uid,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,3

----------------------------------------------------------------------------------------------------,
gpu_ipc,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,1111.0797

----------------------------------------------------------------------------------------------------,
gpu_occupancy,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,15.6244

----------------------------------------------------------------------------------------------------,
L2_BW,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_rate(inst/sec),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,188331

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_rate(cycle/sec),
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,465

----------------------------------------------------------------------------------------------------,
gpgpu_silicon_slowdown,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,298924

----------------------------------------------------------------------------------------------------,
gpu_tot_ipc,
APPS,TITANXlcyte-Accelwattch_PTX_SIM
leukocyte-rodinia-3.1/__data_testfile_avi_1--final_kernel,404.6937

Script exec time 0.13 seconds. 1 files and 624.740 KB parsed. 4.668 MB/s

Please let me know if you need any additional information.

Thanks.

@drajarshi
Copy link
Author

drajarshi commented Apr 14, 2022

Hi

Since the output of get_stats.py does not contain regex, I added changes to correl_mappings.py so that plot-correlation.py can use the modified output from the fixed get_stats.py/example_stats.yml in order to generate correlation data as before.

In order to test the changes to correl_mappings.py, I added a configuration entry corresponding to my GPU device and also a separate stanza for my GPU device to the committed version of correl_mappings.py.

The .PR112 file is the one I committed and the .PR112-and-P2200 is the file where I added an entry for my GPU device so that I could verify if the modified correl_mappings.py file allows the correlator script to work fine.

accel-sim-framework-dev/util/plotting$ diff -u correl_mappings.py.PR112 correl_mappings.py.PR112-and-P2200 
--- correl_mappings.py.PR112	2022-04-13 17:11:40.083715301 +0530
+++ correl_mappings.py.PR112-and-P2200	2022-04-13 17:46:39.564904222 +0530
@@ -5,6 +5,7 @@
 config_maps = \
 {
     "TITANX": set("TITAN X (Pascal)"),
+    "TITANXlcyteGICOV": set("Quadro P2200"),
     "P100_HBM" : set("Tesla P100"),
     "GTX480" : set("GeForce GTX 480"),
     "GTX1080Ti" : set("GeForce GTX 1080 Ti"),
@@ -44,6 +45,19 @@
         drophwnumbelow=0,
         plottype="log",
         stattype="counter"
+    ),
+    # 999 MHz
+    CorrelStat(chart_name="Cycles",
+        plotfile="titanx-p102-quadro-p2200-cycles",
+        hw_eval="np.average(hw[\"Duration\"])*999",
+        hw_error="np.max(hw[\"Duration\"])*999 - np.average(hw[\"Duration\"])*999,"+\
+                 "np.average(hw[\"Duration\"])*999 - np.min(hw[\"Duration\"])*999",
+#       sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])",
+        sim_eval="float(sim[\"gpu_tot_sim_cycle\"])",
+        hw_name="Quadro P2200",
+        drophwnumbelow=0,
+        plottype="log",
+        stattype="counter"
     ),
     # (1400 MHz - 16-wide SIMD)
     CorrelStat(chart_name="Cycles",


I then copied the correl_mappings.py.PR112-and-P2200 file as correl_mappings.py. The .csv file mentioned in the command line invocation below is the one generated by get_stats.py.

$ nohup util/plotting/plot-correlation.py -v -c ./correl_stats_TITANXlcyteGICOV-AccelWattch-SASS-c999-m5005-3-2.csv &
$ cat nohup.out

-----------------------------------------------------------------
All Card Summary:
HW Summary for Quadro P2200 [Contains 1 Apps]:
----------------------------------------------------------------


Plotting Quadro P2200 : [Cycles]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 0 under, 1 over)) [Correl=nan Err=6.46%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 0 under, 1 over, 1 < 10% Err)) [Correl=nan Err=6.46% Agg_Err=6.46% RPD=6.26%,NMSE=0.06]

Plotting Quadro P2200 : [Warp Instructions]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (1 < 1% Err, 0 under, 0 over)) [Correl=nan Err=0.00%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (1 < 1% Err, 1 under, 0 over, 1 < 10% Err)) [Correl=nan Err=0.00% Agg_Err=0.00% RPD=0.00%,NMSE=0.00]

Plotting Quadro P2200 : [L2 Read Hits]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=100.00%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=100.00% Agg_Err=100.00% RPD=200.00%,NMSE=1.00]

Plotting Quadro P2200 : [L2 Writes]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (1 < 1% Err, 0 under, 0 over)) [Correl=nan Err=0.00%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (1 < 1% Err, 0 under, 0 over, 1 < 10% Err)) [Correl=nan Err=0.00% Agg_Err=0.00% RPD=0.00%,NMSE=0.00]

Plotting Quadro P2200 : [L2 Write Hits]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=71.09%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=71.09% Agg_Err=71.09% RPD=110.29%,NMSE=0.71]

Plotting Quadro P2200 : [L2 Write Hit Rate]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=71.09%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=71.09% Agg_Err=71.09% RPD=110.29%,NMSE=0.71]

Plotting Quadro P2200 : [Occupancy]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=3.57%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 1 < 10% Err)) [Correl=nan Err=3.57% Agg_Err=3.57% RPD=3.63%,NMSE=0.04]

Plotting Quadro P2200 : [DRAM Reads]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=100.00%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=100.00% Agg_Err=100.00% RPD=200.00%,NMSE=1.00]

Plotting Quadro P2200 : [DRAM Writes]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=100.00%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=100.00% Agg_Err=100.00% RPD=200.00%,NMSE=1.00]

Plotting Quadro P2200 : [IPC]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=84.70%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=84.70% Agg_Err=84.70% RPD=146.93%,NMSE=0.85]

Output Available at: file:///home/rajarshi/iiitb/ms_res_work/research_discussion/discussion_res_ongoing/res_workarea/simulation/accel-sim-framework-dev/util/plotting/correl-html

Subsequently, there are files generated in the correl-html/ folder as below:

accel-sim-framework-dev/util/plotting/correl-html$ ls
dram-read-transactions.TITANXlcyteGICOV-Accelwattc.app.raw.csv      l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.app.raw.csv
dram-read-transactions.TITANXlcyteGICOV-Accelwattc.apps.txt         l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.apps.txt
dram-read-transactions.TITANXlcyteGICOV-Accelwattc.kernel.raw.csv   l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.kernel.raw.csv
dram-read-transactions.TITANXlcyteGICOV-Accelwattc.kernel.txt       l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.kernel.txt
dram-read-transactions.TITANXlcyteGICOV-Accelwattc.per-app.html     l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.per-app.html
dram-read-transactions.TITANXlcyteGICOV-Accelwattc.per-kernel.html  l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.per-kernel.html
dram-write-transactions.TITANXlcyteGICOV-Accelwatt.app.raw.csv      l2-write-transactions.TITANXlcyteGICOV-Accelwattch.app.raw.csv
dram-write-transactions.TITANXlcyteGICOV-Accelwatt.apps.txt         l2-write-transactions.TITANXlcyteGICOV-Accelwattch.apps.txt
dram-write-transactions.TITANXlcyteGICOV-Accelwatt.kernel.raw.csv   l2-write-transactions.TITANXlcyteGICOV-Accelwattch.kernel.raw.csv
dram-write-transactions.TITANXlcyteGICOV-Accelwatt.kernel.txt       l2-write-transactions.TITANXlcyteGICOV-Accelwattch.kernel.txt
dram-write-transactions.TITANXlcyteGICOV-Accelwatt.per-app.html     l2-write-transactions.TITANXlcyteGICOV-Accelwattch.per-app.html
dram-write-transactions.TITANXlcyteGICOV-Accelwatt.per-kernel.html  l2-write-transactions.TITANXlcyteGICOV-Accelwattch.per-kernel.html
ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv               occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv
ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt                  occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt
ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv            occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv
ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt                occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt
ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html              occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html
ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html           occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html
l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv      titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.app.raw.csv
l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt         titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.apps.txt
l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv   titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.kernel.raw.csv
l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt       titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.kernel.txt
l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html     titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.per-app.html
l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html  titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.per-kernel.html
l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.app.raw.csv      warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv
l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.apps.txt         warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt
l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.kernel.raw.csv   warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv
l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.kernel.txt       warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt
l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.per-app.html     warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html
l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.per-kernel.html  warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html

The above test shows that the modified correl-mappings.py allows the plot-correlation.py script to work fine.
However, I have excluded the changes for my GPU device type from the committed file since it does not make sense to have a new device type included only in the correlation mappings file.

Please let me know if you need any additional inputs on the test results or any other clarifications.

Thanks

@FJShen FJShen linked a pull request Apr 14, 2022 that will close this issue
@drajarshi
Copy link
Author

@JRPan
Gentle reminder regarding the pull request. Please review and let know if any actions are pending from my side to progress further.

Thanks

@drajarshi
Copy link
Author

drajarshi commented Apr 20, 2022

@JRPan
Please find the output below from my test.

Used get_stats.py (the committed version) to generate a csv for the purpose of correlation:

accel-sim-framework-dev$ python ./util/job_launching/get_stats.py -K -k -R -B rodinia-3.1 -C TITANXlcyteGICOV-Accelwattch_SASS_SIM > correl_stats_TITANXlcyteGICOV-AccelWattch-SASS-c999-m5005-new-20apr22.csv
Script exec time 0.43 seconds. 1 files and 103.002 KB parsed. 239.142 KB/s

This get_stats.py also uses the modified example_stats.yml.

The example_stats.yml used for the test:

# These stats are continuously aggregated - even between kerenels and should
# be diff'd to get the per-kernel stats
collect_aggregate:
    - {'gpu_tot_sim_insn':'gpu_tot_sim_insn\s*=\s*(.*)'}
    - {'gpgpu_simulation_time':'gpgpu_simulation_time\s*=.*\(([0-9]+) sec\).*'}
    - {'gpu_tot_sim_cycle':'gpu_tot_sim_cycle\s*=\s*(.*)'}
    - {'L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT]':
       '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)'}
    - {'L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]':
       '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)'}
    - {'L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT]':
       '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)'}
    - {'L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]':
       '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)'}
    - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]':
       '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)'}
    - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_R][HIT]':
       '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)'}
    - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_W][HIT]':
       '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)'}
    - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]':
       '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)'}
    - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_R][MSHR_HIT]':
       '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[MSHR_HIT\]\s*=\s*(.*)'}
    - {'gpgpu_n_tot_w_icount':'gpgpu_n_tot_w_icount\s*=\s*(.*)'}
    - {'total_dram_reads':'total dram reads\s*=\s*(.*)'}
    - {'total_dram_writes':'total dram writes\s*=\s*(.*)'}
    - {'kernel_launch_uid':'kernel_launch_uid\s*=\s*(.*)'}

# These stats are reset each kernel and should not be diff'd
# They cannot be used is only collecting the final_kernel stats
collect_abs:
    - {'gpu_ipc':'gpu_ipc\s*=\s*(.*)'}
    - {'gpu_occupancy':'gpu_occupancy\s*=\s*(.*)%'}
    - {'L2_BW':'L2_BW\s*=\s*(.*)+GB\/Sec'}

# These stats are rates that aggregate - but cannot be diff'd
# Only valid as a snapshot and most useful for the final kernel launch
collect_rates:
    - {'gpgpu_simulation_rate(inst/sec)':'gpgpu_simulation_rate\s+=\s+(.*)\s+\(inst\/sec\)'}
    - {'gpgpu_simulation_rate(cycle/sec)':'gpgpu_simulation_rate\s+=\s+(.*)\s+\(cycle\/sec\)'}
    - {'gpgpu_silicon_slowdown':'gpgpu_silicon_slowdown\s*=\s*(.*)x'}
    - {'gpu_tot_ipc':'gpu_tot_ipc\s*=\s*(.*)'}

The output of the generated csv file is:

accel-sim-framework-dev$ cat correl_stats_TITANXlcyteGICOV-AccelWattch-SASS-c999-m5005-new-20apr22.csv 
----------------------------------------------------------------------------------------------------,
Accel-Sim-build,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--all_kernels
TITANXlcyteGICOV-Accelwattch_SASS_SIM,accelsim-commit-1fe7f38ca1db570e5c65686434c0b3b7b2334e9b_modified_2.0

----------------------------------------------------------------------------------------------------,
GPGPU-Sim-build,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--all_kernels
TITANXlcyteGICOV-Accelwattch_SASS_SIM,gpgpu-sim_git-commit-1fe7f38ca1db570e5c65686434c0b3b7b2334e9b_modified_2.0

----------------------------------------------------------------------------------------------------,
gpu_tot_sim_insn,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,3763281388.0

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_time,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,1031.0

----------------------------------------------------------------------------------------------------,
gpu_tot_sim_cycle,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,3312020.0

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,0.0

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,NA

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,2605.0

----------------------------------------------------------------------------------------------------,
L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,16163.0

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,NA

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_R][HIT],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,0.0

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_W][HIT],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,0.0

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,NA

----------------------------------------------------------------------------------------------------,
Total_core_cache_stats_breakdown[GLOBAL_ACC_R][MSHR_HIT],
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,0.0

----------------------------------------------------------------------------------------------------,
gpgpu_n_tot_w_icount,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,129619674.0

----------------------------------------------------------------------------------------------------,
total_dram_reads,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,0.0

----------------------------------------------------------------------------------------------------,
total_dram_writes,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,0.0

----------------------------------------------------------------------------------------------------,
kernel_launch_uid,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,1.0

----------------------------------------------------------------------------------------------------,
gpu_ipc,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,1136.2496

----------------------------------------------------------------------------------------------------,
gpu_occupancy,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,84.3756

----------------------------------------------------------------------------------------------------,
L2_BW,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_rate(inst/sec),
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,3650127

----------------------------------------------------------------------------------------------------,
gpgpu_simulation_rate(cycle/sec),
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,3212

----------------------------------------------------------------------------------------------------,
gpgpu_silicon_slowdown,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,311021

----------------------------------------------------------------------------------------------------,
gpu_tot_ipc,
CFG,leukocyte-rodinia-3.1/__data_testfile_avi_1--_Z12GICOV_kerneliPf--0
TITANXlcyteGICOV-Accelwattch_SASS_SIM,1136.2496


The hw run data was generated using the following script:
accel-sim-framework-dev$ nohup ./util/hw_stats/run_hw.py -D 0 -B rodinia-3.1 -R 10 -C other_stats
I am not generating the hw run data again since the run_hw.py was not modified.

The hw run data is here:

accel-sim-framework-dev/hw_run/device-0/11.5/leukocyte-rodinia-3.1/__data_testfile_avi_1$ ls
22.04.10-Sunday--23:58:24.csv.cycle.0              22.04.13-Wednesday--17:34:03.csv.cycle.1
22.04.10-Sunday--23:58:24.csv.cycle.1              22.04.13-Wednesday--17:34:03.csv.cycle.2
22.04.10-Sunday--23:58:24.csv.cycle.2              22.04.13-Wednesday--17:34:03.csv.cycle.3
22.04.10-Sunday--23:58:24.csv.cycle.3              22.04.13-Wednesday--17:34:03.csv.cycle.4
22.04.10-Sunday--23:58:24.csv.cycle.4              22.04.13-Wednesday--17:34:03.csv.cycle.5
22.04.10-Sunday--23:58:24.csv.cycle.5              22.04.13-Wednesday--17:34:03.csv.cycle.6
22.04.10-Sunday--23:58:24.csv.cycle.6              22.04.13-Wednesday--17:34:03.csv.cycle.7
22.04.10-Sunday--23:58:24.csv.cycle.7              22.04.13-Wednesday--17:34:03.csv.cycle.8
22.04.10-Sunday--23:58:24.csv.cycle.8              22.04.13-Wednesday--17:34:03.csv.cycle.9
22.04.10-Sunday--23:58:24.csv.cycle.9              22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.0
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.0  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.1
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.1  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.2
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.2  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.3
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.3  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.4
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.4  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.5
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.5  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.6
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.6  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.7
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.7  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.8
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.8  22.04.13-Wednesday--17:34:03.csv.elapsed_cycles_sm.9
22.04.10-Sunday--23:58:24.csv.elapsed_cycles_sm.9  data
22.04.13-Wednesday--17:34:03.csv                   data_dirs
22.04.13-Wednesday--17:34:03.csv.cycle.0           run.sh


The 22.04.13*csv file does contain data for several stats.

An output from the csv.cycle.0 file:

accel-sim-framework-dev/hw_run/device-0/11.5/leukocyte-rodinia-3.1/__data_testfile_avi_1$ cat 22.04.13-Wednesday--17\:34\:03.csv.cycle.0
==12201== NVPROF is profiling process 12201, command: /home/rajarshi/iiitb/ms_res_work/research_discussion/discussion_res_ongoing/res_workarea/simulation/accel-sim-framework-dev/gpu-app-collection-dev/bin/11.5/release/leukocyte-rodinia-3.1 ./data/testfile.avi 1
==12201== Profiling application: /home/rajarshi/iiitb/ms_res_work/research_discussion/discussion_res_ongoing/res_workarea/simulation/accel-sim-framework-dev/gpu-app-collection-dev/bin/11.5/release/leukocyte-rodinia-3.1 ./data/testfile.avi 1
==12201== Profiling result:
"Start","Duration","Grid X","Grid Y","Grid Z","Block X","Block Y","Block Z","Registers Per Thread","Static SMem","Dynamic SMem","Size","Throughput","SrcMemType","DstMemType","Device","Context","Stream","Name","Correlation_ID"
us,us,,,,,,,,B,B,KB,GB/s,,,,,,,
165486.473000,1.120000,,,,,,,,,,0.585938,0.498923,"Pageable","Device","Quadro P2200 (0)","1","7","[CUDA memcpy HtoD]",114
165501.705000,0.768000,,,,,,,,,,0.585938,0.727596,"Pageable","Device","Quadro P2200 (0)","1","7","[CUDA memcpy HtoD]",115
165515.593000,1.088000,,,,,,,,,,4.101562,3.595179,"Pageable","Device","Quadro P2200 (0)","1","7","[CUDA memcpy HtoD]",116
165528.137000,1.088000,,,,,,,,,,4.101562,3.595179,"Pageable","Device","Quadro P2200 (0)","1","7","[CUDA memcpy HtoD]",117
165541.833000,0.928000,,,,,,,,,,2.441406,2.508951,"Pageable","Device","Quadro P2200 (0)","1","7","[CUDA memcpy HtoD]",118
167011.496000,44.224000,,,,,,,,,,547.500000,11.806636,"Pageable","Device","Quadro P2200 (0)","1","7","[CUDA memcpy HtoD]",122
167095.592000,44.256000,,,,,,,,,,547.500000,11.798099,"Pageable","Device","Quadro P2200 (0)","1","7","[CUDA memcpy HtoD]",123
167156.296000,4.576000,,,,,,,,,,547.500000,114.103297,"Device",,"Quadro P2200 (0)","1","7","[CUDA memset]",127
167187.527000,2449.150000,596,1,1,175,1,1,24,0,0,,,,,"Quadro P2200 (0)","1","7","_Z12GICOV_kerneliPf",128
169674.085000,43.488000,,,,,,,,,,547.500000,12.006454,"Device","Pageable","Quadro P2200 (0)","1","7","[CUDA memcpy DtoH]",131

First I modify the correl_mappings.py to exactly match the committed version:

accel-sim-framework-dev/util/plotting$ cp correl_mappings.py.PR112 correl_mappings.py
Then run the plot-correlation.py script:

accel-sim-framework-dev$ python util/plotting/plot-correlation.py -c ./correl_stats_TITANXlcyteGICOV-AccelWattch-SASS-c999-m5005-new-20apr22.csv 
-----------------------------------------------------------------
All Card Summary:
HW Summary for Quadro P2200 [Contains 2 Apps]:
----------------------------------------------------------------

Output Available at: file:///home/rajarshi/iiitb/ms_res_work/research_discussion/discussion_res_ongoing/res_workarea/simulation/accel-sim-framework-dev/util/plotting/correl-html


But the output folder is not there. This is expected since there is no matching definition in the correl-mappings.py config_maps.

accel-sim-framework-dev$ python util/plotting/plot-correlation.py -v -c ./correl_stats_TITANXlcyteGICOV-AccelWattch-SASS-c999-m5005-new-20apr22.csv 
.......
............
cfg TITANXlcyteGICOV-Accelwattch_SASS_SIM not in config_maps:{'TITANX': {'T', 'c', 'l', 'N', 'I', ' ', 's', ')', 'X', 'A', 'P', '(', 'a'}, 'P100_HBM': {'T', 'l', ' ', 's', '1', 'e', 'P', '0', 'a'}, 'GTX480': {'4', 'T', 'c', 'r', 'F', 'G', 'o', ' ', '8', 'e', 'X', '0'}, 'GTX1080Ti': {'T', 'i', 'c', 'r', 'F', 'G', 'o', ' ', '1', 'e', 'X', '8', '0'}, 'TITANK': {'T', 'c', 'N', 'r', 'I', 'F', 'G', 'o', ' ', 'e', 'X', 'A'}, 'QV100': {'Tesla V100-SXM2-32GB', 'TITAN V', 'Quadro GV100'}, 'RTX2060': {'R', 'T', 'c', 'r', 'F', 'G', 'o', ' ', '2', 'e', 'X', '0', '6'}, 'RTX3070': {'R', 'T', 'c', 'r', '3', 'F', 'G', 'o', ' ', 'e', 'X', '7', '0'}}.

Now I replace the correl_mappings.py with the one that is the committed version + it includes a mapping for my GPU device, i.e. P2200 Quadro.

accel-sim-framework-dev/util/plotting$ diff -u correl_mappings.py.PR112 correl_mappings.py.PR112-and-P2200 
--- correl_mappings.py.PR112	2022-04-13 17:11:40.083715301 +0530
+++ correl_mappings.py.PR112-and-P2200	2022-04-13 17:46:39.564904222 +0530
@@ -5,6 +5,7 @@
 config_maps = \
 {
     "TITANX": set("TITAN X (Pascal)"),
+    "TITANXlcyteGICOV": set("Quadro P2200"),
     "P100_HBM" : set("Tesla P100"),
     "GTX480" : set("GeForce GTX 480"),
     "GTX1080Ti" : set("GeForce GTX 1080 Ti"),
@@ -44,6 +45,19 @@
         drophwnumbelow=0,
         plottype="log",
         stattype="counter"
+    ),
+    # 999 MHz
+    CorrelStat(chart_name="Cycles",
+        plotfile="titanx-p102-quadro-p2200-cycles",
+        hw_eval="np.average(hw[\"Duration\"])*999",
+        hw_error="np.max(hw[\"Duration\"])*999 - np.average(hw[\"Duration\"])*999,"+\
+                 "np.average(hw[\"Duration\"])*999 - np.min(hw[\"Duration\"])*999",
+#       sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])",
+        sim_eval="float(sim[\"gpu_tot_sim_cycle\"])",
+        hw_name="Quadro P2200",
+        drophwnumbelow=0,
+        plottype="log",
+        stattype="counter"
     ),
     # (1400 MHz - 16-wide SIMD)
     CorrelStat(chart_name="Cycles",


accel-sim-framework-dev/util/plotting$ cp correl_mappings.py.PR112-and-P2200 correl_mappings.py

accel-sim-framework-dev$ python util/plotting/plot-correlation.py -c ./correl_stats_TITANXlcyteGICOV-AccelWattch-SASS-c999-m5005-new-20apr22.csv 

........
.........

Plotting Quadro P2200 : [DRAM Writes]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=100.00%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=100.00% Agg_Err=100.00% RPD=200.00%,NMSE=1.00]

Plotting Quadro P2200 : [IPC]
TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps, 1 kernels (0 < 1% Err, 1 under, 0 over)) [Correl=nan Err=84.70%] :: 0 high error points dropped from Err calc. 0 dropped for HW too low (>0)
Per-App :: TITANXlcyteGICOV-Accelwattch_SASS_SIM (1 apps (0 < 1% Err, 1 under, 0 over, 0 < 10% Err)) [Correl=nan Err=84.70% Agg_Err=84.70% RPD=146.93%,NMSE=0.85]

Output Available at: file:///home/rajarshi/iiitb/ms_res_work/research_discussion/discussion_res_ongoing/res_workarea/simulation/accel-sim-framework-dev/util/plotting/correl-html

accel-sim-framework-dev/util/plotting/correl-html$ ls -lrt
total 72160
-rw-rw-r-- 1 rajarshi rajarshi     248 Apr 20 19:01 titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     276 Apr 20 19:01 titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     331 Apr 20 19:01 titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     215 Apr 20 19:01 titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686167 Apr 20 19:01 titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686151 Apr 20 19:01 titanx-p102-quadro-p2200-cycles.TITANXlcyteGICOV-A.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     249 Apr 20 19:01 warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     279 Apr 20 19:01 warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     331 Apr 20 19:01 warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     219 Apr 20 19:01 warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686128 Apr 20 19:01 warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686158 Apr 20 19:01 warp-inst.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     253 Apr 20 19:01 l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     274 Apr 20 19:01 l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     339 Apr 20 19:01 l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     212 Apr 20 19:01 l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686088 Apr 20 19:01 l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686158 Apr 20 19:01 l2-read-hits.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     248 Apr 20 19:01 l2-write-transactions.TITANXlcyteGICOV-Accelwattch.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     270 Apr 20 19:01 l2-write-transactions.TITANXlcyteGICOV-Accelwattch.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     331 Apr 20 19:01 l2-write-transactions.TITANXlcyteGICOV-Accelwattch.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     211 Apr 20 19:01 l2-write-transactions.TITANXlcyteGICOV-Accelwattch.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686087 Apr 20 19:01 l2-write-transactions.TITANXlcyteGICOV-Accelwattch.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686124 Apr 20 19:01 l2-write-transactions.TITANXlcyteGICOV-Accelwattch.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     251 Apr 20 19:01 l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     271 Apr 20 19:01 l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     336 Apr 20 19:01 l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     210 Apr 20 19:01 l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686095 Apr 20 19:01 l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686151 Apr 20 19:01 l2-write-hits.TITANXlcyteGICOV-Accelwattch_SASS_SI.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     251 Apr 20 19:01 l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     267 Apr 20 19:01 l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     336 Apr 20 19:01 l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     206 Apr 20 19:01 l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686169 Apr 20 19:01 l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686118 Apr 20 19:01 l2-write-hitrate.TITANXlcyteGICOV-Accelwattch_SASS.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     249 Apr 20 19:01 occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     265 Apr 20 19:01 occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     331 Apr 20 19:01 occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     205 Apr 20 19:01 occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686094 Apr 20 19:01 occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686095 Apr 20 19:01 occupancy.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     253 Apr 20 19:01 dram-read-transactions.TITANXlcyteGICOV-Accelwattc.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     271 Apr 20 19:01 dram-read-transactions.TITANXlcyteGICOV-Accelwattc.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     339 Apr 20 19:01 dram-read-transactions.TITANXlcyteGICOV-Accelwattc.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     209 Apr 20 19:01 dram-read-transactions.TITANXlcyteGICOV-Accelwattc.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686030 Apr 20 19:01 dram-read-transactions.TITANXlcyteGICOV-Accelwattc.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686126 Apr 20 19:01 dram-read-transactions.TITANXlcyteGICOV-Accelwattc.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     253 Apr 20 19:01 dram-write-transactions.TITANXlcyteGICOV-Accelwatt.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     271 Apr 20 19:01 dram-write-transactions.TITANXlcyteGICOV-Accelwatt.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     339 Apr 20 19:01 dram-write-transactions.TITANXlcyteGICOV-Accelwatt.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     209 Apr 20 19:01 dram-write-transactions.TITANXlcyteGICOV-Accelwatt.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686032 Apr 20 19:01 dram-write-transactions.TITANXlcyteGICOV-Accelwatt.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686126 Apr 20 19:01 dram-write-transactions.TITANXlcyteGICOV-Accelwatt.per-app.html
-rw-rw-r-- 1 rajarshi rajarshi     251 Apr 20 19:01 ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.txt
-rw-rw-r-- 1 rajarshi rajarshi     270 Apr 20 19:01 ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.kernel.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi     336 Apr 20 19:01 ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.apps.txt
-rw-rw-r-- 1 rajarshi rajarshi     207 Apr 20 19:01 ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.app.raw.csv
-rw-rw-r-- 1 rajarshi rajarshi 3686178 Apr 20 19:01 ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-kernel.html
-rw-rw-r-- 1 rajarshi rajarshi 3686127 Apr 20 19:01 ipc.TITANXlcyteGICOV-Accelwattch_SASS_SIM.per-app.html


In other words, I am able to see that the plot-correlator.py is generating plots when I use the committed correl_mappings.py (+ changes for my GPU device in the correl_mappings.py).
I can not test the committed version of correl_mappings.py directly since I do not have the hardware run data for any of the existing devices in the config_maps.
So, in order to debug further,
please share sample hardware run data (output of run_hw.py) for any of the devices listed in config_maps, and also the job log of jenkins, so that I can test the exact sequence of steps against the committed version of correl_mappings.py, and recreate the problem.

Thanks.

@JRPan JRPan self-assigned this May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants