From 021b6c4f037113f806b3be72e71fb34adc888d3b Mon Sep 17 00:00:00 2001 From: colramos425 Date: Mon, 14 Nov 2022 09:51:48 -0600 Subject: [PATCH 01/16] Add app parameters to profiling output #27 Signed-off-by: colramos425 --- src/omniperf | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/omniperf b/src/omniperf index b21ec78cd2..b215981b57 100755 --- a/src/omniperf +++ b/src/omniperf @@ -115,13 +115,14 @@ def replace_timestamps(workload_dir): df_pmc_perf.to_csv(workload_dir + "/pmc_perf.csv", index=False) -def gen_sysinfo(workload_name, workload_dir, ip_blocks, skip_roof): +def gen_sysinfo(workload_name, workload_dir, ip_blocks, app_cmd, skip_roof): # Record system information mspec = specs.get_machine_specs(0) sysinfo = open(workload_dir + "/" + "sysinfo.csv", "w") # write header header = "workload_name," + header += "command," header += "host_name,host_cpu,host_distro,host_kernel,host_rocmver,date," header += "gpu_soc,numSE,numCU,numSIMD,waveSize,maxWavesPerCU,maxWorkgroupSize," header += "L1,L2,sclk,mclk,cur_sclk,cur_mclk,L2Banks,name,numSQC,hbmBW," @@ -136,6 +137,7 @@ def gen_sysinfo(workload_name, workload_dir, ip_blocks, skip_roof): timestamp = now.strftime("%c") + " (" + local_tzname + ")" # host info param = [workload_name] + param += [app_cmd] param += [ mspec.hostname, mspec.cpu, @@ -175,6 +177,8 @@ def gen_sysinfo(workload_name, workload_dir, ip_blocks, skip_roof): if not skip_roof: blocks.append("roofline") + + # ip block info if ip_blocks == None: t = ["SQ", "LDS", "SQC", "TA", "TD", "TCP", "TCC", "SPI", "CPC", "CPF"] @@ -376,7 +380,7 @@ def omniperf_profile(args,VER): replace_timestamps(workload_dir) # Generate sysinfo - gen_sysinfo(args.name, workload_dir, args.ipblocks, args.no_roof) + gen_sysinfo(args.name, workload_dir, args.ipblocks, args.remaining, args.no_roof) # Add tracing & roofline metrics (mi200 only) if args.target.lower() == "mi200": @@ -498,7 +502,7 @@ def main(): sysinfo_exists = os.path.isfile(sysinfo_path) if not sysinfo_exists: print("sysinfo not found") - gen_sysinfo(args.name, args.path, [], False) + gen_sysinfo(args.name, args.path, [], args.remaining, False) # does app data exist? print("Checking for pmc_perf.csv in ", args.path) @@ -512,7 +516,7 @@ def main(): if not args.remaining: throw_parse_error( my_parser, - "Cannot find existing application data.\nAttempting to generate application data from -c.\n--cmd option is required to generate application data.", + "Cannot find existing application data.\nAttempting to generate application data from -- .\n-- option is required to generate application data.", ) else: characterize_app(args.path, args.remaining, args.verbose) From 85d9a81220148ded507de6b1c46613096f29edb9 Mon Sep 17 00:00:00 2001 From: "Karl W. Schulz" Date: Wed, 16 Nov 2022 14:59:41 -0600 Subject: [PATCH 02/16] enable header anchor generation up to depth=2 Signed-off-by: Karl W. Schulz --- src/docs/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/docs/conf.py b/src/docs/conf.py index b967810f1d..2b5d2e62d0 100644 --- a/src/docs/conf.py +++ b/src/docs/conf.py @@ -52,6 +52,8 @@ extensions = [ "myst_parser", ] +myst_heading_anchors = 2 + # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] From 29cc4a947755570f6dcac906550ddeee23d7d436 Mon Sep 17 00:00:00 2001 From: "Karl W. Schulz" Date: Wed, 16 Nov 2022 15:00:19 -0600 Subject: [PATCH 03/16] fix broken link (#33) Signed-off-by: Karl W. Schulz --- src/docs/getting_started.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/docs/getting_started.md b/src/docs/getting_started.md index a92581ef5f..c5c13d6322 100644 --- a/src/docs/getting_started.md +++ b/src/docs/getting_started.md @@ -69,7 +69,9 @@ Modes change the fundamental behavior of the Omniperf command line tool. Dependi - **Database**: Our detailed Grafana GUI is built on a MongoDB database. `--import` profiling results to the DB to interact with the workload in Grafana or `--remove` the workload from the DB. - Connection options will need to be specified. See the [*Omniperf Performance Analysis*](performance_analysis.md#omniperf-grafana-gui-import) section for more details on this. + Connection options will need to be specified. See the [*Grafana + Analysis*](grafana_analyzer.md#grafana-gui-import) import section + for more details on this. ```shell $ omniperf database --help From 63c9167375f0127dc578648b68dbe04769c2d5a6 Mon Sep 17 00:00:00 2001 From: colramos-amd Date: Thu, 17 Nov 2022 09:20:07 -0600 Subject: [PATCH 04/16] Add ubuntu binary to CMake Signed-off-by: colramos-amd --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89a0dbb7a3..0247f3fe37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,6 +226,7 @@ install( # src/utils/rooflines install(PROGRAMS src/utils/rooflines/roofline-rhel8-mi200-rocm5 src/utils/rooflines/roofline-sle15sp3-mi200-rocm5 + src/utils/rooflines/roofline-ubuntu20_04-mi200-rocm5 DESTINATION ${CMAKE_INSTALL_BINDIR}/utils/rooflines) # src/perfmon_pub install( From d267e98efdaf4f438f98984d5519c83f72770415 Mon Sep 17 00:00:00 2001 From: colramos425 Date: Fri, 18 Nov 2022 12:50:07 -0600 Subject: [PATCH 05/16] Check for failed subprocesses Signed-off-by: colramos425 --- src/omniperf | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/omniperf b/src/omniperf index b215981b57..a3b56e2221 100755 --- a/src/omniperf +++ b/src/omniperf @@ -51,6 +51,12 @@ from common import getVersion ################################################ # Helper Functions ################################################ +def run_subprocess(cmd): + subprocess.run( + cmd, + check=True + ) + def resolve_rocprof(): # ROCPROF INFO global rocprof_cmd @@ -253,7 +259,7 @@ def mibench(args): ) sys.exit(1) - subprocess.run( + run_subprocess( [ path_to_binary, "-o", @@ -294,7 +300,7 @@ def run_prof(fname, workload_dir, perfmon_dir, cmd, verbose): print("pmc file:", os.path.basename(fname)) # profile the app - subprocess.run( + run_subprocess( [ rocprof_cmd, "-i", @@ -339,7 +345,7 @@ def omniperf_profile(args,VER): for fname in glob.glob(workload_dir + "/perfmon/*.txt"): # Kernel filtering (in-place replacement) if not args.kernel == None: - subprocess.run( + run_subprocess( [ "sed", "-i", @@ -351,7 +357,7 @@ def omniperf_profile(args,VER): # Dispatch filtering (inplace replacement) if not args.dispatch == None: - subprocess.run( + run_subprocess( [ "sed", "-i", @@ -363,7 +369,7 @@ def omniperf_profile(args,VER): run_prof(fname, workload_dir, perfmon_dir, args.remaining, args.verbose) # run again with timestamps - subprocess.run( + run_subprocess( [ rocprof_cmd, # "-i", fname, @@ -398,7 +404,7 @@ def omniperf_profile(args,VER): ) sys.exit(1) - subprocess.run( + run_subprocess( [ path_to_binary, "-o", From 4f5998397df242c57738fa7395e24d6addfa4cfc Mon Sep 17 00:00:00 2001 From: "Karl W. Schulz" Date: Wed, 23 Nov 2022 15:41:18 -0600 Subject: [PATCH 06/16] Update error message to be more accurate when roofline binary is missing (but with a supported OS and rocm version). In response to debugging #34 a second time. Signed-off-by: Karl W. Schulz --- src/omniperf | 51 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/src/omniperf b/src/omniperf index b215981b57..31fc166ce3 100755 --- a/src/omniperf +++ b/src/omniperf @@ -71,6 +71,7 @@ def resolve_rocprof(): print("ROC Profiler: ", rocprof_path.stdout.decode("utf-8")) + def get_soc(): mspec = specs.get_machine_specs(0) @@ -177,8 +178,6 @@ def gen_sysinfo(workload_name, workload_dir, ip_blocks, app_cmd, skip_roof): if not skip_roof: blocks.append("roofline") - - # ip block info if ip_blocks == None: t = ["SQ", "LDS", "SQC", "TA", "TD", "TCP", "TCC", "SPI", "CPC", "CPF"] @@ -199,10 +198,12 @@ def mongo_import(args, profileAndImport): csv_converter.convert_folder(connectionInfo, Extractionlvl) print("-- Complete! --") + ################################################ # Roofline Helpers ################################################ + def detect_roofline(): mspec = specs.get_machine_specs(0) rocm_ver = mspec.rocmversion[:1] @@ -216,7 +217,7 @@ def detect_roofline(): rooflineBinary = os.environ["ROOFLINE_BIN"] if os.path.exists(rooflineBinary): print("Detected user-supplied binary") - return {"rocm_ver":"override", "distro":"override", "path":rooflineBinary} + return {"rocm_ver": "override", "distro": "override", "path": rooflineBinary} else: print("ROOFLINE ERROR: user-supplied path to binary not accessible") print("--> ROOFLINE_BIN = %s\n" % target_binary) @@ -234,23 +235,31 @@ def detect_roofline(): print("ROOFLINE ERROR: Cannot find a valid binary for your operating system") sys.exit(1) - target_binary = { "rocm_ver":rocm_ver, "distro":distro } + target_binary = {"rocm_ver": rocm_ver, "distro": distro} return target_binary + def mibench(args): print("No roofline data found. Generating...") - + target_binary = detect_roofline() if target_binary["rocm_ver"] == "override": path_to_binary = target_binary["path"] else: - path_to_binary = str(OMNIPERF_HOME) + "/utils/rooflines/roofline" + "-" + DISTRO_MAP[target_binary["distro"]] + "-" + args.target.lower() + "-rocm" + target_binary["rocm_ver"] + path_to_binary = ( + str(OMNIPERF_HOME) + + "/utils/rooflines/roofline" + + "-" + + DISTRO_MAP[target_binary["distro"]] + + "-" + + args.target.lower() + + "-rocm" + + target_binary["rocm_ver"] + ) # Distro is valid but cant find rocm ver if not os.path.exists(path_to_binary): - print( - "ROOFLINE ERROR: ROCm version not supported." - ) + print("ROOFLINE ERROR: Unable to locate expected binary (%s)." % path_to_binary) sys.exit(1) subprocess.run( @@ -280,6 +289,7 @@ def characterize_app(path, cmd, verbose): print(fname) run_prof(fname, workload_dir, perfmon_dir, app_cmd, verbose) + ################################################ # Profiling Helpers ################################################ @@ -310,7 +320,7 @@ def run_prof(fname, workload_dir, perfmon_dir, cmd, verbose): ) -def omniperf_profile(args,VER): +def omniperf_profile(args, VER): # Verify valid target if args.target not in SOC_LIST: parse.print_help(sys.stderr) @@ -390,11 +400,21 @@ def omniperf_profile(args,VER): if target_binary["rocm_ver"] == "override": path_to_binary = target_binary["path"] else: - path_to_binary = str(OMNIPERF_HOME) + "/utils/rooflines/roofline" + "-" + DISTRO_MAP[target_binary["distro"]] + "-" + args.target.lower() + "-rocm" + target_binary["rocm_ver"] - # Distro is valid but cant find rocm ver + path_to_binary = ( + str(OMNIPERF_HOME) + + "/utils/rooflines/roofline" + + "-" + + DISTRO_MAP[target_binary["distro"]] + + "-" + + args.target.lower() + + "-rocm" + + target_binary["rocm_ver"] + ) + # Distro is valid but cant find valid binary if not os.path.exists(path_to_binary): print( - "ROOFLINE ERROR: ROCm version not supported." + "ROOFLINE ERROR: Unable to locate expected binary (%s))." + % path_to_binary ) sys.exit(1) @@ -408,6 +428,7 @@ def omniperf_profile(args,VER): ] ) + ################################################ # MAIN ################################################ @@ -426,7 +447,7 @@ def main(): args = my_parser.parse_args() vData = getVersion() - VER = vData['version'] + VER = vData["version"] if args.mode == None: throw_parse_error( @@ -526,7 +547,7 @@ def main(): # Profile only else: print("\n-------------\nProfile only\n-------------\n") - omniperf_profile(args,VER) + omniperf_profile(args, VER) ############## # DATABASE MODE From 1cda5ff30e32f58caaf94a4872f12c60583268da Mon Sep 17 00:00:00 2001 From: "Karl W. Schulz" Date: Wed, 23 Nov 2022 15:52:56 -0600 Subject: [PATCH 07/16] cmake-format por favor to keep the bots happy Signed-off-by: Karl W. Schulz --- CMakeLists.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0247f3fe37..6628f2de54 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -224,10 +224,11 @@ install( TYPE BIN PATTERN "rooflines*" EXCLUDE) # src/utils/rooflines -install(PROGRAMS src/utils/rooflines/roofline-rhel8-mi200-rocm5 - src/utils/rooflines/roofline-sle15sp3-mi200-rocm5 - src/utils/rooflines/roofline-ubuntu20_04-mi200-rocm5 - DESTINATION ${CMAKE_INSTALL_BINDIR}/utils/rooflines) +install( + PROGRAMS src/utils/rooflines/roofline-rhel8-mi200-rocm5 + src/utils/rooflines/roofline-sle15sp3-mi200-rocm5 + src/utils/rooflines/roofline-ubuntu20_04-mi200-rocm5 + DESTINATION ${CMAKE_INSTALL_BINDIR}/utils/rooflines) # src/perfmon_pub install( DIRECTORY src/perfmon_pub From 9af8a595b7bfee52391689b2a3e9d5f0a94b493f Mon Sep 17 00:00:00 2001 From: colramos-amd Date: Mon, 28 Nov 2022 10:55:06 -0600 Subject: [PATCH 08/16] Add clarifications to docs (#38 & #41) Signed-off-by: colramos-amd --- src/docs/grafana_analyzer.md | 5 +++++ src/docs/installation.md | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/docs/grafana_analyzer.md b/src/docs/grafana_analyzer.md index 5f9bcf46eb..1a05f6f0d9 100644 --- a/src/docs/grafana_analyzer.md +++ b/src/docs/grafana_analyzer.md @@ -68,6 +68,11 @@ The uniform color coding is applied to most visualizations (bars, table, diagram ## Grafana GUI Import The omniperf database `--import` option imports the raw profiling data to Grafana's backend MongoDB database. This step is only required for Grafana GUI based performance analysis. +Default username and password for MongoDB (to be used in database mode) are as follows: + + - Username: **temp** + - Password: **temp123** + Each workload is imported to a separate database with the following naming convention: omniperf___ diff --git a/src/docs/installation.md b/src/docs/installation.md index 124cec8699..65be7aa300 100644 --- a/src/docs/installation.md +++ b/src/docs/installation.md @@ -180,7 +180,7 @@ $ sudo docker-compose up -d > Note that TCP ports for Grafana (4000) and MongoDB (27017) in the docker container are mapped to 14000 and 27018, respectively, on the host side. ### Setup Grafana Instance -Once you've launced your docker container you should be able to reach Grafana at **http://\:1400**. The default login credentials for the first-time Grafana setup are: +Once you've launced your docker container you should be able to reach Grafana at **http://\:14000**. The default login credentials for the first-time Grafana setup are: - Username: **admin** - Password: **admin** From 7b09d9468486697d9d3ad4bc13461ce2931fc0f9 Mon Sep 17 00:00:00 2001 From: colramos-amd Date: Mon, 28 Nov 2022 13:27:53 -0600 Subject: [PATCH 09/16] Update calc for L1 Cache BW #36 Signed-off-by: colramos-amd --- dashboards/Omniperf_v1.0.5_pub.json | 13337 ++++++++++++++++ .../configs/gfx906/1600_L1_cache.yaml | 4 +- .../configs/gfx908/1600_L1_cache.yaml | 4 +- .../configs/gfx90a/1600_L1_cache.yaml | 4 +- 4 files changed, 13343 insertions(+), 6 deletions(-) create mode 100644 dashboards/Omniperf_v1.0.5_pub.json diff --git a/dashboards/Omniperf_v1.0.5_pub.json b/dashboards/Omniperf_v1.0.5_pub.json new file mode 100644 index 0000000000..472231bf88 --- /dev/null +++ b/dashboards/Omniperf_v1.0.5_pub.json @@ -0,0 +1,13337 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 39, + "iteration": 1669660765918, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 217, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 23, + "w": 13, + "x": 0, + "y": 1 + }, + "id": 159, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.sysinfo.aggregate([\n {\"$project\": {\n \"_id\": 0,\n \"date\":1,\n \"host_name\": 1,\n \"host_cpu\": 1,\n \"host_distro\": 1,\n \"host_kernel\": 1,\n \"host_rocmver\": 1,\n \"gpu_soc\": 1,\n \"name\": 1,\n \"numSE\": 1,\n \"numSQC\": 1,\n \"numCU\": 1,\n \"numSIMD\": 1,\n \"waveSize\": 1,\n \"maxWavesPerCU\": 1,\n \"maxWorkgroupSize\":1,\n \"L1\":1,\n \"L2\":1,\n \"L2Banks\": 1,\n \"sclk\":1,\n \"mclk\":1,\n \"cur_sclk\": 1,\n \"cur_mclk\":1,\n \"hbmBW\":1\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\":\"Date\",\n \"Value\": \"&date\"\n },\n {\n \"Metric\":\"Host Name\",\n \"Value\": \"&host_name\"\n },\n {\n \"Metric\":\"Host CPU\",\n \"Value\": \"&host_cpu\"\n },\n {\n \"Metric\":\"Host Distro\",\n \"Value\": \"&host_distro\"\n },\n {\n \"Metric\":\"Host Kernel\",\n \"Value\": \"&host_kernel\"\n },\n {\n \"Metric\":\"ROCm Version\",\n \"Value\": \"&host_rocmver\"\n },\n {\n \"Metric\":\"GFX SoC\",\n \"Value\": \"&name\"\n },\n {\n \"Metric\":\"GFX ID\",\n \"Value\": \"&gpu_soc\"\n },\n {\n \"Metric\":\"Total SEs\",\n \"Value\":\"&numSE\"\n },\n {\n \"Metric\":\"Total SQCs\",\n \"Value\":\"&numSQC\"\n },\n {\n\n \"Metric\":\"Total CUs\",\n \"Value\":\"&numCU\"\n },\n {\n \"Metric\":\"SIMDs/CU\",\n \"Value\": \"&numSIMD\"\n },\n {\n \"Metric\":\"Max Wavefronts Occupancy Per CU\",\n \"Value\":\"&maxWavesPerCU\"\n },\n {\n \"Metric\":\"Max Workgroup Size\",\n \"Value\":\"&maxWorkgroupSize\"\n },\n {\n \"Metric\":\"L1Cache per CU (KB)\",\n \"Value\":\"&L1\"\n },\n {\n \"Metric\":\"L2Cache (KB)\",\n \"Value\":\"&L2\"\n },\n {\n \"Metric\":\"L2Cache Channels\",\n \"Value\":\"&L2Banks\"\n },\n {\n \"Metric\":\"Sys Clock (Max) - MHz\",\n \"Value\":\"&sclk\"\n \n },\n {\n \"Metric\":\"Memory Clock (Max) - MHz\",\n \"Value\":\"&mclk\"\n },\n {\n \"Metric\":\"Sys Clock (Cur) - MHz\",\n \"Value\":\"&cur_sclk\"\n \n },\n {\n \"Metric\":\"Memory Clock (Cur) - MHz\",\n \"Value\":\"&cur_mclk\"\n },\n {\n \"Metric\":\"HBM Bandwidth - GB/s\",\n \"Value\":\"&hbmBW\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.sysinfo.aggregate([\n {\"$match\": {\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(System Info)\"}}\n }},\n\n {\"$project\": {\n \"_id\": 0,\n \"date\":1,\n \"host_name\": 1,\n \"host_cpu\": 1,\n \"host_distro\": 1,\n \"host_kernel\": 1,\n \"host_rocmver\": 1,\n \"gpu_soc\": 1,\n \"name\": 1,\n \"numSE\": 1,\n \"numSQC\": 1,\n \"numCU\": 1,\n \"numSIMD\": 1,\n \"waveSize\": 1,\n \"maxWavesPerCU\": 1,\n \"maxWorkgroupSize\":1,\n \"L1\":1,\n \"L2\":1,\n \"L2Banks\": 1,\n \"sclk\":1,\n \"mclk\":1,\n \"cur_sclk\": 1,\n \"cur_mclk\":1,\n \"hbmBW\":1\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\":\"Date\",\n \"Value\": \"&date\"\n },\n {\n \"Metric\":\"Host Name\",\n \"Value\": \"&host_name\"\n },\n {\n \"Metric\":\"Host CPU\",\n \"Value\": \"&host_cpu\"\n },\n {\n \"Metric\":\"Host Distro\",\n \"Value\": \"&host_distro\"\n },\n {\n \"Metric\":\"Host Kernel\",\n \"Value\": \"&host_kernel\"\n },\n {\n \"Metric\":\"ROCm Version\",\n \"Value\": \"&host_rocmver\"\n },\n {\n \"Metric\":\"GFX SoC\",\n \"Value\": \"&name\"\n },\n {\n \"Metric\":\"GFX ID\",\n \"Value\": \"&gpu_soc\"\n },\n {\n \"Metric\":\"Total SEs\",\n \"Value\":\"&numSE\"\n },\n {\n \"Metric\":\"Total SQCs\",\n \"Value\":\"&numSQC\"\n },\n {\n\n \"Metric\":\"Total CUs\",\n \"Value\":\"&numCU\"\n },\n {\n \"Metric\":\"SIMDs/CU\",\n \"Value\": \"&numSIMD\"\n },\n {\n \"Metric\":\"Max Wavefronts Occupancy Per CU\",\n \"Value\":\"&maxWavesPerCU\"\n },\n {\n \"Metric\":\"Max Workgroup Size\",\n \"Value\":\"&maxWorkgroupSize\"\n },\n {\n \"Metric\":\"L1Cache per CU (KB)\",\n \"Value\":\"&L1\"\n },\n {\n \"Metric\":\"L2Cache (KB)\",\n \"Value\":\"&L2\"\n },\n {\n \"Metric\":\"L2Cache Channels\",\n \"Value\":\"&L2Banks\"\n },\n {\n \"Metric\":\"Sys Clock (Max) - MHz\",\n \"Value\":\"&sclk\"\n \n },\n {\n \"Metric\":\"Memory Clock (Max) - MHz\",\n \"Value\":\"&mclk\"\n },\n {\n \"Metric\":\"Sys Clock (Cur) - MHz\",\n \"Value\":\"&cur_sclk\"\n \n },\n {\n \"Metric\":\"Memory Clock (Cur) - MHz\",\n \"Value\":\"&cur_mclk\"\n },\n {\n \"Metric\":\"HBM Bandwidth - GB/s\",\n \"Value\":\"&hbmBW\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "System Info", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true + }, + "indexByName": {}, + "renameByName": { + "Value 1": "Current", + "Value 2": "Baseline" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "System Info", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 108, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto", + "filterable": false + }, + "decimals": 0, + "links": [], + "mappings": [ + { + "options": { + "match": "false", + "result": { + "index": 0 + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "text", + "value": null + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Percent of Peak - PoP" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "transparent", + "value": null + }, + { + "color": "orange", + "value": 50 + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + { + "id": "custom.displayMode", + "value": "color-background" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "color-text" + }, + { + "id": "custom.width", + "value": 252 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit 1" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "color-background" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 137 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 110 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 125 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg" + }, + "properties": [ + { + "id": "custom.width", + "value": 161 + } + ] + } + ] + }, + "gridPos": { + "h": 29, + "w": 15, + "x": 0, + "y": 2 + }, + "id": 110, + "interval": "2h", + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"valu_flops_val\": {\n \"$avg\": { \"$divide\": [ { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }] }] }\n ]}\n ,{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }]\n }},\n \n \"valu_intOps_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] }] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }\n },\n \n \"mfma_flops_f16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_bf16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f32_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f64_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_i8_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \n \n \"salu_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU] }] }\n },\n \n \"valu_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU] }] }\n },\n \n \"mfma_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU, 4] }] }\n },\n\n \n \"lds_bconf\": {\n \"$avg\": {\"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n } \n },\n \n \n \"lds_bw\": {\n \"$avg\": {\"$divide\":[ \n { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks\"}\n ]}, \n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]}\n },\n \n \"lds_bw_pop\": {\n \"$avg\": {\"$divide\": [\n {\"$divide\":[ \n { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks\"}\n ]}, \n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]}, \n {\"$multiply\": [$sclk, $numCU, 0.00128]}\n ]}\n },\n \n \"unpredthreads_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n \n \"ipcIssue_val\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [\"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\", \"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n \"eaWriteLat_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\" , 0]},\n { \"$divide\": [\"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\"] },\n null \n ]\n }\n },\n \"eaReadLat_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\" , 0]},\n { \"$divide\": [\"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\"] },\n null \n ]\n }\n },\n \"eaWriteBW_val\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64] }, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }\n }, \n \"eaReadBW_val\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32] }, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] }] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }\n },\n \"l2_cacheHits_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&TCC_HIT_sum\", \"&TCC_MISS_sum\"] }, 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [\"&TCC_HIT_sum\", \"&TCC_MISS_sum\"] }] },\n null \n ]\n }\n },\n \"vecl1_cacheHits_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]},\n { \"$subtract\": [100, { \"$divide\": [{ \"$multiply\": [100, { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }] }, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"] }] },\n null\n ]\n }\n },\n \"vecl1_BW_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \"l1k_cacheHits_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\"]} , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\"]}] },\n null\n ]\n }\n },\n \"l1i_hitRate_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\"]}] }\n },\n \"l1i_BW_val\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [\"&SQC_ICACHE_REQ\",{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }, 64] }\n },\n \"l1k_BW_val\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [\"&SQC_DCACHE_REQ\", { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }, 64] }\n }\n \n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"VALU FLOPs\",\n \"Value\": \"&valu_flops_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 64, 2 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&valu_flops_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 64, 2 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"VALU IOPs\",\n \"Value\": \"&valu_intOps_val\",\n \"Unit\": \"GIOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 64, 2 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&valu_intOps_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 64, 2 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (BF16)\",\n \"Value\": \"&mfma_flops_bf16_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 512 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_bf16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 512 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (F16)\",\n \"Value\": \"&mfma_flops_f16_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 1024 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 1024 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (F32)\",\n \"Value\": \"&mfma_flops_f32_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 256 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f32_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 256 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (F64)\",\n \"Value\": \"&mfma_flops_f64_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 256 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f64_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 256 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA IOPs (Int8)\",\n \"Value\": \"&mfma_flops_i8_val\",\n \"Unit\": \"GIOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 1024 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_i8_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 1024 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"Active CUs\",\n \"Value\": $numActiveCUs,\n \"Unit\": \"CUs\",\n \"peak\": $numCU,\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, $numActiveCUs] }, $numCU]}\n },\n \n {\n \"Metric\": \"SALU Util\",\n \"Value\": \"&salu_val\",\n \"Unit\": \"pct\",\n \"peak\": 100,\n \"Percent of Peak - PoP\": \"&salu_val\"\n },\n {\n \"Metric\": \"VALU Util\",\n \"Value\": \"&valu_val\",\n \"Unit\": \"pct\",\n \"peak\": 100,\n \"Percent of Peak - PoP\": \"&valu_val\"\n },\n {\n \"Metric\": \"MFMA Util\",\n \"Value\": \"&mfma_val\",\n \"Unit\": \"pct\",\n \"peak\": 100,\n \"Percent of Peak - PoP\": \"&mfma_val\"\n },\n {\n \"Metric\": \"VALU Active Threads/Wave\",\n \"Value\": \"&unpredthreads_val\",\n \"Unit\": \"Threads\",\n \"peak\": 64,\n \"Percent of Peak - PoP\": { \"$multiply\": [\"&unpredthreads_val\", 1.5625]}\n },\n {\n \"Metric\": \"IPC - Issue\",\n \"Value\": \"&ipcIssue_val\",\n \"Unit\": \"Instr/cycle\",\n \"peak\": 5,\n \"Percent of Peak - PoP\": {\"$divide\": [{ \"$multiply\": [100, \"&ipcIssue_val\"] }, 5] }\n },\n {\n \"Metric\": \"LDS BW\",\n \"Value\": \"&lds_bw\",\n \"Unit\": \"GB/sec\",\n \"peak\": {\"$multiply\": [$sclk, $numCU, 0.128]},\n \"Percent of Peak - PoP\": \"&lds_bw_pop\"\n },\n {\n \"Metric\": \"LDS Bank Conflict\",\n \"Value\": \"&lds_bconf\",\n \"Unit\": \"Conflicts/access\",\n \"peak\": \"32\",\n \"Percent of Peak - PoP\": {\"$divide\": [{ \"$multiply\": [100, \"&lds_bconf\"] }, 32] }\n },\n {\n \"Metric\": \"Instr Cache Hit Rate\",\n \"Value\": \"&l1i_hitRate_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&l1i_hitRate_val\"\n }, \n {\n \"Metric\": \"Instr Cache BW\",\n \"Value\": \"&l1i_BW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numSQC]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&l1i_BW_val\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numSQC]}] }\n },\n {\n \"Metric\": \"Scalar L1D Cache Hit Rate\",\n \"Value\": \"&l1k_cacheHits_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&l1k_cacheHits_val\"\n },\n {\n \"Metric\": \"Scalar L1D Cache BW\",\n \"Value\": \"&l1k_BW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numSQC]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&l1k_BW_val\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numSQC]}] }\n },\n\n {\n \"Metric\": \"Vector L1D Cache Hit Rate\",\n \"Value\": \"&vecl1_cacheHits_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&vecl1_cacheHits_val\"\n },\n {\n \"Metric\": \"Vector L1D Cache BW\",\n \"Value\": \"&vecl1_BW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numCU]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&vecl1_BW_val\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numCU]}] }\n },\n {\n \"Metric\": \"L2 Cache Hit Rate\",\n \"Value\": \"&l2_cacheHits_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&l2_cacheHits_val\"\n },\n {\n \"Metric\": \"L2-Fabric Read BW\",\n \"Value\": \"&eaReadBW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": \"$hbmBW\",\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&eaReadBW_val\"] }, $hbmBW] }\n },\n {\n \"Metric\": \"L2-Fabric Write BW\",\n \"Value\": \"&eaWriteBW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": \"$hbmBW\",\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&eaWriteBW_val\"] }, $hbmBW] }\n },\n {\n \"Metric\": \"L2-Fabric Read Latency\",\n \"Value\": \"&eaReadLat_val\",\n \"Unit\": \"Cycles\",\n \"peak\": \"\",\n \"Percent of Peak - PoP\": \"\"\n },\n {\n \"Metric\": \"L2-Fabric Write Latency\",\n \"Value\": \"&eaWriteLat_val\",\n \"Unit\": \"Cycles\",\n \"peak\": \"\",\n \"Percent of Peak - PoP\": \"\"\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_LEVEL_WAVES\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n \n {\"$group\": {\n \"_id\": null,\n \"waveOcc_val\": {\n \"$avg\": { \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\"] }\n },\n \"waveOcc_pop\": {\n \"$avg\": { \"$divide\": [{ \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\"] },{ \"$multiply\": [$maxWavesPerCU, $numCU] }] }\n }\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Wave Occupancy\",\n \"Value\": \"&waveOcc_val\",\n \"Unit\": \"Wavefronts\",\n \"peak\": { \"$multiply\": [$maxWavesPerCU, $numCU] },\n \"Percent of Peak - PoP\": { \"$multiply\": [100, \"&waveOcc_pop\"] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n ]\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_IFETCH_LEVEL\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n \n {\"$group\": {\n \"_id\": null,\n \"instrFetchBW_val\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [\"&SQ_IFETCH\", { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }, 32] }\n },\n \"instrFetchLat_val\": {\n \"$avg\": { \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\"] }\n }\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Instr Fetch BW\",\n \"Value\": \"&instrFetchBW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 32] }, $numSQC]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&instrFetchBW_val\"]}, { \"$multiply\": [$numSQC, { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 32] }] }] }\n },\n {\n \"Metric\": \"Instr Fetch Latency\",\n \"Value\": \"&instrFetchLat_val\",\n \"Unit\": \"Cycles\",\n \"peak\": \"\",\n \"Percent of Peak - PoP\": \"\"\n\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n ]\n }}\n\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"System Speed-of-Light\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"valu_flops_val\": {\n \"$avg\": { \"$divide\": [ { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }] }] }\n ]}\n ,{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }]\n }},\n \n \"valu_intOps_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] }] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }\n },\n \n \"mfma_flops_f16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_bf16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f32_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f64_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_i8_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \n \n \"salu_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2] }] }\n },\n \n \"valu_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2] }] }\n },\n \n \"mfma_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2, 4] }] }\n },\n \n \"lds_bconf\": {\n \"$avg\": {\"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n } \n },\n \n \"lds_bw\": {\n \"$avg\": {\"$divide\":[ \n { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks2\"}\n ]}, \n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]}\n },\n \n \"lds_bw_pop\": {\n \"$avg\": {\"$divide\": [\n {\"$divide\":[ \n { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks2\"}\n ]}, \n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]}, \n {\"$multiply\": [$sclk2, $numCU2, 0.00128]}\n ]}\n },\n \n \"unpredthreads_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n \n \"ipcIssue_val\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [\"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\", \"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n \"eaWriteLat_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\" , 0]},\n { \"$divide\": [\"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\"] },\n null \n ]\n }\n },\n \"eaReadLat_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\" , 0]},\n { \"$divide\": [\"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\"] },\n null \n ]\n }\n },\n \"eaWriteBW_val\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64] }, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }\n }, \n \"eaReadBW_val\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32] }, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] }] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }\n },\n \"l2_cacheHits_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&TCC_HIT_sum\", \"&TCC_MISS_sum\"] }, 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [\"&TCC_HIT_sum\", \"&TCC_MISS_sum\"] }] },\n null \n ]\n }\n },\n \"vecl1_cacheHits_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]},\n { \"$subtract\": [100, { \"$divide\": [{ \"$multiply\": [100, { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }] }, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"] }] },\n null\n ]\n }\n },\n \"vecl1_BW_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \"l1k_cacheHits_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\"]} , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\"]}] },\n null\n ]\n }\n },\n \"l1i_hitRate_val\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\"]}] }\n },\n \"l1i_BW_val\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [\"&SQC_ICACHE_REQ\",{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }, 64] }\n },\n \"l1k_BW_val\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [\"&SQC_DCACHE_REQ\", { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }, 64] }\n }\n \n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"VALU FLOPs\",\n \"Value\": \"&valu_flops_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 64, 2 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&valu_flops_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 64, 2 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"VALU IOPs\",\n \"Value\": \"&valu_intOps_val\",\n \"Unit\": \"GIOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 64, 2 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&valu_intOps_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 64, 2 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (BF16)\",\n \"Value\": \"&mfma_flops_bf16_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 512 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_bf16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 512 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (F16)\",\n \"Value\": \"&mfma_flops_f16_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 1024 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 1024 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (F32)\",\n \"Value\": \"&mfma_flops_f32_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 256 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f32_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 256 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA FLOPs (F64)\",\n \"Value\": \"&mfma_flops_f64_val\",\n \"Unit\": \"GFLOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 256 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f64_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 256 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"MFMA IOPs (Int8)\",\n \"Value\": \"&mfma_flops_i8_val\",\n \"Unit\": \"GIOP\",\n \"peak\": { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 1024 ]}, 1000] },\n \"Percent of Peak - PoP\": {\n \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_i8_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 1024 ]}, 1000] }]\n }\n },\n {\n \"Metric\": \"Active CUs\",\n \"Value\": $numActiveCUs2,\n \"Unit\": \"CUs\",\n \"peak\": $numCU2,\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, $numActiveCUs2] }, $numCU2]}\n },\n \n {\n \"Metric\": \"SALU Util\",\n \"Value\": \"&salu_val\",\n \"Unit\": \"pct\",\n \"peak\": 100,\n \"Percent of Peak - PoP\": \"&salu_val\"\n },\n {\n \"Metric\": \"VALU Util\",\n \"Value\": \"&valu_val\",\n \"Unit\": \"pct\",\n \"peak\": 100,\n \"Percent of Peak - PoP\": \"&valu_val\"\n },\n {\n \"Metric\": \"MFMA Util\",\n \"Value\": \"&mfma_val\",\n \"Unit\": \"pct\",\n \"peak\": 100,\n \"Percent of Peak - PoP\": \"&mfma_val\"\n },\n {\n \"Metric\": \"VALU Active Threads/Wave\",\n \"Value\": \"&unpredthreads_val\",\n \"Unit\": \"Threads\",\n \"peak\": 64,\n \"Percent of Peak - PoP\": { \"$multiply\": [\"&unpredthreads_val\", 1.5625]}\n },\n {\n \"Metric\": \"IPC - Issue\",\n \"Value\": \"&ipcIssue_val\",\n \"Unit\": \"Instr/cycle\",\n \"peak\": 5,\n \"Percent of Peak - PoP\": {\"$divide\": [{ \"$multiply\": [100, \"&ipcIssue_val\"] }, 5] }\n },\n {\n \"Metric\": \"LDS BW\",\n \"Value\": \"&lds_bw\",\n \"Unit\": \"GB/sec\",\n \"peak\": {\"$multiply\": [$sclk2, $numCU2, 0.128]},\n \"Percent of Peak - PoP\": \"&lds_bw_pop\"\n },\n {\n \"Metric\": \"LDS Bank Conflict\",\n \"Value\": \"&lds_bconf\",\n \"Unit\": \"Conflicts/access\",\n \"peak\": \"32\",\n \"Percent of Peak - PoP\": {\"$divide\": [{ \"$multiply\": [100, \"&lds_bconf\"] }, 32] }\n },\n {\n \"Metric\": \"Instr Cache Hit Rate\",\n \"Value\": \"&l1i_hitRate_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&l1i_hitRate_val\"\n }, \n {\n \"Metric\": \"Instr Cache BW\",\n \"Value\": \"&l1i_BW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numSQC2]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&l1i_BW_val\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numSQC2]}] }\n },\n {\n \"Metric\": \"Scalar L1D Cache Hit Rate\",\n \"Value\": \"&l1k_cacheHits_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&l1k_cacheHits_val\"\n },\n {\n \"Metric\": \"Scalar L1D Cache BW\",\n \"Value\": \"&l1k_BW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numSQC2]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&l1k_BW_val\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numSQC2]}] }\n },\n\n {\n \"Metric\": \"Vector L1D Cache Hit Rate\",\n \"Value\": \"&vecl1_cacheHits_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&vecl1_cacheHits_val\"\n },\n {\n \"Metric\": \"Vector L1D Cache BW\",\n \"Value\": \"&vecl1_BW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numCU2]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&vecl1_BW_val\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numCU2]}] }\n },\n {\n \"Metric\": \"L2 Cache Hit Rate\",\n \"Value\": \"&l2_cacheHits_val\",\n \"Unit\": \"pct\",\n \"peak\": \"100\",\n \"Percent of Peak - PoP\": \"&l2_cacheHits_val\"\n }, \n {\n \"Metric\": \"L2-Fabric Read BW\",\n \"Value\": \"&eaReadBW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": \"$hbmBW2\",\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&eaReadBW_val\"] }, $hbmBW2] }\n },\n {\n \"Metric\": \"L2-Fabric Write BW\",\n \"Value\": \"&eaWriteBW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": \"$hbmBW2\",\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&eaWriteBW_val\"] }, $hbmBW2] }\n },\n {\n \"Metric\": \"L2-Fabric Read Latency\",\n \"Value\": \"&eaReadLat_val\",\n \"Unit\": \"Cycles\",\n \"peak\": \"\",\n \"Percent of Peak - PoP\": \"\"\n },\n {\n \"Metric\": \"L2-Fabric Write Latency\",\n \"Value\": \"&eaWriteLat_val\",\n \"Unit\": \"Cycles\",\n \"peak\": \"\",\n \"Percent of Peak - PoP\": \"\"\n }\n \n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_LEVEL_WAVES\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"System Speed-of-Light\"}}\n }},\n \n {\"$group\": {\n \"_id\": null,\n \"waveOcc_val\": {\n \"$avg\": { \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\"] }\n },\n \"waveOcc_pop\": {\n \"$avg\": { \"$divide\": [{ \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\"] },{ \"$multiply\": [$maxWavesPerCU2, $numCU2] }] }\n }\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Wave Occupancy\",\n \"Value\": \"&waveOcc_val\",\n \"Unit\": \"Wavefronts\",\n \"peak\": { \"$multiply\": [$maxWavesPerCU2, $numCU2] },\n \"Percent of Peak - PoP\": { \"$multiply\": [100, \"&waveOcc_pop\"] }\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n ]\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_IFETCH_LEVEL\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"System Speed-of-Light\"}}\n }},\n \n {\"$group\": {\n \"_id\": null,\n \"instrFetchBW_val\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [\"&SQ_IFETCH\", { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }, 32] }\n },\n \"instrFetchLat_val\": {\n \"$avg\": { \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\"] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Instr Fetch BW\",\n \"Value\": \"&instrFetchBW_val\",\n \"Unit\": \"GB/s\",\n \"peak\": { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 32] }, $numSQC2]},\n \"Percent of Peak - PoP\": { \"$divide\": [{ \"$multiply\": [100, \"&instrFetchBW_val\"]}, { \"$multiply\": [$numSQC2, { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 32] }] }] }\n },\n {\n \"Metric\": \"Instr Fetch Latency\",\n \"Value\": \"&instrFetchLat_val\",\n \"Unit\": \"Cycles\",\n \"peak\": \"\",\n \"Percent of Peak - PoP\": \"\"\n\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]\n }}\n\n ]);", + "type": "table" + } + ], + "title": "Speed of Light", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Metric 1": 0, + "Metric 2": 7, + "Percent of Peak - PoP 1": 5, + "Percent of Peak - PoP 2": 6, + "Unit 1": 8, + "Unit 2": 9, + "Value 1": 1, + "Value 2": 2, + "peak 1": 3, + "peak 2": 4 + }, + "renameByName": { + "Percent of Peak - PoP": "Pct-of-Peak", + "Percent of Peak - PoP 1": "Pct-of-Peak (Current)", + "Percent of Peak - PoP 2": "Pct-of-Peak (Baseline)", + "Unit": "", + "Value": "Avg", + "Value 1": "Avg (Current)", + "Value 2": "Avg (Baseline)", + "peak": "Theoretical Max", + "peak 1": "Theoretical Max (Current)", + "peak 2": "Theoretical Max (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Dispatch ID" + }, + "properties": [ + { + "id": "custom.width", + "value": 126 + } + ] + } + ] + }, + "gridPos": { + "h": 29, + "w": 4, + "x": 16, + "y": 2 + }, + "id": 175, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Dispatch ID\": \"&Index\",\n \"Kernel Name\": \"&KernelName\"\n }},\n {\"$sort\": {\n \"Dispatch ID\": 1\n }}\n],\n{ allowDiskUse: true }\n);", + "type": "table" + } + ], + "title": "Dispatch IDs - Current", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "_id": "Dispatch ID" + } + } + } + ], + "type": "table" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Dispatch ID" + }, + "properties": [ + { + "id": "custom.width", + "value": 127 + } + ] + } + ] + }, + "gridPos": { + "h": 29, + "w": 4, + "x": 20, + "y": 2 + }, + "id": 215, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "tlh8EwUnk" + }, + "rawQuery": true, + "refId": "A", + "target": "$Workload2.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Dispatch ID\": \"&Index\",\n \"Kernel Name\": \"&KernelName\"\n }},\n {\"$sort\": {\n \"Dispatch ID\": 1\n }}\n]);", + "type": "table" + } + ], + "title": "Dispatch IDs - Baseline", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "_id": "Dispatch ID" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "System Speed-of-Light", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 2 + }, + "id": 36, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "fillOpacity": 80, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineWidth": 1 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "µs" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 157, + "options": { + "bucketOffset": 0, + "legend": { + "calcs": [], + "displayMode": "hidden", + "placement": "bottom" + } + }, + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "u5Z2zJhnk" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"elapsedTime1\": {\n \"$divide\": [{\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}, 1000]\n }\n }},\n\n {\"$project\": {\n \"_id\": 0,\n \"elapsedTime1\": 1\n }}\n]);", + "type": "table" + } + ], + "title": "Kernel Time Histogram", + "transparent": true, + "type": "histogram" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "transparent" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "TotalDuration" + }, + "properties": [ + { + "id": "unit", + "value": "ns" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg Duration" + }, + "properties": [ + { + "id": "unit", + "value": "ns" + }, + { + "id": "custom.width", + "value": 107 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "LDS" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.width", + "value": 110 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L1 Cache" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.width", + "value": 95 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L2 Cache" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.width", + "value": 123 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "HBM BW " + }, + "properties": [ + { + "id": "unit", + "value": "GBs" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Calls" + }, + "properties": [ + { + "id": "custom.width", + "value": 69 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Name" + }, + "properties": [ + { + "id": "custom.width", + "value": 165 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total Duration" + }, + "properties": [ + { + "id": "custom.width", + "value": 126 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (F16)" + }, + "properties": [ + { + "id": "custom.width", + "value": 143 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (BF16)" + }, + "properties": [ + { + "id": "custom.width", + "value": 155 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (F32)" + }, + "properties": [ + { + "id": "custom.width", + "value": 146 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (F64)" + }, + "properties": [ + { + "id": "custom.width", + "value": 146 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Throughput" + }, + "properties": [ + { + "id": "unit", + "value": "gflops" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total FLOPs" + }, + "properties": [ + { + "id": "decimals", + "value": 0 + }, + { + "id": "custom.width", + "value": 141 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VALU FLOPs" + }, + "properties": [ + { + "id": "decimals", + "value": 0 + }, + { + "id": "custom.width", + "value": 130 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "AI (HBM)" + }, + "properties": [ + { + "id": "custom.width", + "value": 89 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "AI (L2 Cache)" + }, + "properties": [ + { + "id": "custom.width", + "value": 103 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "AI (L1 Cache)" + }, + "properties": [ + { + "id": "custom.width", + "value": 114 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Performance" + }, + "properties": [ + { + "id": "custom.width", + "value": 144 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Peak FLOPs" + }, + "properties": [ + { + "id": "unit", + "value": "gflops" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "HBM" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 213, + "interval": "2h", + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "L1 Cache (Bytes)" + } + ] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "HV80ot2nz" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n { \"$group\": { \n \"_id\": \"&KernelName\", \n \"Calls\": { \"$sum\": 1} ,\n \"TotalDuration\": { \"$sum\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n \"AvgDuration\": { \"$avg\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n\n \"Throughput\": {\n \"$avg\": { \"$divide\": [\n \n {\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]},\n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]}\n },\n\n \"total_flops\": {\n \"$avg\":{\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]}\n },\n\n \"valu_flops\": {\n \"$avg\": { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] }\n ]}\n },\n \n \"mfma_flops_f16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] } },\n \"mfma_flops_bf16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] } },\n \"mfma_flops_f32\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] } },\n \"mfma_flops_f64\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] } },\n\n\n \"LDS_data\": {\n \"$avg\": { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 128 ]} \n },\n\n \"L1cache_data\": {\n \"$avg\": { \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64] } \n },\n\n \"L2cache_data\": {\n \"$avg\": {\n \"$multiply\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \n \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, 64]}\n },\n\n \"hbm_data\": {\n \"$avg\": {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n }\n },\n \"hbm_bw\": {\n \"$avg\": {\n \"$divide\": [\n {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n },\n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}\n ]\n\n }\n }\n\n }},\n \n {\"$sort\": { \"TotalDuration\": -1 }},\n \n { \"$limit\": $TopN },\n\n {\"$addFields\": {\n \"ai_L1\": { \"$cond\": [\n {\"$ne\": [\"&L1cache_data\", 0]},\n {\"$divide\": [\"&total_flops\", \"&L1cache_data\"]},\n \"\"\n ]},\n \"ai_L2\": { \"$cond\": [\n {\"$ne\": [\"&L2cache_data\", 0]},\n {\"$divide\": [\"&total_flops\", \"&L2cache_data\"]},\n \"\"\n ]},\n \"ai_hbm\": { \"$cond\": [\n {\"$ne\": [\"&hbm_data\", 0]},\n {\"$divide\": [\"&total_flops\", \"&hbm_data\"]},\n \"\"\n ]}\n }}\n]);", + "type": "table" + } + ], + "title": "Top Kernels", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "AvgDuration": 5, + "Calls": 1, + "L1cache_data": 16, + "L2cache_data": 17, + "LDS_data": 15, + "Throughput": 2, + "TotalDuration": 4, + "_id": 0, + "ai_L1": 6, + "ai_L2": 7, + "ai_hbm": 8, + "hbm_bw": 3, + "hbm_data": 18, + "mfma_flops_bf16": 12, + "mfma_flops_f16": 11, + "mfma_flops_f32": 13, + "mfma_flops_f64": 14, + "total_flops": 9, + "valu_flops": 10 + }, + "renameByName": { + "AvgDuration": "Avg Duration", + "Calls": "", + "L1cache_data": "Vector L1D Cache", + "L2cache_data": "L2 Cache", + "LDS_data": "LDS", + "Throughput": "Performance", + "TotalDuration": "Total Duration", + "_id": "Name", + "ai_L1": "AI (Vector L1D Cache)", + "ai_L2": "AI (L2 Cache)", + "ai_hbm": "AI (HBM)", + "hbm_bw": "HBM BW ", + "hbm_data": "HBM", + "mfma_flops_bf16": "MFMA FLOPs (BF16)", + "mfma_flops_f16": "MFMA FLOPs (F16)", + "mfma_flops_f32": "MFMA FLOPs (F32)", + "mfma_flops_f64": "MFMA FLOPs (F64)", + "peak_flops": "Peak FLOPs", + "total_flops": "Total FLOPs", + "valu_flops": "VALU FLOPs" + } + } + } + ], + "type": "table" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "transparent" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "TotalDuration" + }, + "properties": [ + { + "id": "unit", + "value": "ns" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg Duration" + }, + "properties": [ + { + "id": "unit", + "value": "ns" + }, + { + "id": "custom.width", + "value": 138 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "LDS " + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.width", + "value": 110 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L1 Cache" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.width", + "value": 95 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L2 Cache" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.width", + "value": 87 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "HBM BW " + }, + "properties": [ + { + "id": "unit", + "value": "GBs" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Calls" + }, + "properties": [ + { + "id": "custom.width", + "value": 69 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Name" + }, + "properties": [ + { + "id": "custom.width", + "value": 165 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total Duration" + }, + "properties": [ + { + "id": "custom.width", + "value": 153 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (F16)" + }, + "properties": [ + { + "id": "custom.width", + "value": 143 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (BF16)" + }, + "properties": [ + { + "id": "custom.width", + "value": 155 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (F32)" + }, + "properties": [ + { + "id": "custom.width", + "value": 146 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "MFMA FLOPs (F64)" + }, + "properties": [ + { + "id": "custom.width", + "value": 146 + }, + { + "id": "decimals", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Throughput" + }, + "properties": [ + { + "id": "unit", + "value": "gflops" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total FLOPs" + }, + "properties": [ + { + "id": "decimals", + "value": 0 + }, + { + "id": "custom.width", + "value": 141 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "VALU FLOPs" + }, + "properties": [ + { + "id": "decimals", + "value": 0 + }, + { + "id": "custom.width", + "value": 130 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "AI (HBM)" + }, + "properties": [ + { + "id": "custom.width", + "value": 89 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "AI (L2 Cache)" + }, + "properties": [ + { + "id": "custom.width", + "value": 103 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "AI (L1 Cache)" + }, + "properties": [ + { + "id": "custom.width", + "value": 114 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "LDS (Bytes)" + }, + "properties": [ + { + "id": "custom.width", + "value": 98 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "HBM" + }, + "properties": [ + { + "id": "custom.width", + "value": 124 + }, + { + "id": "unit", + "value": "decbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Dispatch" + }, + "properties": [ + { + "id": "custom.width", + "value": 108 + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 251, + "interval": "2h", + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "HV80ot2nz" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n { \"$group\": { \n \"_id\": \"&Index\", \n \"Calls\": { \"$sum\": 1} ,\n \"TotalDuration\": { \"$sum\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n \"AvgDuration\": { \"$avg\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n\n \"Throughput\": {\n \"$avg\": { \"$divide\": [\n \n {\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]},\n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]}\n },\n\n \"total_flops\": {\n \"$avg\":{\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]}\n },\n\n \"valu_flops\": {\n \"$avg\": { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] }\n ]}\n },\n \n \"mfma_flops_f16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] } },\n \"mfma_flops_bf16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] } },\n \"mfma_flops_f32\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] } },\n \"mfma_flops_f64\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] } },\n\n\n \"LDS_data\": {\n \"$avg\": { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 128]\n } \n },\n\n \"L1cache_data\": {\n \"$avg\": { \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64] } \n },\n\n \"L2cache_data\": {\n \"$avg\": {\n \"$multiply\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \n \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, 64]}\n },\n\n \"hbm_data\": {\n \"$avg\": {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n }\n },\n\n \"hbm_bw\": {\n \"$avg\": {\n \"$divide\": [\n {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n },\n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}\n ]\n\n }\n }\n\n }},\n \n {\"$sort\": { \"TotalDuration\": -1 }},\n { \"$limit\": $TopN },\n\n {\"$addFields\": {\n \"ai_L1\": { \"$cond\": [\n {\"$ne\": [\"&L1cache_data\", 0]},\n {\"$divide\": [\"&total_flops\", \"&L1cache_data\"]},\n \"\"\n ]},\n \"ai_L2\": { \"$cond\": [\n {\"$ne\": [\"&L2cache_data\", 0]},\n {\"$divide\": [\"&total_flops\", \"&L2cache_data\"]},\n \"\"\n ]},\n \"ai_hbm\": { \"$cond\": [\n {\"$ne\": [\"&hbm_data\", 0]},\n {\"$divide\": [\"&total_flops\", \"&hbm_data\"]},\n \"\"\n ]}\n\n }}\n]);", + "type": "table" + } + ], + "title": "Top Dispatches", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "AvgDuration": 5, + "Calls": 1, + "L1cache_data": 16, + "L2cache_data": 17, + "LDS_data": 15, + "Throughput": 2, + "TotalDuration": 4, + "_id": 0, + "ai_L1": 6, + "ai_L2": 7, + "ai_hbm": 8, + "hbm_bw": 3, + "hbm_data": 18, + "mfma_flops_bf16": 12, + "mfma_flops_f16": 11, + "mfma_flops_f32": 13, + "mfma_flops_f64": 14, + "peak_flops": 19, + "total_flops": 9, + "valu_flops": 10 + }, + "renameByName": { + "AvgDuration": "Avg Duration", + "Calls": "", + "L1cache_data": "Vector L1D Cache", + "L2cache_data": "L2 Cache", + "LDS_data": "LDS ", + "Throughput": "Performance", + "TotalDuration": "Total Duration", + "_id": "Dispatch", + "ai_L1": "AI (Vector L1D Cache)", + "ai_L2": "AI (L2 Cache)", + "ai_hbm": "AI (HBM)", + "hbm_bw": "HBM BW ", + "hbm_data": "HBM", + "mfma_flops_bf16": "MFMA FLOPs (BF16)", + "mfma_flops_f16": "MFMA FLOPs (F16)", + "mfma_flops_f32": "MFMA FLOPs (F32)", + "mfma_flops_f64": "MFMA FLOPs (F64)", + "total_flops": "Total FLOPs", + "valu_flops": "VALU FLOPs" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Kernel Statistics", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 40, + "panels": [ + { + "description": "All transaction units default to Billion, when per-sec norm is used", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 13, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 285, + "options": { + "addAllIDs": false, + "captureMappings": false, + "eventAutoComplete": true, + "eventSource": "options.animateLogo(svgmap, data);\r\nconsole.log(\"Starting render\");\r\nlet buff = data.series[0].fields[2].values.buffer;\r\nlet valueCount = buff.length;\r\nconsole.log(\"The buff is \", valueCount, \" long\");\r\n\r\nsvgmap.wave_life_.text(buff[0]);\r\nsvgmap.active_cu_.text(buff[1]);\r\nsvgmap.salu_.text(buff[2]);\r\nsvgmap.smem_.text(buff[3]);\r\nsvgmap.valu_.text(buff[4]);\r\nsvgmap.mfma_.text(buff[5]);\r\nsvgmap.vmem_.text(buff[6]);\r\nsvgmap.lds_.text(buff[7]);\r\nsvgmap.gws_.text(buff[8]);\r\nsvgmap.br_.text(buff[9]);\r\nsvgmap.vgpr_.text(buff[10]);\r\nsvgmap.sgpr_.text(buff[11]);\r\nsvgmap.lds_alloc_.text(buff[12]);\r\nsvgmap.scratch_alloc_.text(buff[13]);\r\nsvgmap.wavefronts_.text(buff[14]);\r\nsvgmap.workgroups_.text(buff[15]);\r\nsvgmap.lds_req_.text(buff[16]);\r\nsvgmap.il1_fetch_.text(buff[17]);\r\nsvgmap.il1_hit_.text(buff[18]);\r\nsvgmap.il1_l2_rd_.text(buff[19]);\r\nsvgmap.sl1_rd_.text(buff[20]);\r\nsvgmap.sl1_hit_.text(buff[21]);\r\nsvgmap.sl1_l2_rd_.text(buff[22]);\r\nsvgmap.sl1_l2_wr_.text(buff[23]);\r\nsvgmap.sl1_l2_atom_.text(buff[24]);\r\nsvgmap.vl1_rd_.text(buff[25]);\r\nsvgmap.vl1_wr_.text(buff[26]);\r\nsvgmap.vl1_atom_.text(buff[27]);\r\nsvgmap.vl1_hit_.text(buff[28]);\r\nsvgmap.vl1_lat_.text(buff[29]);\r\nsvgmap.vl1_l2_rd_.text(buff[30]);\r\nsvgmap.vl1_l2_wr_.text(buff[31]);\r\nsvgmap.vl1_l2_atom_.text(buff[32]);\r\nsvgmap.l2_rd_.text(buff[33]);\r\nsvgmap.l2_wr_.text(buff[34])\r\nsvgmap.l2_atom_.text(buff[35]);\r\nsvgmap.l2_hit_.text(buff[36]);\r\nsvgmap.l2_rd_lat_.text(buff[37]);\r\nsvgmap.l2_wr_lat_.text(buff[38]);\r\nsvgmap.fabric_rd_lat_.text(buff[39]);\r\nsvgmap.fabric_wr_lat_.text(buff[40]);\r\nsvgmap.fabric_atom_lat_.text(buff[41]);\r\nsvgmap.l2_fabric_rd_.text(buff[42]);\r\nsvgmap.l2_fabric_wr_.text(buff[43]);\r\nsvgmap.l2_fabric_atom_.text(buff[44]);\r\nsvgmap.hbm_rd_.text(buff[45]);\r\nsvgmap.hbm_wr_.text(buff[46]);\r\nsvgmap.lds_util_.text(buff[47]);\r\nsvgmap.vl1_coales_.text(buff[48]);\r\nsvgmap.vl1_stall_.text(buff[49]);\r\nsvgmap.wave_occ_.text(buff[50]);\r\nsvgmap.lds_lat_.text(buff[51]);\r\nsvgmap.il1_lat_.text(buff[52]);\r\nsvgmap.sl1_lat_.text(buff[53]);\r\nsvgmap.gds_req_.text(buff[54]);", + "initAutoComplete": true, + "initSource": "options.animateLogo = (svgmap, data) => {\r\n \r\n}\r\n ", + "svgMappings": [ + { + "mappedName": "wave_life_", + "svgId": "wave_life" + }, + { + "mappedName": "wave_occ_", + "svgId": "wave_occ" + }, + { + "mappedName": "salu_", + "svgId": "salu" + }, + { + "mappedName": "smem_", + "svgId": "smem" + }, + { + "mappedName": "valu_", + "svgId": "valu" + }, + { + "mappedName": "mfma_", + "svgId": "mfma" + }, + { + "mappedName": "vmem_", + "svgId": "vmem" + }, + { + "mappedName": "lds_", + "svgId": "lds" + }, + { + "mappedName": "gws_", + "svgId": "gws" + }, + { + "mappedName": "br_", + "svgId": "br" + }, + { + "mappedName": "active_cu_", + "svgId": "active_cu" + }, + { + "mappedName": "vgpr_", + "svgId": "vgpr" + }, + { + "mappedName": "sgpr_", + "svgId": "sgpr" + }, + { + "mappedName": "lds_alloc_", + "svgId": "lds_alloc" + }, + { + "mappedName": "scratch_alloc_", + "svgId": "scratch_alloc" + }, + { + "mappedName": "wavefronts_", + "svgId": "wavefronts" + }, + { + "mappedName": "workgroups_", + "svgId": "workgroups" + }, + { + "mappedName": "lds_req_", + "svgId": "lds_req" + }, + { + "mappedName": "vl1_wr_", + "svgId": "vl1_wr" + }, + { + "mappedName": "vl1_atom_", + "svgId": "vl1_atom" + }, + { + "mappedName": "sl1_rd_", + "svgId": "sl1_rd" + }, + { + "mappedName": "il1_fetch_", + "svgId": "il1_fetch" + }, + { + "mappedName": "lds_lat_", + "svgId": "lds_lat" + }, + { + "mappedName": "lds_bw_", + "svgId": "lds_bw" + }, + { + "mappedName": "lds_util_", + "svgId": "lds_util" + }, + { + "mappedName": "vl1_hit_", + "svgId": "vl1_hit" + }, + { + "mappedName": "vl1_lat_", + "svgId": "vl1_lat" + }, + { + "mappedName": "vl1_coales_", + "svgId": "vl1_coales" + }, + { + "mappedName": "vl1_stall_", + "svgId": "vl1_stall" + }, + { + "mappedName": "sl1_hit_", + "svgId": "sl1_hit" + }, + { + "mappedName": "sl1_lat_", + "svgId": "sl1_lat" + }, + { + "mappedName": "il1_hit_", + "svgId": "il1_hit" + }, + { + "mappedName": "il1_lat_", + "svgId": "il1_lat" + }, + { + "mappedName": "sl1_l2_rd_", + "svgId": "sl1_l2_rd" + }, + { + "mappedName": "sl1_l2_wr_", + "svgId": "sl1_l2_wr" + }, + { + "mappedName": "sl1_l2_atom_", + "svgId": "sl1_l2_atom" + }, + { + "mappedName": "il1_l2_rd_", + "svgId": "il1_l2_rd" + }, + { + "mappedName": "sl1_l2_rd_", + "svgId": "sl1_l2_rd" + }, + { + "mappedName": "sl1_l2_wr_", + "svgId": "sl1_l2_wr" + }, + { + "mappedName": "sl1_l2_atom_", + "svgId": "sl1_l2_atom" + }, + { + "mappedName": "l2_rd_", + "svgId": "l2_rd" + }, + { + "mappedName": "l2_wr_", + "svgId": "l2_wr" + }, + { + "mappedName": "l2_atom_", + "svgId": "l2_atom" + }, + { + "mappedName": "l2_hit_", + "svgId": "l2_hit" + }, + { + "mappedName": "l2_rd_lat_", + "svgId": "l2_rd_lat" + }, + { + "mappedName": "l2_wr_lat_", + "svgId": "l2_wr_lat" + }, + { + "mappedName": "l2_fabric_rd_", + "svgId": "l2_fabric_rd" + }, + { + "mappedName": "l2_fabric_wr_", + "svgId": "l2_fabric_wr" + }, + { + "mappedName": "l2_fabric_atom_", + "svgId": "l2_fabric_atom" + }, + { + "mappedName": "fabric_rd_lat_", + "svgId": "fabric_rd_lat" + }, + { + "mappedName": "fabric_wr_lat_", + "svgId": "fabric_wr_lat" + }, + { + "mappedName": "fabric_atom_lat_", + "svgId": "fabric_atom_lat" + }, + { + "mappedName": "fabric_hbm_rd_", + "svgId": "fabric_hbm_rd" + }, + { + "mappedName": "fabric_hbm_wr_", + "svgId": "fabric_hbm_wr" + }, + { + "mappedName": "vl1_rd_", + "svgId": "vl1_rd" + }, + { + "mappedName": "vl1_l2_rd_", + "svgId": "vl1_l2_rd" + }, + { + "mappedName": "vl1_l2_wr_", + "svgId": "vl1_l2_wr" + }, + { + "mappedName": "vl1_l2_atom_", + "svgId": "vl1_l2_atom" + }, + { + "mappedName": "hbm_rd_", + "svgId": "hbm_rd" + }, + { + "mappedName": "hbm_wr_", + "svgId": "hbm_wr" + } + ], + "svgSource": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Wave Occupancy\r\n \r\n Wave Life\r\n \r\n \r\n \r\n xGMI /\r\n PCIe\r\n \r\n GMI\r\n \r\n HBM\r\n \r\n Fabric\r\n \r\n \r\n SALU:\r\n 00000\r\n \r\n \r\n SMEM:\r\n 00000\r\n \r\n \r\n VALU:\r\n 00000\r\n \r\n \r\n MFMA:\r\n 00000\r\n \r\n \r\n VMEM:\r\n 00000\r\n \r\n \r\n LDS:\r\n 00000\r\n \r\n \r\n GWS:\r\n 00000\r\n \r\n \r\n Br:\r\n 00000\r\n \r\n \r\n cycles\r\n Rd:\r\n 00000\r\n \r\n \r\n cycles\r\n Wr:\r\n 00000\r\n \r\n \r\n cycles\r\n Atomic:\r\n 00000\r\n \r\n \r\n Rd:\r\n 00000\r\n \r\n \r\n Wr:\r\n \r\n \r\n 00000\r\n \r\n \r\n Atomic:\r\n 00000\r\n \r\n \r\n cycles\r\n Lat:\r\n 00000\r\n \r\n \r\n %\r\n Hit:\r\n 00000\r\n \r\n \r\n cycles\r\n Lat:\r\n 00000\r\n \r\n \r\n %\r\n Hit:\r\n 00000\r\n \r\n \r\n cycles\r\n Lat:\r\n 00000\r\n 00000\r\n Rd:\r\n 00000\r\n Wr:\r\n 00000\r\n Req:\r\n 00000\r\n 00000\r\n 00000\r\n Rd:\r\n Wr:\r\n Atomic:\r\n per-GCD\r\n cycles\r\n \r\n \r\n %\r\n Hit:\r\n 00000\r\n \r\n \r\n cycles\r\n Rd:\r\n 00000\r\n \r\n \r\n cycles\r\n Wr:\r\n 00000\r\n Wave 0 Instr buff\r\n Wave N-1 Instr buff\r\n Active CUs\r\n \r\n \r\n %\r\n Hit:\r\n 00000\r\n \r\n \r\n cycles\r\n Lat:\r\n 00000\r\n \r\n \r\n %\r\n Util:\r\n 00000\r\n \r\n \r\n %\r\n Coales:\r\n 00000\r\n Exec\r\n Instr Buff\r\n Instr Dispatch\r\n LDS\r\n Vector L1 Cache\r\n Scalar L1D Cache\r\n Instr L1 Cache\r\n L2 Cache\r\n 00000\r\n Req:\r\n \r\n \r\n %\r\n Stall:\r\n 00000\r\n 00000\r\n Fetch:\r\n 0000000\r\n 00000\r\n 000/000\r\n \r\n Latency\r\n \r\n LDS Alloc:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 00000\r\n \r\n Scratch Alloc:\r\n \r\n 00000\r\n \r\n Wavefronts:\r\n \r\n 00000\r\n \r\n Workgroups:\r\n \r\n 00000\r\n \r\n VGPRs:\r\n \r\n 00000\r\n \r\n SGPRs:\r\n \r\n 00000\r\n \r\n \r\n 00000\r\n Rd:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 00000\r\n 00000\r\n 00000\r\n Rd:\r\n Wr:\r\n Atomic:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 00000\r\n 00000\r\n 00000\r\n Rd:\r\n Wr:\r\n Atomic:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 00000\r\n 00000\r\n 00000\r\n Rd:\r\n Wr:\r\n Atomic:\r\n \r\n \r\n \r\n Latency\r\n \r\n \r\n \r\n \r\n Text is not SVG - cannot display\r\n \r\n \r\n" + }, + "pluginVersion": "8.4.0", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "rawQuery": true, + "refId": "pmc_perf", + "target": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"wave_life\": {\n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [\"&SQ_WAVES\", 0] },\n { \"$multiply\": [4, { \"$divide\": [\"&SQ_WAVE_CYCLES\", \"&SQ_WAVES\"] }] },\n null\n ]\n }\n },\n \"salu\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_SALU\", \"&denom\" ] }\n },\n \"smem\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_SMEM\", \"&denom\" ] }\n },\n \"valu\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_VALU\", \"&denom\"] }\n },\n \"mfma\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_MFMA\", \"&denom\"] }\n },\n \"vmem\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_VMEM\", \"&denom\"] }\n },\n \"lds_instr\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_LDS\", \"&denom\"] }\n },\n \"gws\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_GDS\", \"&denom\"] }\n },\n \"br\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_BRANCH\", \"&denom\"] }\n },\n \"vgpr\": {\n \"$avg\": \"&vgpr\"\n },\n \"sgpr\": {\n \"$avg\": \"&sgpr\"\n },\n \"lds_alloc\": {\n \"$avg\": \"&lds\"\n },\n \"scratch_alloc\": {\n \"$avg\": \"&scr\"\n },\n \"wavefronts\": {\n \"$avg\": \"&SPI_CSN_WAVE\"\n },\n \"workgroups\": {\n \"$avg\": \"&SPI_CSN_NUM_THREADGROUPS\"\n },\n \"lds_req\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_LDS\", \"&denom\"] }\n }, \n \"lds_util\": {\n \"$avg\": {\"$divide\":[ \n { \"$multiply\": [ 100, \"&SQ_LDS_IDX_ACTIVE\" ]}, \n {\"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}\n ]}\n },\n \"vl1_rd\": {\n \"$avg\": { \"$divide\": [\"&TCP_TOTAL_READ_sum\", \"&denom\"] }\n },\n \"vl1_wr\": {\n \"$avg\": { \"$divide\": [\"&TCP_TOTAL_WRITE_sum\", \"&denom\"] }\n },\n \"vl1_atom\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"] }\n },\n \"il1_fetch\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_REQ\", \"&denom\"] }\n },\n \"il1_hit\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_REQ\"] }\n },\n \"il1_l2_req\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_INST_REQ\", \"&denom\"] }\n },\n \"sl1_rd\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ\", \"&denom\"] }\n },\n \"sl1_hit\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQC_DCACHE_REQ\", 0]},\n { \"$divide\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_REQ\"] },\n \"\"\n ]\n }\n},\n \"sl1_l2_rd\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_READ_REQ\", \"&denom\"] }\n },\n \"sl1_l2_wr\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_WRITE_REQ\", \"&denom\"] }\n },\n \"sl1_l2_atom\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_ATOMIC_REQ\", \"&denom\"] }\n },\n \"vl1_hit\": {\n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0] },\n { \"$subtract\": [100, { \"$divide\": [{ \"$multiply\": [100, { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }] }, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"] }] },\n null\n ]\n }\n },\n \"vl1_lat\": {\n \"$avg\": { \n \"$cond\": [\n { \"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0] },\n { \"$divide\": [\"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\"] },\n null\n ]\n }\n },\n \"vl1_coales\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_ACCESSES_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TA_TOTAL_WAVEFRONTS_sum\", 64, 100]}, {\"$multiply\": [\"&TCP_TOTAL_ACCESSES_sum\", 4]}] },\n 0\n ]\n }\n },\n \"vl1_stall\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n \"\"\n ]\n }},\n \"vl1_l2_rd\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_READ_REQ_sum\", \"&denom\"] }\n },\n \"vl1_l2_wr\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"vl1_l2_atom\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }\n },\n \"l2_rd\": {\n \"$avg\": { \"$divide\": [\"&TCC_READ_sum\", \"&denom\"] }\n },\n \"l2_wr\": {\n \"$avg\": { \"$divide\": [\"&TCC_WRITE_sum\", \"&denom\"] }\n },\n \"l2_atom\": {\n \"$avg\": { \"$divide\": [\"&TCC_ATOMIC_sum\", \"&denom\"] }\n },\n \"l2_hit\": {\n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [{ \"$add\": [\"&TCC_HIT_sum\", \"&TCC_MISS_sum\"] }, 0] },\n { \"$divide\": [{ \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [\"&TCC_HIT_sum\", \"&TCC_MISS_sum\"] }] },\n null\n ]\n }\n },\n \"l2_rd_lat\": {\n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [{ \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }, 0] },\n { \"$divide\": [\"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }] },\n null\n ]\n }\n },\n \"l2_wr_lat\": {\n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [{ \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, 0] },\n { \"$divide\": [\"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }] },\n null\n ]\n }\n },\n \"fabric_rd_lat\": {\n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [\"&TCC_EA_RDREQ_sum\", 0] },\n { \"$divide\": [\"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\"] },\n null\n ]\n }\n },\n \"fabric_wr_lat\": { \n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [\"&TCC_EA_WRREQ_sum\", 0] },\n { \"$divide\": [\"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\"] },\n null\n ]\n }\n },\n \"fabric_atom_lat\": {\n \"$avg\": {\n \"$cond\": [\n { \"$ne\": [\"&TCC_EA_ATOMIC_sum\", 0] },\n { \"$divide\": [\"&TCC_EA_ATOMIC_LEVEL_sum\", \"&TCC_EA_ATOMIC_sum\"] },\n null\n ]\n }\n },\n \"l2_fabric_rd\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_RDREQ_sum\", \"&denom\"] }\n },\n \"l2_fabric_wr\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_WRREQ_sum\", \"&denom\"] }\n },\n \"l2_fabric_atom\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_ATOMIC_sum\", \"&denom\"] }\n },\n \"hbm_rd\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_RDREQ_DRAM_sum\", \"&denom\"] }\n },\n \"hbm_wr\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_WRREQ_DRAM_sum\", \"&denom\"] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Wave Life\",\n \"Alias\": \"wave_life_\",\n \"Value\": { \"$round\": [\"&wave_life\", 0] }\n },\n {\n \"Metric\": \"Active CUs\",\n \"Alias\": \"active_cu_\",\n \"Value\": {\"$concat\": [\"$numActiveCUs\", \"/\", \"$numCU\"]}\n },\n {\n \"Metric\": \"SALU\",\n \"Alias\": \"salu_\",\n \"Value\": { \"$round\": [\"&salu\", 0] }\n },\n {\n \"Metric\": \"SMEM\",\n \"Alias\": \"smem_\",\n \"Value\": { \"$round\": [\"&smem\", 0] }\n },\n {\n \"Metric\": \"VALU\",\n \"Alias\": \"valu_\",\n \"Value\": { \"$round\": [\"&valu\", 0] }\n },\n {\n \"Metric\": \"MFMA\",\n \"Alias\": \"mfma_\",\n \"Value\": { \"$round\": [\"&mfma\", 0] }\n },\n {\n \"Metric\": \"VMEM\",\n \"Alias\": \"vmem_\",\n \"Value\": { \"$round\": [\"&vmem\", 0] }\n },\n {\n \"Metric\": \"LDS\",\n \"Alias\": \"lds_\",\n \"Value\": { \"$round\": [\"&lds_instr\", 0] }\n },\n {\n \"Metric\": \"GWS\",\n \"Alias\": \"gws_\",\n \"Value\": { \"$round\": [\"&gws\", 0] }\n },\n {\n \"Metric\": \"BR\",\n \"Alias\": \"br_\",\n \"Value\": { \"$round\": [\"&br\", 0] }\n },\n {\n \"Metric\": \"VGPR\",\n \"Alias\": \"vgpr_\",\n \"Value\": { \"$round\": [\"&vgpr\", 0] }\n },\n {\n \"Metric\": \"SGPR\",\n \"Alias\": \"sgpr_\",\n \"Value\": { \"$round\": [\"&sgpr\", 0] }\n },\n {\n \"Metric\": \"LDS Allocation\",\n \"Alias\": \"lds_alloc_\",\n \"Value\": { \"$round\": [\"&lds_alloc\", 0] }\n },\n {\n \"Metric\": \"Scratch Allocation\",\n \"Alias\": \"scratch_alloc_\",\n \"Value\": { \"$round\": [\"&scratch_alloc\", 0] }\n },\n {\n \"Metric\": \"Wavefronts\",\n \"Alias\": \"wavefronts_\",\n \"Value\": { \"$round\": [\"&wavefronts\", 0] }\n },\n {\n \"Metric\": \"Workgroups\",\n \"Alias\": \"workgroups_\",\n \"Value\": { \"$round\": [\"&workgroups\", 0] }\n },\n {\n \"Metric\": \"LDS Req\",\n \"Alias\": \"lds_req_\",\n \"Value\": { \"$round\": [\"&lds_req\", 0] }\n },\n {\n \"Metric\": \"IL1 Fetch\",\n \"Alias\": \"il1_fetch_\",\n \"Value\": { \"$round\": [\"&il1_fetch\", 0] }\n },\n {\n \"Metric\": \"IL1 Hit\",\n \"Alias\": \"il1_hit_\",\n \"Value\": { \"$round\": [{ \"$multiply\": [\"&il1_hit\", 100] }, 0] }\n },\n {\n \"Metric\": \"IL1_L2 Rd\",\n \"Alias\": \"il1_l2_req_\",\n \"Value\": { \"$round\": [\"&il1_l2_req\", 0] }\n },\n {\n \"Metric\": \"vL1D Rd\",\n \"Alias\": \"sl1_rd_\",\n \"Value\": { \"$round\": [\"&sl1_rd\", 0] }\n },\n {\n \"Metric\": \"vL1D Hit\",\n \"Alias\": \"sl1_hit_\",\n \"Value\": { \"$round\": [{ \"$multiply\": [\"&sl1_hit\", 100] }, 0] }\n },\n {\n \"Metric\": \"vL1D_L2 Rd\",\n \"Alias\": \"sl1_l2_rd_\",\n \"Value\": { \"$round\": [\"&sl1_l2_rd\", 0] }\n },\n {\n \"Metric\": \"vL1D_L2 Wr\",\n \"Alias\": \"sl1_l2_wr_\",\n \"Value\": { \"$round\": [\"&sl1_l2_wr\", 0] }\n },\n {\n \"Metric\": \"vL1D_L2 Atomic\",\n \"Alias\": \"sl1_l2_atom_\",\n \"Value\": { \"$round\": [\"&sl1_l2_atom\", 0] }\n },\n {\n \"Metric\": \"VL1 Rd\",\n \"Alias\": \"vl1_rd_\",\n \"Value\": { \"$round\": [\"&vl1_rd\", 0] }\n },\n {\n \"Metric\": \"VL1 Wr\",\n \"Alias\": \"vl1_wr_\",\n \"Value\": { \"$round\": [\"&vl1_wr\", 0] }\n },\n {\n \"Metric\": \"VL1 Atomic\",\n \"Alias\": \"vl1_atom_\",\n \"Value\": { \"$round\": [\"&vl1_atom\", 0] }\n },\n {\n \"Metric\": \"VL1 Hit\",\n \"Alias\": \"vl1_hit_\",\n \"Value\": { \"$round\": [\"&vl1_hit\", 0] }\n },\n {\n \"Metric\": \"VL1 Lat\",\n \"Alias\": \"vl1_lat_\",\n \"Value\": { \"$round\": [\"&vl1_lat\", 0] }\n },\n {\n \"Metric\": \"VL1_L2 Rd\",\n \"Alias\": \"vl1_l2_rd_\",\n \"Value\": { \"$round\": [\"&vl1_l2_rd\", 0] }\n },\n {\n \"Metric\": \"VL1_L2 Wr\",\n \"Alias\": \"vl1_l2_wr_\",\n \"Value\": { \"$round\": [\"&vl1_l2_wr\", 0] }\n },\n {\n \"Metric\": \"vL1_L2 Atomic\",\n \"Alias\": \"vl1_l2_atom_\",\n \"Value\": { \"$round\": [\"&vl1_l2_atom\", 0] }\n },\n {\n \"Metric\": \"L2 Rd\",\n \"Alias\": \"l2_rd_\",\n \"Value\": { \"$round\": [\"&l2_rd\", 0] }\n },\n {\n \"Metric\": \"L2 Wr\",\n \"Alias\": \"l2_wr_\",\n \"Value\": { \"$round\": [\"&l2_wr\", 0] }\n },\n {\n \"Metric\": \"L2 Atomic\",\n \"Alias\": \"l2_atom_\",\n \"Value\": { \"$round\": [\"&l2_atom\", 0] }\n },\n {\n \"Metric\": \"L2 Hit\",\n \"Alias\": \"l2_hit_\",\n \"Value\": { \"$round\": [\"&l2_hit\", 0] }\n },\n {\n \"Metric\": \"L2 Rd Lat\",\n \"Alias\": \"l2_rd_lat_\",\n \"Value\": { \"$round\": [\"&l2_rd_lat\", 0] }\n },\n {\n \"Metric\": \"L2 Wr Lat\",\n \"Alias\": \"l2_wr_lat_\",\n \"Value\": { \"$round\": [\"&l2_wr_lat\", 0] }\n },\n {\n \"Metric\": \"Fabric Rd Lat\",\n \"Alias\": \"fabric_rd_lat_\",\n \"Value\": { \"$round\": [\"&fabric_rd_lat\", 0] }\n },\n {\n \"Metric\": \"Fabric Wr Lat\",\n \"Alias\": \"fabric_wr_lat_\",\n \"Value\": { \"$round\": [\"&fabric_wr_lat\", 0] }\n },\n {\n \"Metric\": \"Fabric Atomic Lat\",\n \"Alias\": \"fabric_atom_lat_\",\n \"Value\": { \"$round\": [\"&fabric_atom_lat\", 0] }\n },\n {\n \"Metric\": \"Fabric_L2 Rd\",\n \"Alias\": \"l2_fabric_rd_\",\n \"Value\": { \"$round\": [\"&l2_fabric_rd\", 0] }\n },\n {\n \"Metric\": \"Fabric_L2 Wr\",\n \"Alias\": \"l2_fabric_wr_\",\n \"Value\": { \"$round\": [\"&l2_fabric_wr\", 0] }\n },\n {\n \"Metric\": \"Fabric_l2 Atomic\",\n \"Alias\": \"l2_fabric_atom_\",\n \"Value\": { \"$round\": [\"&l2_fabric_atom\", 0] }\n },\n {\n \"Metric\": \"HBM Rd\",\n \"Alias\": \"hbm_rd_\",\n \"Value\": { \"$round\": [\"&hbm_rd\", 0] }\n },\n {\n \"Metric\": \"HBM Wr\",\n \"Alias\": \"hbm_wr_\",\n \"Value\": { \"$round\": [\"&hbm_wr\", 0] }\n },\n {\n \"Metric\": \"LDS Util\",\n \"Alias\": \"lds_util_\",\n \"Value\": { \"$round\": [\"&lds_util\", 0] }\n },\n {\n \"Metric\": \"VL1 Coalesce\",\n \"Alias\": \"vl1_coales_\",\n \"Value\": { \"$round\": [\"&vl1_coales\", 0]}\n },\n {\n \"Metric\": \"VL1 Stall\",\n \"Alias\": \"vl1_stall_\",\n \"Value\": { \"$round\": [\"&vl1_stall\", 0]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"$array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"$array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_LEVEL_WAVES", + "target": "$Workload1.SQ_LEVEL_WAVES.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"wave_occ\": {\n \"$avg\": { \"$divide\": [{ \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\",\"&GRBM_GUI_ACTIVE\"] }, $numActiveCUs]}\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Wave Occupancy\",\n \"Alias\": \"wave_occ_\",\n \"Value\":{ \"$round\": [\"&wave_occ\", 0] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_INST_LEVEL_LDS", + "target": "$Workload1.SQ_INST_LEVEL_LDS.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"lds_lat\": {\n \"$avg\": { \n \"$cond\": [\n { \"$ne\": [\"&SQ_INSTS_LDS\", 0] },\n { \"$divide\": [\"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\"] },\n null\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"LDS Lat\",\n \"Alias\": \"lds_lat_\",\n \"Value\":{ \"$round\": [\"&lds_lat\", 0] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQC_ICACHE_INFLIGHT", + "target": "$Workload1.pmc_perf.aggregate([\n\t{\"$match\": {\n\t\t\"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \t\t\"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \t\t\"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n \t}},\n\t{\"$lookup\": {\n\t\t\"from\": \"SQ_IFETCH_LEVEL\",\n\t\t\"localField\": \"Index\",\n\t\t\"foreignField\": \"Index\",\n\t\t\"as\": \"SQ_IFETCH_LEVEL\",\n\t\t\"pipeline\": [\n\t\t\t{\"$match\": {\n\t\t\t\t\"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \t\t\t\t\"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \t\t\t\t\"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n \t\t\t}},\n\t\t\t{\"$project\":{\n\t\t\t\t\"_id\": 0,\n\t\t\t\t\"SQ_ACCUM_PREV_HIRES\": 1\n\t\t\t}}\n\t\t]\n\t}},\n\t{\"$unwind\":{\n\t\t\"path\": \"&SQ_IFETCH_LEVEL\"\n\t}},\n\t{\"$group\":{\n\t\t\"_id\": null,\n\t\t\"il1_lat\": {\n\t\t\t\"$avg\":{\n\t\t\t\t\"$cond\":[\n\t\t\t\t\t\t{\"$ne\":[\"&SQC_ICACHE_REQ\",0]},\n\t\t\t\t\t\t{\"$divide\":[\"&SQ_IFETCH_LEVEL.SQ_ACCUM_PREV_HIRES\",\"&SQC_ICACHE_REQ\"]},\n\t\t\t\t\t\tnull\n\t\t\t\t\t]\n\t\t\t}\n\t\t} \n\t}},\n\t{\"$set\": {\n \t\t\"array\": [\n \t\t{\n \t\t\t\"Metric\": \"IL1 Lat\",\n \t\t\t\"Alias\": \"il1_lat_\",\n \t\t\t\"Value\": { \"$round\": [\"&il1_lat\", 0] }\n \t\t}\n \t\t]\n\t}},\n \t{\"$unwind\": {\n \t\t\"path\": \"&array\"\n \t}},\n \t{\"$replaceRoot\": {\n \t\t\"newRoot\": \"&array\"\n \t}}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQC_DCACHE_INFLIGHT_LEVEL", + "target": "$Workload1.pmc_perf.aggregate([\n\t{\"$match\": {\n\t\t\"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \t\t\"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \t\t\"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n \t}},\n\t{\"$lookup\": {\n\t\t\"from\": \"SQ_IFETCH_LEVEL\",\n\t\t\"localField\": \"Index\",\n\t\t\"foreignField\": \"Index\",\n\t\t\"as\": \"SQ_IFETCH_LEVEL\",\n\t\t\"pipeline\": [\n\t\t\t{\"$match\": {\n\t\t\t\t\"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \t\t\t\t\"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \t\t\t\t\"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n \t\t\t}},\n\t\t\t{\"$project\":{\n\t\t\t\t\"_id\": 0,\n\t\t\t\t\"SQ_ACCUM_PREV_HIRES\": 1\n\t\t\t}}\n\t\t]\n\t}},\n\t{\"$unwind\":{\n\t\t\"path\": \"&SQ_IFETCH_LEVEL\"\n\t}},\n\t{\"$group\":{\n\t\t\"_id\": null,\n\t\t\"sl1_lat\": {\n\t\t\t\"$avg\":{\n\t\t\t\t\"$cond\":[\n\t\t\t\t\t\t{\"$ne\":[\"&SQC_DCACHE_REQ\",0]},\n\t\t\t\t\t\t{\"$divide\":[\"&SQ_IFETCH_LEVEL.SQ_ACCUM_PREV_HIRES\",\"&SQC_DCACHE_REQ\"]},\n\t\t\t\t\t\tnull\n\t\t\t\t\t]\n\t\t\t}\n\t\t} \n\t}},\n\t{\"$set\": {\n \t\t\"array\": [\n \t\t{\n \t\t\t\"Metric\": \"vL1D Lat\",\n \t\t\t\"Alias\": \"sl1_lat_\",\n \t\t\t\"Value\": { \"$round\": [\"&sl1_lat\", 0] }\n \t\t}\n \t\t]\n\t}},\n \t{\"$unwind\": {\n \t\t\"path\": \"&array\"\n \t}},\n \t{\"$replaceRoot\": {\n \t\t\"newRoot\": \"&array\"\n \t}}\n]);", + "type": "table" + } + ], + "title": "Memory Chart (Normalization: $normUnit\")", + "transformations": [ + { + "id": "convertFieldType", + "options": { + "conversions": [ + { + "destinationType": "string", + "targetField": "Value" + } + ], + "fields": {} + } + }, + { + "id": "merge", + "options": {} + } + ], + "type": "amd-custom-svg" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Memory Chart Analysis", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 241, + "panels": [ + { + "gridPos": { + "h": 28, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 253, + "pconfig": { + "fixScale": "", + "layout": { + "dragmode": "zoom", + "font": { + "family": "\"Open Sans\", Helvetica, Arial, sans-serif" + }, + "hovermode": "closest", + "legend": { + "orientation": "v" + }, + "showlegend": true, + "xaxis": { + "range": [ + -2, + 3.8 + ], + "rangemode": "between", + "showgrid": true, + "title": "Arithmetic Intensity (FLOP/Byte)", + "type": "log", + "zeroline": false + }, + "yaxis": { + "rangemode": "normal", + "showgrid": true, + "title": "Performance (GFLOP/sec)", + "type": "log", + "zeroline": false + }, + "zaxis": { + "rangemode": "normal", + "showgrid": true, + "type": "linear", + "zeroline": false + } + }, + "loadFromCDN": false, + "settings": { + "displayModeBar": false, + "type": "scatter" + }, + "showAnnotations": true, + "traces": [ + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "xrange", + "y": "roofline_hbm" + }, + "name": "HBM-VLAU", + "settings": { + "color_option": "ramp", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#33B5E5", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 15, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "circle" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "xrange", + "y": "roofline_L2" + }, + "name": "L2-VALU", + "settings": { + "color_option": "ramp", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#33B5E5", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 15, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "circle" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "xrange", + "y": "roofline_L1" + }, + "name": "vL1D-VALU", + "settings": { + "color_option": "ramp", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#33B5E5", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 15, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "circle" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "LDSBw_peak", + "x": "xrange", + "y": "roofline_LDS" + }, + "name": "LDS-VALU", + "settings": { + "color_option": "ramp", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#33B5E5", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 15, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "circle" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "cur_ai_hbm", + "y": "cur_perf" + }, + "name": "Cur - HBM", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#F2495C", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "square" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "cur_ai_L2", + "y": "cur_perf" + }, + "name": "Cur - L2", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#5794F2", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "diamond" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "cur_ai_L1", + "y": "cur_perf" + }, + "name": "Cur - vL1D", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "base_ai_hbm", + "y": "base_perf" + }, + "name": "Baseline - HBM", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#F2495C", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "square-open" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "base_ai_L2", + "y": "base_perf" + }, + "name": "Baseline - L2", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#5794F2", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "diamond-open" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "base_ai_L1", + "y": "base_perf" + }, + "name": "Baseline - vL1D", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "xrange", + "y": "roofline_hbm_MFMA" + }, + "name": "HBM-MFMA", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "xrange", + "y": "roofline_L2_MFMA" + }, + "name": "L2-MFMA", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "xrange", + "y": "roofline_L1_MFMA" + }, + "name": "vL1D-MFMA", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "LDSBw_peak", + "x": "xrange", + "y": "roofline_LDS_MFMA" + }, + "name": "LDS-MFMA", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + } + ] + }, + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "rawQuery": true, + "refId": "HBM-VALU", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&FP32Flops\", \"&FP64Flops\"]\n },\n \"then\": \"&FP64Flops\",\n \"else\": \"&FP32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_hbm\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&HBMBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&HBMBw\"] },\n \"else\": \"$high_flop\"\n }\n },\n \"hbmBw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&HBMBw\", 1] },0, 32]}, \" GB/s\"] }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "HBM-MFMA", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&MFMAF32Flops\", \"&MFMAF64Flops\"]\n },\n \"then\": \"&MFMAF64Flops\",\n \"else\": \"&MFMAF32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_hbm_MFMA\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&HBMBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&HBMBw\"] },\n \"else\": \"$high_flop\"\n }\n }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L2-VALU", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&FP32Flops\", \"&FP64Flops\"]\n },\n \"then\": \"&FP64Flops\",\n \"else\": \"&FP32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L2\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L2Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L2Bw\"] },\n \"else\": \"$high_flop\"\n }\n },\n\n \"L2Bw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&L2Bw\", 1] },0, 32]}, \" GB/s\"] }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L1-VALU", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&FP32Flops\", \"&FP64Flops\"]\n },\n \"then\": \"&FP64Flops\",\n \"else\": \"&FP32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L1\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L1Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L1Bw\"] },\n \"else\": \"&high_flop\"\n }\n },\n\n \"L1Bw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&L1Bw\", 1] },0, 32]}, \" GB/s\"] }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "LDS", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&FP32Flops\", \"&FP64Flops\"]\n },\n \"then\": \"&FP64Flops\",\n \"else\": \"&FP32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_LDS\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&LDSBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&LDSBw\"] },\n \"else\": \"$high_flop\"\n }\n },\n\n \"LDSBw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&LDSBw\", 1] },0, 32]}, \" GB/s\"] }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "Cur Workload", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n { \"$group\": { \n \"_id\": \"&KernelName\", \n \"Calls\": { \"$sum\": 1} ,\n \"TotalDuration\": { \"$sum\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n \"AvgDuration\": { \"$avg\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n\n \"total_flops\": {\n \"$avg\":{\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]}\n },\n\n \"valu_flops\": {\n \"$avg\": { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] }\n ]}\n },\n \n \"mfma_flops_f16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] } },\n \"mfma_flops_bf16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] } },\n \"mfma_flops_f32\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] } },\n \"mfma_flops_f64\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] } },\n\n\n \"lds_data\": {\n \"$avg\": { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks\"}\n ]\n } \n },\n\n \"L1cache_data\": {\n \"$avg\": { \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64] } \n },\n\n \"L2cache_data\": {\n \"$avg\": {\n \"$multiply\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \n \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, 64]}\n },\n\n \"hbm_data\": {\n \"$avg\": {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n }\n }\n\n\n }},\n {\"$sort\": { \"TotalDuration\": -1 }},\n { \"$limit\": 10 },\n {\"$project\": {\n \"_id\": 0,\n \"Kernel\": \"&KernelName\",\n \"cur_ai_L1\": {\n \"$cond\": [\n { \"$ne\": [\"&L1cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L1cache_data\"] },\n 0\n ]\n },\n \"cur_ai_L2\": {\n \"$cond\": [\n { \"$ne\": [\"&L2cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L2cache_data\"] },\n 0\n ]\n },\n \"cur_ai_hbm\": {\n \"$cond\": [\n { \"$ne\": [\"&hbm_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&hbm_data\"] },\n 0\n ]\n },\n \"cur_perf\": { \n \"$cond\": [\n { \"$ne\": [\"&AvgDuration\", 0] },\n { \"$divide\": [\"&total_flops\", \"&AvgDuration\"] },\n 0\n ]\n }\n }}\n\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "Baseline Workload", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Roofline)\"}}\n }},\n { \"$group\": { \n \"_id\": \"&KernelName\", \n \"Calls\": { \"$sum\": 1} ,\n \"TotalDuration\": { \"$sum\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n \"AvgDuration\": { \"$avg\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n\n \"total_flops\": {\n \"$avg\":{\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]}\n },\n\n \"valu_flops\": {\n \"$avg\": { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] }\n ]}\n },\n \n \"mfma_flops_f16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] } },\n \"mfma_flops_bf16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] } },\n \"mfma_flops_f32\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] } },\n \"mfma_flops_f64\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] } },\n\n\n \"lds_data\": {\n \"$avg\": { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks\"}\n ]\n } \n },\n\n \"L1cache_data\": {\n \"$avg\": { \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64] } \n },\n\n \"L2cache_data\": {\n \"$avg\": {\n \"$multiply\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \n \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, 64]}\n },\n\n \"hbm_data\": {\n \"$avg\": {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n }\n }\n\n\n }},\n {\"$sort\": { \"TotalDuration\": -1 }},\n { \"$limit\": 10 },\n {\"$project\": {\n \"_id\": 0,\n \"Kernel\": \"&KernelName\",\n \"base_ai_L1\": {\n \"$cond\": [\n { \"$ne\": [\"&L1cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L1cache_data\"] },\n 0\n ]\n },\n \"base_ai_L2\": {\n \"$cond\": [\n { \"$ne\": [\"&L2cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L2cache_data\"] },\n 0\n ]\n },\n \"base_ai_hbm\": {\n \"$cond\": [\n { \"$ne\": [\"&hbm_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&hbm_data\"] },\n 0\n ]\n },\n \"base_perf\": { \n \"$cond\": [\n { \"$ne\": [\"&AvgDuration\", 0] },\n { \"$divide\": [\"&total_flops\", \"&AvgDuration\"] },\n 0\n ]\n }\n }}\n\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L2-MFMA", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&MFMAF32Flops\", \"&MFMAF64Flops\"]\n },\n \"then\": \"&MFMAF64Flops\",\n \"else\": \"&MFMAF32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L2_MFMA\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L2Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L2Bw\"] },\n \"else\": \"$high_flop\"\n }\n }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L1-MFMA", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&MFMAF32Flops\", \"&MFMAF64Flops\"]\n },\n \"then\": \"&MFMAF64Flops\",\n \"else\": \"&MFMAF32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L1_MFMA\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L1Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L1Bw\"] },\n \"else\": \"$high_flop\"\n }\n }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "jYrBWHfnz" + }, + "hide": false, + "rawQuery": true, + "refId": "LDS-MFMA", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [\"&MFMAF32Flops\", \"&MFMAF64Flops\"]\n },\n \"then\": \"&MFMAF64Flops\",\n \"else\": \"&MFMAF32Flops\"\n }\n }\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_LDS_MFMA\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&LDSBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&LDSBw\"] },\n \"else\": \"$high_flop\"\n }\n }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + } + ], + "title": "Empirical Roofline FP32/FP64 (MI200)", + "type": "natel-plotly-panel", + "version": 1 + }, + { + "gridPos": { + "h": 28, + "w": 24, + "x": 0, + "y": 33 + }, + "id": 312, + "pconfig": { + "fixScale": "", + "layout": { + "dragmode": "zoom", + "font": { + "family": "\"Open Sans\", Helvetica, Arial, sans-serif" + }, + "hovermode": "closest", + "legend": { + "orientation": "v" + }, + "showlegend": true, + "xaxis": { + "range": [ + -2, + 3.8 + ], + "rangemode": "between", + "showgrid": true, + "title": "Arithmetic Intensity (FLOP/Byte)", + "type": "log", + "zeroline": false + }, + "yaxis": { + "rangemode": "normal", + "showgrid": true, + "title": "Performance (GFLOP/sec)", + "type": "log", + "zeroline": false + }, + "zaxis": { + "rangemode": "normal", + "showgrid": true, + "type": "linear", + "zeroline": false + } + }, + "loadFromCDN": false, + "settings": { + "displayModeBar": false, + "type": "scatter" + }, + "showAnnotations": true, + "traces": [ + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "cur_ai_hbm", + "y": "cur_perf" + }, + "name": "Cur - HBM", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#F2495C", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "square" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "cur_ai_L2", + "y": "cur_perf" + }, + "name": "Cur - L2", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#5794F2", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "diamond" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "cur_ai_L1", + "y": "cur_perf" + }, + "name": "Cur - vL1D", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "base_ai_hbm", + "y": "base_perf" + }, + "name": "Baseline - HBM", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#F2495C", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "square-open" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "base_ai_L2", + "y": "base_perf" + }, + "name": "Baseline - L2", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#5794F2", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "diamond-open" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "base_ai_L1", + "y": "base_perf" + }, + "name": "Baseline - vL1D", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": false, + "markers": true + } + }, + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "xrange", + "y": "roofline_hbm_MFMA_fp16" + }, + "name": "HBM-MFMA-FP16", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "xrange", + "y": "roofline_L2_MFMA_fp16" + }, + "name": "L2-MFMA-FP16", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "xrange", + "y": "roofline_L1_MFMA_fp16" + }, + "name": "vL1D-MFMA-FP16", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "LDSBw_peak", + "x": "xrange", + "y": "roofline_LDS_MFMA_fp16" + }, + "name": "LDS-MFMA-FP16", + "settings": { + "color_option": "solid", + "line": { + "color": "#005f81", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "hbmBw_peak", + "x": "xrange", + "y": "roofline_hbm_MFMA_i8" + }, + "name": "HBM-MFMA-I8", + "settings": { + "color_option": "solid", + "line": { + "color": "#FA6400", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L2Bw_peak", + "x": "xrange", + "y": "roofline_L2_MFMA_i8" + }, + "name": "L2-MFMA-I8", + "settings": { + "color_option": "solid", + "line": { + "color": "#FA6400", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "L1Bw_peak", + "x": "xrange", + "y": "roofline_L1_MFMA_i8" + }, + "name": "vL1D-MFMA-I8", + "settings": { + "color_option": "solid", + "line": { + "color": "#FA6400", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + }, + { + "mapping": { + "color": "n", + "text": "LDSBw_peak", + "x": "xrange", + "y": "roofline_LDS_MFMA_i8" + }, + "name": "LDS-MFMA-I8", + "settings": { + "color_option": "solid", + "line": { + "color": "#FA6400", + "dash": "solid", + "shape": "linear", + "width": 2 + }, + "marker": { + "color": "#B877D9", + "colorscale": "YlOrRd", + "line": { + "color": "#DDD", + "width": 0 + }, + "showscale": false, + "size": 12, + "sizemin": 3, + "sizemode": "diameter", + "sizeref": 0.2, + "symbol": "star-open" + } + }, + "show": { + "line": true, + "lines": true, + "markers": false + } + } + ] + }, + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "HBM-MFMA-FP16", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAF16Flops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_hbm_MFMA_fp16\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&HBMBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&HBMBw\"] },\n \"else\": \"$high_flop\"\n }\n },\n \"hbmBw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&HBMBw\", 1] },0, 32]}, \" GB/s\"] }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "HBM-MFMA-I8", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAI8Ops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_hbm_MFMA_i8\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&HBMBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&HBMBw\"] },\n \"else\": \"$high_flop\"\n }\n }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "Cur Workload", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n { \"$group\": { \n \"_id\": \"&KernelName\", \n \"Calls\": { \"$sum\": 1} ,\n \"TotalDuration\": { \"$sum\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n \"AvgDuration\": { \"$avg\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n\n \"total_flops\": {\n \"$avg\":{\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]}\n },\n\n \"valu_flops\": {\n \"$avg\": { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] }\n ]}\n },\n \n \"mfma_flops_f16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] } },\n \"mfma_flops_bf16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] } },\n \"mfma_flops_f32\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] } },\n \"mfma_flops_f64\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] } },\n\n\n \"lds_data\": {\n \"$avg\": { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks\"}\n ]\n } \n },\n\n \"L1cache_data\": {\n \"$avg\": { \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64] } \n },\n\n \"L2cache_data\": {\n \"$avg\": {\n \"$multiply\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \n \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, 64]}\n },\n\n \"hbm_data\": {\n \"$avg\": {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n }\n }\n\n\n }},\n {\"$sort\": { \"TotalDuration\": -1 }},\n { \"$limit\": 10 },\n {\"$project\": {\n \"_id\": 0,\n \"Kernel\": \"&KernelName\",\n \"cur_ai_L1\": {\n \"$cond\": [\n { \"$ne\": [\"&L1cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L1cache_data\"] },\n 0\n ]\n },\n \"cur_ai_L2\": {\n \"$cond\": [\n { \"$ne\": [\"&L2cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L2cache_data\"] },\n 0\n ]\n },\n \"cur_ai_hbm\": {\n \"$cond\": [\n { \"$ne\": [\"&hbm_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&hbm_data\"] },\n 0\n ]\n },\n \"cur_perf\": { \n \"$cond\": [\n { \"$ne\": [\"&AvgDuration\", 0] },\n { \"$divide\": [\"&total_flops\", \"&AvgDuration\"] },\n 0\n ]\n }\n }}\n\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "Baseline Workload", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Roofline)\"}}\n }},\n { \"$group\": { \n \"_id\": \"&KernelName\", \n \"Calls\": { \"$sum\": 1} ,\n \"TotalDuration\": { \"$sum\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n \"AvgDuration\": { \"$avg\": {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]}},\n\n \"total_flops\": {\n \"$avg\":{\"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] },\n { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }\n ]}\n },\n\n \"valu_flops\": {\n \"$avg\": { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }, \"&SQ_INSTS_VALU_TRANS_F16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }, \"&SQ_INSTS_VALU_TRANS_F32\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }, \"&SQ_INSTS_VALU_TRANS_F64\"] }] }\n ]}\n },\n \n \"mfma_flops_f16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] } },\n \"mfma_flops_bf16\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] } },\n \"mfma_flops_f32\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] } },\n \"mfma_flops_f64\": { \"$avg\": { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] } },\n\n\n \"lds_data\": {\n \"$avg\": { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks\"}\n ]\n } \n },\n\n \"L1cache_data\": {\n \"$avg\": { \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64] } \n },\n\n \"L2cache_data\": {\n \"$avg\": {\n \"$multiply\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \n \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, 64]}\n },\n\n \"hbm_data\": {\n \"$avg\": {\n \"$add\": [ { \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] },\n { \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]},\n { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] }\n ]\n }\n }\n\n\n }},\n {\"$sort\": { \"TotalDuration\": -1 }},\n { \"$limit\": 10 },\n {\"$project\": {\n \"_id\": 0,\n \"Kernel\": \"&KernelName\",\n \"base_ai_L1\": {\n \"$cond\": [\n { \"$ne\": [\"&L1cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L1cache_data\"] },\n 0\n ]\n },\n \"base_ai_L2\": {\n \"$cond\": [\n { \"$ne\": [\"&L2cache_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&L2cache_data\"] },\n 0\n ]\n },\n \"base_ai_hbm\": {\n \"$cond\": [\n { \"$ne\": [\"&hbm_data\", 0] },\n {\"$divide\": [\"&total_flops\", \"&hbm_data\"] },\n 0\n ]\n },\n \"base_perf\": { \n \"$cond\": [\n { \"$ne\": [\"&AvgDuration\", 0] },\n { \"$divide\": [\"&total_flops\", \"&AvgDuration\"] },\n 0\n ]\n }\n }}\n\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L2-MFMA-FP16", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAF16Flops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L2_MFMA_fp16\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L2Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L2Bw\"] },\n \"else\": \"$high_flop\"\n }\n },\n \"L2Bw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&L2Bw\", 1] },0, 32]}, \" GB/s\"] }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L2-MFMA-I8", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAI8Ops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L2_MFMA_i8\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L2Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L2Bw\"] },\n \"else\": \"$high_flop\"\n }\n }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L1-MFMA-FP16", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAF16Flops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L1_MFMA_fp16\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L1Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L1Bw\"] },\n \"else\": \"$high_flop\"\n }\n },\n \"L1Bw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&L1Bw\", 1] },0, 32]}, \" GB/s\"] }\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "LJKvMZank" + }, + "hide": false, + "rawQuery": true, + "refId": "L1-MFMA-I8", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAI8Ops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_L1_MFMA_i8\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&L1Bw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&L1Bw\"] },\n \"else\": \"$high_flop\"\n }\n }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "jYrBWHfnz" + }, + "hide": false, + "rawQuery": true, + "refId": "LDS-MFMA-FP16", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAF16Flops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_LDS_MFMA_fp16\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&LDSBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&LDSBw\"] },\n \"else\": \"$high_flop\"\n }\n },\n \"LDSBw_peak\": { \"$concat\": [{\"$substr\":[{ \"$round\":[\"&LDSBw\", 1] },0, 32]}, \" GB/s\"] }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "jYrBWHfnz" + }, + "hide": false, + "rawQuery": true, + "refId": "LDS-MFMA-I8", + "target": "${Workload1}.roofline.aggregate([\n {\"$match\": {\n \"device\": { \"$in\": [${gpuFilter:raw}] }\n }},\n { \"$addFields\": {\n \"xaxis\": {\"$range\": [0, 50000]}\n }},\n { \"$addFields\": {\n \"high_flop\": \"&MFMAI8Ops\"\n }},\n { \"$addFields\": {\n \"cte\": {\n \"$map\": {\n \"input\": \"$xaxis\",\n \"as\": \"n\",\n \"in\": {\n \"xrange\": {\"$multiply\": [0.1, \"$$n\"]},\n \"roofline_LDS_MFMA_i8\": {\n \"$cond\": {\n \"if\": {\n \"$lt\": [ {\"$multiply\": [0.1, \"$$n\", \"&LDSBw\"]}, \"$high_flop\" ]\n },\n \"then\": { \"$multiply\": [0.1, \"$$n\", \"&LDSBw\"] },\n \"else\": \"$high_flop\"\n }\n }\n\n } \n }}\n }},\n \n {\"$unwind\": \"$cte\"\n },\n {\"$replaceRoot\": {\n \"newRoot\": \"$cte\"\n }}\n]);", + "type": "table" + } + ], + "title": "Empirical Roofline FP16/INT8 (MI200)", + "type": "natel-plotly-panel", + "version": 1 + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Roofline Analysis", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 2, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 115 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 118 + } + ] + } + ] + }, + "gridPos": { + "h": 13, + "w": 13, + "x": 0, + "y": 62 + }, + "id": 6, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1 \n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"gpuBusy_avg\": {\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_min\": {\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_max\": {\"$max\": \"&GRBM_GUI_ACTIVE\"},\n\n\n \"cpfBusy_avg\": {\"$avg\": \"&CPF_CPF_STAT_BUSY\"},\n \"cpfBusy_min\": {\"$min\": \"&CPF_CPF_STAT_BUSY\"},\n \"cpfBusy_max\": {\"$max\": \"&CPF_CPF_STAT_BUSY\"},\n\n \"cpfUtil_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }, 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_BUSY\"] }, { \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }]},\n null\n ]\n }},\n \"cpfUtil_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }, 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_BUSY\"] }, { \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }]},\n null\n ]\n }},\n \"cpfUtil_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }, 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_BUSY\"] }, { \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }]},\n null\n ]\n }},\n\n \"cpfStall_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_STAT_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_STALL\"] }, \"&CPF_CPF_STAT_BUSY\"] } ,\n null\n ]\n }},\n \"cpfStall_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_STAT_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_STALL\"] }, \"&CPF_CPF_STAT_BUSY\"] } ,\n null\n ]\n }},\n \"cpfStall_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_STAT_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_STALL\"] }, \"&CPF_CPF_STAT_BUSY\"] } ,\n null\n ]\n }},\n\n \"l2CacheBusy_avg\": {\"$avg\": \"&CPF_CPF_TCIU_BUSY\"},\n \"l2CacheBusy_min\": {\"$min\": \"&CPF_CPF_TCIU_BUSY\"},\n \"l2CacheBusy_max\": {\"$max\": \"&CPF_CPF_TCIU_BUSY\"},\n\n \"l2CacheUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_BUSY\"] }, { \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }]},\n null\n ]\n }},\n \"l2CacheUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_BUSY\"] }, { \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }]},\n null\n ]\n }},\n \"l2CacheUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_BUSY\"] }, { \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }]},\n null\n ]\n }},\n \"l2CacheStall_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_TCIU_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_STALL\"] }, \"&CPF_CPF_TCIU_BUSY\"] },\n null\n ]\n }},\n \"l2CacheStall_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_TCIU_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_STALL\"] }, \"&CPF_CPF_TCIU_BUSY\"] },\n null\n ]\n }},\n \"l2CacheStall_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_TCIU_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_STALL\"] }, \"&CPF_CPF_TCIU_BUSY\"] },\n null\n ]\n }},\n\n \"utcL1Stall_avg\": {\"$avg\": \"&CPF_CMP_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_min\": {\"$min\": \"&CPF_CMP_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_max\": {\"$max\": \"&CPF_CMP_UTCL1_STALL_ON_TRANSLATION\"}\n\n\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"GPU Busy Cycles\",\n \"Avg\": \"&gpuBusy_avg\",\n \"Min\": \"&gpuBusy_min\",\n \"Max\": \"&gpuBusy_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"CPF Busy\",\n \"Avg\": \"&cpfBusy_avg\",\n \"Min\": \"&cpfBusy_min\",\n \"Max\": \"&cpfBusy_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"CPF Util\",\n \"Avg\": \"&cpfUtil_avg\",\n \"Min\": \"&cpfUtil_min\",\n \"Max\": \"&cpfUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"CPF Stall\",\n \"Avg\": \"&cpfStall_avg\",\n \"Min\": \"&cpfStall_min\",\n \"Max\": \"&cpfStall_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"L2Cache Intf Busy\",\n \"Avg\": \"&l2CacheBusy_avg\",\n \"Min\": \"&l2CacheBusy_min\",\n \"Max\": \"&l2CacheBusy_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"L2Cache Intf Util\",\n \"Avg\": \"&l2CacheUtil_avg\",\n \"Min\": \"&l2CacheUtil_min\",\n \"Max\": \"&l2CacheUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"L2Cache Intf Stall\",\n \"Avg\": \"&l2CacheStall_avg\",\n \"Min\": \"&l2CacheStall_min\",\n \"Max\": \"&l2CacheStall_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"UTCL1 Stall\",\n \"Avg\": \"&utcL1Stall_avg\",\n \"Min\": \"&utcL1Stall_min\",\n \"Max\": \"&utcL1Stall_max\", \n \"Unit\": \"Cycles/Kernel\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Command Processor)\"}}\n }},\n\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1 \n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"gpuBusy_avg\": {\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_min\": {\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_max\": {\"$max\": \"&GRBM_GUI_ACTIVE\"},\n\n \"cpfBusy_avg\": {\"$avg\": \"&CPF_CPF_STAT_BUSY\"},\n \"cpfBusy_min\": {\"$min\": \"&CPF_CPF_STAT_BUSY\"},\n \"cpfBusy_max\": {\"$max\": \"&CPF_CPF_STAT_BUSY\"},\n\n \"cpfUtil_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }, 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_BUSY\"] }, { \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }]},\n null\n ]\n }},\n \"cpfUtil_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }, 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_BUSY\"] }, { \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }]},\n null\n ]\n }},\n \"cpfUtil_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }, 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_BUSY\"] }, { \"$add\": [\"&CPF_CPF_STAT_BUSY\", \"&CPF_CPF_STAT_IDLE\"] }]},\n null\n ]\n }},\n\n \"cpfStall_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_STAT_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_STALL\"] }, \"&CPF_CPF_STAT_BUSY\"] } ,\n null\n ]\n }},\n \"cpfStall_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_STAT_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_STALL\"] }, \"&CPF_CPF_STAT_BUSY\"] } ,\n null\n ]\n }},\n \"cpfStall_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_STAT_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_STAT_STALL\"] }, \"&CPF_CPF_STAT_BUSY\"] } ,\n null\n ]\n }},\n\n \"l2CacheBusy_avg\": {\"$avg\": \"&CPF_CPF_TCIU_BUSY\"},\n \"l2CacheBusy_min\": {\"$min\": \"&CPF_CPF_TCIU_BUSY\"},\n \"l2CacheBusy_max\": {\"$max\": \"&CPF_CPF_TCIU_BUSY\"},\n\n \"l2CacheUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_BUSY\"] }, { \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }]},\n null\n ]\n }},\n \"l2CacheUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_BUSY\"] }, { \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }]},\n null\n ]\n }},\n \"l2CacheUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_BUSY\"] }, { \"$add\": [\"&CPF_CPF_TCIU_BUSY\", \"&CPF_CPF_TCIU_IDLE\"] }]},\n null\n ]\n }},\n \"l2CacheStall_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_TCIU_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_STALL\"] }, \"&CPF_CPF_TCIU_BUSY\"] },\n null\n ]\n }},\n \"l2CacheStall_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_TCIU_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_STALL\"] }, \"&CPF_CPF_TCIU_BUSY\"] },\n null\n ]\n }},\n \"l2CacheStall_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPF_CPF_TCIU_BUSY\", 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&CPF_CPF_TCIU_STALL\"] }, \"&CPF_CPF_TCIU_BUSY\"] },\n null\n ]\n }},\n\n \"utcL1Stall_avg\": {\"$avg\": \"&CPF_CMP_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_min\": {\"$min\": \"&CPF_CMP_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_max\": {\"$max\": \"&CPF_CMP_UTCL1_STALL_ON_TRANSLATION\"}\n\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"GPU Busy Cycles\",\n \"Avg\": \"&gpuBusy_avg\",\n \"Min\": \"&gpuBusy_min\",\n \"Max\": \"&gpuBusy_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"CPF Busy\",\n \"Avg\": \"&cpfBusy_avg\",\n \"Min\": \"&cpfBusy_min\",\n \"Max\": \"&cpfBusy_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"CPF Util\",\n \"Avg\": \"&cpfUtil_avg\",\n \"Min\": \"&cpfUtil_min\",\n \"Max\": \"&cpfUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"CPF Stall\",\n \"Avg\": \"&cpfStall_avg\",\n \"Min\": \"&cpfStall_min\",\n \"Max\": \"&cpfStall_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"L2Cache Intf Busy\",\n \"Avg\": \"&l2CacheBusy_avg\",\n \"Min\": \"&l2CacheBusy_min\",\n \"Max\": \"&l2CacheBusy_max\", \n \"Unit\": \"Cycles/Kernel\"\n },\n {\n \"Metric\": \"L2Cache Intf Util\",\n \"Avg\": \"&l2CacheUtil_avg\",\n \"Min\": \"&l2CacheUtil_min\",\n \"Max\": \"&l2CacheUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"L2Cache Intf Stall\",\n \"Avg\": \"&l2CacheStall_avg\",\n \"Min\": \"&l2CacheStall_min\",\n \"Max\": \"&l2CacheStall_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"UTCL1 Stall\",\n \"Avg\": \"&utcL1Stall_avg\",\n \"Min\": \"&utcL1Stall_min\",\n \"Max\": \"&utcL1Stall_max\", \n \"Unit\": \"Cycles/Kernel\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Command Processor Fetcher", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Avg 1": 3, + "Avg 2": 4, + "Max 1": 7, + "Max 2": 8, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Unit 1": 9, + "Unit 2": 2 + }, + "renameByName": { + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 83 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 171 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 148 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 180 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 118 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baselin)" + }, + "properties": [ + { + "id": "custom.width", + "value": 139 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 138 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 147 + } + ] + } + ] + }, + "gridPos": { + "h": 13, + "w": 11, + "x": 13, + "y": 62 + }, + "id": 4, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \n \"gpuBusy_avg\": {\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_min\": {\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_max\": {\"$max\": \"&GRBM_GUI_ACTIVE\"},\n\n\n \"cpcBusy_avg\": {\"$avg\": \"&CPC_CPC_STAT_BUSY\"},\n \"cpcBusy_min\": {\"$min\": \"&CPC_CPC_STAT_BUSY\"},\n \"cpcBusy_max\": {\"$max\": \"&CPC_CPC_STAT_BUSY\"},\n\n \"cpcUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_BUSY\"] }, { \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }]} ,\n null\n ]\n }},\n \"cpcUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_BUSY\"] }, { \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }]} ,\n null\n ]\n }},\n \"cpcUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_BUSY\"] }, { \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }]} ,\n null\n ]\n }},\n\n \"cpcStall_avg\": {\"$avg\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStall_min\": {\"$min\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStall_max\": {\"$max\": \"&CPC_CPC_STAT_STALL\"},\n\n \"cpcStallCycles_avg\": {\"$avg\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStallCycles_min\": {\"$min\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStallCycles_max\": {\"$max\": \"&CPC_CPC_STAT_STALL\"},\n\n \"cpcStallRate_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_STALL\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"cpcStallRate_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_STALL\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"cpcStallRate_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_STALL\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n\n \"cpcPacketDecoding_avg\":{\"$avg\": \"&CPC_ME1_BUSY_FOR_PACKET_DECODE\"},\n \"cpcPacketDecoding_min\":{\"$min\": \"&CPC_ME1_BUSY_FOR_PACKET_DECODE\"},\n \"cpcPacketDecoding_max\":{\"$max\": \"&CPC_ME1_BUSY_FOR_PACKET_DECODE\"},\n\n \"spiBusy_avg\":{\"$avg\": \"&CPC_ME1_DC0_SPI_BUSY\"},\n \"spiBusy_min\":{\"$min\": \"&CPC_ME1_DC0_SPI_BUSY\"},\n \"spiBusy_max\":{\"$max\": \"&CPC_ME1_DC0_SPI_BUSY\"},\n\n \"spiUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_ME1_DC0_SPI_BUSY\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"spiUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_ME1_DC0_SPI_BUSY\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"spiUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_ME1_DC0_SPI_BUSY\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n\n \"l2CacheBusy_avg\":{\"$avg\": \"&CPC_CPC_TCIU_BUSY\"},\n \"l2CacheBusy_min\":{\"$min\": \"&CPC_CPC_TCIU_BUSY\"},\n \"l2CacheBusy_max\":{\"$max\": \"&CPC_CPC_TCIU_BUSY\"},\n\n \"l2CacheUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_TCIU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }]} ,\n null\n ]\n }},\n \"l2CacheUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_TCIU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }]} ,\n null\n ]\n }},\n \"l2CacheUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_TCIU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }]} ,\n null\n ]\n }},\n\n \"utcL1Stall_avg\":{\"$avg\": \"&CPC_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_min\":{\"$min\": \"&CPC_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_max\":{\"$max\": \"&CPC_UTCL1_STALL_ON_TRANSLATION\"},\n\n \"utcL2Busy_avg\":{\"$avg\": \"&CPC_CPC_UTCL2IU_BUSY\"},\n \"utcL2Busy_min\":{\"$min\": \"&CPC_CPC_UTCL2IU_BUSY\"},\n \"utcL2Busy_max\":{\"$max\": \"&CPC_CPC_UTCL2IU_BUSY\"},\n\n \"utcL2Util_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_UTCL2IU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }]} ,\n null\n ]\n }},\n \"utcL2Util_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_UTCL2IU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }]} ,\n null\n ]\n }},\n \"utcL2Util_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_UTCL2IU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }]} ,\n null\n ]\n }}\n\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"GPU Busy Cycles\",\n \"Avg\": \"&gpuBusy_avg\",\n \"Min\": \"&gpuBusy_min\",\n \"Max\": \"&gpuBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CPC Busy Cycles\",\n \"Avg\": \"&cpcBusy_avg\",\n \"Min\": \"&cpcBusy_min\",\n \"Max\": \"&cpcBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CPC Util\",\n \"Avg\": \"&cpcUtil_avg\",\n \"Min\": \"&cpcUtil_min\",\n \"Max\": \"&cpcUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"CPC Stall Cycles\",\n \"Avg\": \"&cpcStallCycles_avg\",\n \"Min\": \"&cpcStallCycles_min\",\n \"Max\": \"&cpcStallCycles_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CPC Stall Rate\",\n \"Avg\": \"&cpcStallRate_avg\",\n \"Min\": \"&cpcStallRate_min\",\n \"Max\": \"&cpcStallRate_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"CPC Packet Decoding\",\n \"Avg\": \"&cpcPacketDecoding_avg\",\n \"Min\": \"&cpcPacketDecoding_min\",\n \"Max\": \"&cpcPacketDecoding_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SPI Intf Busy Cycles\",\n \"Avg\": \"&spiBusy_avg\",\n \"Min\": \"&spiBusy_min\",\n \"Max\": \"&spiBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SPI Intf Util\",\n \"Avg\": \"&spiUtil_avg\",\n \"Min\": \"&spiUtil_min\",\n \"Max\": \"&spiUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"L2Cache Intf Util\",\n \"Avg\": \"&l2CacheUtil_avg\",\n \"Min\": \"&l2CacheUtil_min\",\n \"Max\": \"&l2CacheUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"UTCL1 Stall Cycles\",\n \"Avg\": \"&utcL1Stall_avg\",\n \"Min\": \"&utcL1Stall_min\",\n \"Max\": \"&utcL1Stall_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"UTCL2 Intf Busy Cycles\",\n \"Avg\": \"&utcL2Busy_avg\",\n \"Min\": \"&utcL2Busy_min\",\n \"Max\": \"&utcL2Busy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"UTCL2 Intf Util\",\n \"Avg\": \"&utcL2Util_avg\",\n \"Min\": \"&utcL2Util_min\",\n \"Max\": \"&utcL2Util_max\", \n \"Unit\": \"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Command Processor)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \n \"gpuBusy_avg\": {\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_min\": {\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_max\": {\"$max\": \"&GRBM_GUI_ACTIVE\"},\n\n \"cpcBusy_avg\": {\"$avg\": \"&CPC_CPC_STAT_BUSY\"},\n \"cpcBusy_min\": {\"$min\": \"&CPC_CPC_STAT_BUSY\"},\n \"cpcBusy_max\": {\"$max\": \"&CPC_CPC_STAT_BUSY\"},\n\n \"cpcUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_BUSY\"] }, { \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }]} ,\n null\n ]\n }},\n \"cpcUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_BUSY\"] }, { \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }]} ,\n null\n ]\n }},\n \"cpcUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_BUSY\"] }, { \"$add\": [\"&CPC_CPC_STAT_BUSY\", \"&CPC_CPC_STAT_IDLE\"] }]} ,\n null\n ]\n }},\n\n \"cpcStall_avg\": {\"$avg\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStall_min\": {\"$min\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStall_max\": {\"$max\": \"&CPC_CPC_STAT_STALL\"},\n\n \"cpcStallCycles_avg\": {\"$avg\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStallCycles_min\": {\"$min\": \"&CPC_CPC_STAT_STALL\"},\n \"cpcStallCycles_max\": {\"$max\": \"&CPC_CPC_STAT_STALL\"},\n\n \"cpcStallRate_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_STALL\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"cpcStallRate_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_STALL\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"cpcStallRate_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_STAT_STALL\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n\n \"cpcPacketDecoding_avg\":{\"$avg\": \"&CPC_ME1_BUSY_FOR_PACKET_DECODE\"},\n \"cpcPacketDecoding_min\":{\"$min\": \"&CPC_ME1_BUSY_FOR_PACKET_DECODE\"},\n \"cpcPacketDecoding_max\":{\"$max\": \"&CPC_ME1_BUSY_FOR_PACKET_DECODE\"},\n\n \"spiBusy_avg\":{\"$avg\": \"&CPC_ME1_DC0_SPI_BUSY\"},\n \"spiBusy_min\":{\"$min\": \"&CPC_ME1_DC0_SPI_BUSY\"},\n \"spiBusy_max\":{\"$max\": \"&CPC_ME1_DC0_SPI_BUSY\"},\n\n \"spiUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_ME1_DC0_SPI_BUSY\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"spiUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_ME1_DC0_SPI_BUSY\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n \"spiUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [\"&CPC_CPC_STAT_BUSY\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_ME1_DC0_SPI_BUSY\"] }, \"&CPC_CPC_STAT_BUSY\"]} ,\n null\n ]\n }},\n\n \"l2CacheBusy_avg\":{\"$avg\": \"&CPC_CPC_TCIU_BUSY\"},\n \"l2CacheBusy_min\":{\"$min\": \"&CPC_CPC_TCIU_BUSY\"},\n \"l2CacheBusy_max\":{\"$max\": \"&CPC_CPC_TCIU_BUSY\"},\n\n \"l2CacheUtil_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_TCIU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }]} ,\n null\n ]\n }},\n \"l2CacheUtil_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_TCIU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }]} ,\n null\n ]\n }},\n \"l2CacheUtil_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_TCIU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_TCIU_BUSY\", \"&CPC_CPC_TCIU_IDLE\"] }]} ,\n null\n ]\n }},\n\n \"utcL1Stall_avg\":{\"$avg\": \"&CPC_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_min\":{\"$min\": \"&CPC_UTCL1_STALL_ON_TRANSLATION\"},\n \"utcL1Stall_max\":{\"$max\": \"&CPC_UTCL1_STALL_ON_TRANSLATION\"},\n\n \"utcL2Busy_avg\":{\"$avg\": \"&CPC_CPC_UTCL2IU_BUSY\"},\n \"utcL2Busy_min\":{\"$min\": \"&CPC_CPC_UTCL2IU_BUSY\"},\n \"utcL2Busy_max\":{\"$max\": \"&CPC_CPC_UTCL2IU_BUSY\"},\n\n \"utcL2Util_avg\": {\"$avg\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_UTCL2IU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }]} ,\n null\n ]\n }},\n \"utcL2Util_min\": {\"$min\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_UTCL2IU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }]} ,\n null\n ]\n }},\n \"utcL2Util_max\": {\"$max\":{\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }, 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&CPC_CPC_UTCL2IU_BUSY\"] }, { \"$add\": [\"&CPC_CPC_UTCL2IU_BUSY\", \"&CPC_CPC_UTCL2IU_IDLE\"] }]} ,\n null\n ]\n }}\n\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"GPU Busy Cycles\",\n \"Avg\": \"&gpuBusy_avg\",\n \"Min\": \"&gpuBusy_min\",\n \"Max\": \"&gpuBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CPC Busy Cycles\",\n \"Avg\": \"&cpcBusy_avg\",\n \"Min\": \"&cpcBusy_min\",\n \"Max\": \"&cpcBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CPC Util\",\n \"Avg\": \"&cpcUtil_avg\",\n \"Min\": \"&cpcUtil_min\",\n \"Max\": \"&cpcUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"CPC Stall Cycles\",\n \"Avg\": \"&cpcStallCycles_avg\",\n \"Min\": \"&cpcStallCycles_min\",\n \"Max\": \"&cpcStallCycles_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CPC Stall Rate\",\n \"Avg\": \"&cpcStallRate_avg\",\n \"Min\": \"&cpcStallRate_min\",\n \"Max\": \"&cpcStallRate_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"CPC Packet Decoding\",\n \"Avg\": \"&cpcPacketDecoding_avg\",\n \"Min\": \"&cpcPacketDecoding_min\",\n \"Max\": \"&cpcPacketDecoding_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SPI Intf Busy Cycles\",\n \"Avg\": \"&spiBusy_avg\",\n \"Min\": \"&spiBusy_min\",\n \"Max\": \"&spiBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SPI Intf Util\",\n \"Avg\": \"&spiUtil_avg\",\n \"Min\": \"&spiUtil_min\",\n \"Max\": \"&spiUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"L2Cache Intf Util\",\n \"Avg\": \"&l2CacheUtil_avg\",\n \"Min\": \"&l2CacheUtil_min\",\n \"Max\": \"&l2CacheUtil_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"UTCL1 Stall Cycles\",\n \"Avg\": \"&utcL1Stall_avg\",\n \"Min\": \"&utcL1Stall_min\",\n \"Max\": \"&utcL1Stall_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"UTCL2 Intf Busy Cycles\",\n \"Avg\": \"&utcL2Busy_avg\",\n \"Min\": \"&utcL2Busy_min\",\n \"Max\": \"&utcL2Busy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"UTCL2 Intf Util\",\n \"Avg\": \"&utcL2Util_avg\",\n \"Min\": \"&utcL2Util_min\",\n \"Max\": \"&utcL2Util_max\", \n \"Unit\": \"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Command Processor Compute", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Avg 1": 3, + "Avg 2": 4, + "Max 1": 7, + "Max 2": 8, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Unit 1": 9, + "Unit 2": 2 + }, + "renameByName": { + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Metric 1": "", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Command Processor (CPC/CPF)", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 102, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 101 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg 1" + }, + "properties": [ + { + "id": "custom.width", + "value": 121 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min 1" + }, + "properties": [ + { + "id": "custom.width", + "value": 96 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max 1" + }, + "properties": [ + { + "id": "custom.width", + "value": 145 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg 2" + }, + "properties": [ + { + "id": "custom.width", + "value": 97 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min 2" + }, + "properties": [ + { + "id": "custom.width", + "value": 128 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 130 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 123 + } + ] + } + ] + }, + "gridPos": { + "h": 15, + "w": 12, + "x": 0, + "y": 63 + }, + "id": 106, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"csBusy_avg\":{\"$avg\": \"&SPI_CSN_BUSY\"},\n \"csBusy_min\":{\"$min\": \"&SPI_CSN_BUSY\"},\n \"csBusy_max\":{\"$max\": \"&SPI_CSN_BUSY\"},\n\n \"gpuBusy_avg\":{\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_min\":{\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_max\":{\"$max\": \"&GRBM_GUI_ACTIVE\"},\n\n \"spiBusy_avg\":{\"$avg\": \"&GRBM_SPI_BUSY\"},\n \"spiBusy_min\":{\"$min\": \"&GRBM_SPI_BUSY\"},\n \"spiBusy_max\":{\"$max\": \"&GRBM_SPI_BUSY\"},\n\n \"sqBusy_avg\":{\"$avg\": \"&SQ_BUSY_CYCLES\"},\n \"sqBusy_min\":{\"$min\": \"&SQ_BUSY_CYCLES\"},\n \"sqBusy_max\":{\"$max\": \"&SQ_BUSY_CYCLES\"},\n\n \"dispatchedWorkgroups_avg\":{\"$avg\": \"&SPI_CSN_NUM_THREADGROUPS\"},\n \"dispatchedWorkgroups_min\":{\"$min\": \"&SPI_CSN_NUM_THREADGROUPS\"},\n \"dispatchedWorkgroups_max\":{\"$max\": \"&SPI_CSN_NUM_THREADGROUPS\"},\n\n \"dispatchedWavefronts_avg\":{\"$avg\": \"&SPI_CSN_WAVE\"},\n \"dispatchedWavefronts_min\":{\"$min\": \"&SPI_CSN_WAVE\"},\n \"dispatchedWavefronts_max\":{\"$max\": \"&SPI_CSN_WAVE\"},\n\n\n \"waveAllocFail_avg\":{\"$avg\": \"&SPI_RA_REQ_NO_ALLOC\"},\n \"waveAllocFail_min\":{\"$min\": \"&SPI_RA_REQ_NO_ALLOC\"},\n \"waveAllocFail_max\":{\"$max\": \"&SPI_RA_REQ_NO_ALLOC\"},\n\n \"waveAllocFailCS_avg\":{\"$avg\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveAllocFailCS_min\":{\"$min\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveAllocFailCS_max\":{\"$max\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"}\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"GPU Busy\",\n \"Avg\": \"&gpuBusy_avg\",\n \"Min\": \"&gpuBusy_min\",\n \"Max\": \"&gpuBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CS Busy\",\n \"Avg\": \"&csBusy_avg\",\n \"Min\": \"&csBusy_min\",\n \"Max\": \"&csBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SPI Busy\",\n \"Avg\": \"&spiBusy_avg\",\n \"Min\": \"&spiBusy_min\",\n \"Max\": \"&spiBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SQ Busy\",\n \"Avg\": \"&sqBusy_avg\",\n \"Min\": \"&sqBusy_min\",\n \"Max\": \"&sqBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Dispatched Workgroups\",\n \"Avg\": \"&dispatchedWorkgroups_avg\",\n \"Min\": \"&dispatchedWorkgroups_min\",\n \"Max\": \"&dispatchedWorkgroups_max\", \n \"Unit\": \"Workgroups\"\n },\n {\n \"Metric\": \"Dispatched Wavefronts\",\n \"Avg\": \"&dispatchedWavefronts_avg\",\n \"Min\": \"&dispatchedWavefronts_min\",\n \"Max\": \"&dispatchedWavefronts_max\", \n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"Wave Alloc Failed\",\n \"Avg\": \"&waveAllocFail_avg\",\n \"Min\": \"&waveAllocFail_min\",\n \"Max\": \"&waveAllocFail_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Wave Alloc Failed - CS\",\n \"Avg\": \"&waveAllocFailCS_avg\",\n \"Min\": \"&waveAllocFailCS_min\",\n \"Max\": \"&waveAllocFailCS_max\", \n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Shader Processor Input)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"csBusy_avg\":{\"$avg\": \"&SPI_CSN_BUSY\"},\n \"csBusy_min\":{\"$min\": \"&SPI_CSN_BUSY\"},\n \"csBusy_max\":{\"$max\": \"&SPI_CSN_BUSY\"},\n\n \"gpuBusy_avg\":{\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_min\":{\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"gpuBusy_max\":{\"$max\": \"&GRBM_GUI_ACTIVE\"},\n\n \"spiBusy_avg\":{\"$avg\": \"&GRBM_SPI_BUSY\"},\n \"spiBusy_min\":{\"$min\": \"&GRBM_SPI_BUSY\"},\n \"spiBusy_max\":{\"$max\": \"&GRBM_SPI_BUSY\"},\n\n \"sqBusy_avg\":{\"$avg\": \"&SQ_BUSY_CYCLES\"},\n \"sqBusy_min\":{\"$min\": \"&SQ_BUSY_CYCLES\"},\n \"sqBusy_max\":{\"$max\": \"&SQ_BUSY_CYCLES\"},\n\n \"dispatchedWorkgroups_avg\":{\"$avg\": \"&SPI_CSN_NUM_THREADGROUPS\"},\n \"dispatchedWorkgroups_min\":{\"$min\": \"&SPI_CSN_NUM_THREADGROUPS\"},\n \"dispatchedWorkgroups_max\":{\"$max\": \"&SPI_CSN_NUM_THREADGROUPS\"},\n\n \"dispatchedWavefronts_avg\":{\"$avg\": \"&SPI_CSN_WAVE\"},\n \"dispatchedWavefronts_min\":{\"$min\": \"&SPI_CSN_WAVE\"},\n \"dispatchedWavefronts_max\":{\"$max\": \"&SPI_CSN_WAVE\"},\n\n \"waveAllocFail_avg\":{\"$avg\": \"&SPI_RA_REQ_NO_ALLOC\"},\n \"waveAllocFail_min\":{\"$min\": \"&SPI_RA_REQ_NO_ALLOC\"},\n \"waveAllocFail_max\":{\"$max\": \"&SPI_RA_REQ_NO_ALLOC\"},\n\n \"waveAllocFailCS_avg\":{\"$avg\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveAllocFailCS_min\":{\"$min\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveAllocFailCS_max\":{\"$max\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"}\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"GPU Busy\",\n \"Avg\": \"&gpuBusy_avg\",\n \"Min\": \"&gpuBusy_min\",\n \"Max\": \"&gpuBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CS Busy\",\n \"Avg\": \"&csBusy_avg\",\n \"Min\": \"&csBusy_min\",\n \"Max\": \"&csBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SPI Busy\",\n \"Avg\": \"&spiBusy_avg\",\n \"Min\": \"&spiBusy_min\",\n \"Max\": \"&spiBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"SQ Busy\",\n \"Avg\": \"&sqBusy_avg\",\n \"Min\": \"&sqBusy_min\",\n \"Max\": \"&sqBusy_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Dispatched Workgroups\",\n \"Avg\": \"&dispatchedWorkgroups_avg\",\n \"Min\": \"&dispatchedWorkgroups_min\",\n \"Max\": \"&dispatchedWorkgroups_max\", \n \"Unit\": \"Workgroups\"\n },\n {\n \"Metric\": \"Dispatched Wavefronts\",\n \"Avg\": \"&dispatchedWavefronts_avg\",\n \"Min\": \"&dispatchedWavefronts_min\",\n \"Max\": \"&dispatchedWavefronts_max\", \n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"Wave Alloc Failed\",\n \"Avg\": \"&waveAllocFail_avg\",\n \"Min\": \"&waveAllocFail_min\",\n \"Max\": \"&waveAllocFail_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Wave Alloc Failed - CS\",\n \"Avg\": \"&waveAllocFailCS_avg\",\n \"Min\": \"&waveAllocFailCS_min\",\n \"Max\": \"&waveAllocFailCS_max\", \n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "SPI Stats", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Avg 1": 3, + "Avg 2": 4, + "Max 1": 7, + "Max 2": 8, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Unit 1": 9, + "Unit 2": 2 + }, + "renameByName": { + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)", + "Unit 1": "" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 117 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 110 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 121 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 285 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 102 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 122 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 242 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 121 + } + ] + } + ] + }, + "gridPos": { + "h": 15, + "w": 12, + "x": 12, + "y": 63 + }, + "id": 104, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"waveReqFailCS_avg\":{\"$avg\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveReqFailCS_min\":{\"$min\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveReqFailCS_max\":{\"$max\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n\n \"csStall_avg\":{\"$avg\": \"&SPI_RA_RES_STALL_CSN\"},\n \"csStall_min\":{\"$min\": \"&SPI_RA_RES_STALL_CSN\"},\n \"csStall_max\":{\"$max\": \"&SPI_RA_RES_STALL_CSN\"},\n\n \"csStallRate_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&SPI_RA_RES_STALL_CSN\"]}, \"&GRBM_SPI_BUSY\"]},\n null\n ]\n }},\n \"csStallRate_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&SPI_RA_RES_STALL_CSN\"]}, \"&GRBM_SPI_BUSY\"]},\n null\n ]\n }},\n \"csStallRate_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&SPI_RA_RES_STALL_CSN\"]}, \"&GRBM_SPI_BUSY\"]},\n null\n ]\n }},\n\n \"scratchStall_avg\":{\"$avg\": \"&SPI_RA_TMP_STALL_CSN\"},\n \"scratchStall_min\":{\"$min\": \"&SPI_RA_TMP_STALL_CSN\"},\n \"scratchStall_max\":{\"$max\": \"&SPI_RA_TMP_STALL_CSN\"},\n\n \"simdWaveslots_avg\":{\"$avg\": \"&SPI_RA_WAVE_SIMD_FULL_CSN\"},\n \"simdWaveslots_min\":{\"$min\": \"&SPI_RA_WAVE_SIMD_FULL_CSN\"},\n \"simdWaveslots_max\":{\"$max\": \"&SPI_RA_WAVE_SIMD_FULL_CSN\"},\n\n \"simdVGPRs_avg\":{\"$avg\": \"&SPI_RA_VGPR_SIMD_FULL_CSN\"},\n \"simdVGPRs_min\":{\"$min\": \"&SPI_RA_VGPR_SIMD_FULL_CSN\"},\n \"simdVGPRs_max\":{\"$max\": \"&SPI_RA_VGPR_SIMD_FULL_CSN\"},\n\n \"simdSGPRs_avg\":{\"$avg\": \"&SPI_RA_SGPR_SIMD_FULL_CSN\"},\n \"simdSGPRs_min\":{\"$min\": \"&SPI_RA_SGPR_SIMD_FULL_CSN\"},\n \"simdSGPRs_max\":{\"$max\": \"&SPI_RA_SGPR_SIMD_FULL_CSN\"},\n\n \"cuLDS_avg\":{\"$avg\": \"&SPI_RA_LDS_CU_FULL_CSN\"},\n \"cuLDS_min\":{\"$min\": \"&SPI_RA_LDS_CU_FULL_CSN\"},\n \"cuLDS_max\":{\"$max\": \"&SPI_RA_LDS_CU_FULL_CSN\"},\n\n \"cuBarries_avg\":{\"$avg\": \"&SPI_RA_BAR_CU_FULL_CSN\"},\n \"cuBarries_min\":{\"$min\": \"&SPI_RA_BAR_CU_FULL_CSN\"},\n \"cuBarries_max\":{\"$max\": \"&SPI_RA_BAR_CU_FULL_CSN\"},\n\n \"bulkyResource_avg\":{\"$avg\": \"&SPI_RA_BULKY_CU_FULL_CSN\"},\n \"bulkyResource_min\":{\"$min\": \"&SPI_RA_BULKY_CU_FULL_CSN\"},\n \"bulkyResource_max\":{\"$max\": \"&SPI_RA_BULKY_CU_FULL_CSN\"},\n\n \"threadgroupLimit_avg\":{\"$avg\": \"&SPI_RA_TGLIM_CU_FULL_CSN\"},\n \"threadgroupLimit_min\":{\"$min\": \"&SPI_RA_TGLIM_CU_FULL_CSN\"},\n \"threadgroupLimit_max\":{\"$max\": \"&SPI_RA_TGLIM_CU_FULL_CSN\"},\n\n \"waveLimit_avg\":{\"$avg\": \"&SPI_RA_WVLIM_STALL_CSN\"},\n \"waveLimit_min\":{\"$min\": \"&SPI_RA_WVLIM_STALL_CSN\"},\n \"waveLimit_max\":{\"$max\": \"&SPI_RA_WVLIM_STALL_CSN\"},\n\n \"vgprsWrites_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n {\"$divide\": [{ \"$multiply\": [4, \"&SPI_VWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"]},\n null\n ]\n }},\n \"vgprsWrites_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n {\"$divide\": [{ \"$multiply\": [4, \"&SPI_VWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"]},\n null\n ]\n }},\n \"vgprsWrites_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n {\"$divide\": [{ \"$multiply\": [4, \"&SPI_VWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"]},\n null\n ]\n }},\n\n \"sgprsWrites_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n { \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"] },\n null\n ]\n }},\n \"sgprsWrites_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n { \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"] },\n null\n ]\n }},\n \"sgprsWrites_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n { \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"] },\n null\n ]\n }},\n \n \n \"sgprsWritesUti_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&GRBM_SPI_BUSY\"] }, 8] },\n null\n ]\n }},\n \"sgprsWritesUti_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&GRBM_SPI_BUSY\"] }, 8] },\n null\n ]\n }},\n \"sgprsWritesUti_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&GRBM_SPI_BUSY\"] }, 8] },\n null\n ]\n }}\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Wave request Failed (CS)\",\n \"Avg\": \"&waveReqFailCS_avg\",\n \"Min\": \"&waveReqFailCS_min\",\n \"Max\": \"&waveReqFailCS_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CS Stall\",\n \"Avg\": \"&csStall_avg\",\n \"Min\": \"&csStall_min\",\n \"Max\": \"&csStall_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CS Stall Rate\",\n \"Avg\": \"&csStallRate_avg\",\n \"Min\": \"&csStallRate_min\",\n \"Max\": \"&csStallRate_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"Scratch Stall\",\n \"Avg\": \"&scratchStall_avg\",\n \"Min\": \"&scratchStall_min\",\n \"Max\": \"&scratchStall_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Insufficient SIMD Waveslots\",\n \"Avg\": \"&simdWaveslots_avg\",\n \"Min\": \"&simdWaveslots_min\",\n \"Max\": \"&simdWaveslots_max\", \n \"Unit\": \"#SIMD\"\n },\n {\n \"Metric\": \"Insufficient SIMD VGPRs\",\n \"Avg\": \"&simdVGPRs_avg\",\n \"Min\": \"&simdVGPRs_min\",\n \"Max\": \"&simdVGPRs_max\", \n \"Unit\": \"#SIMD\"\n },\n {\n \"Metric\": \"Insufficient SIMD SGPRs\",\n \"Avg\": \"&simdSGPRs_avg\",\n \"Min\": \"&simdSGPRs_min\",\n \"Max\": \"&simdSGPRs_max\", \n \"Unit\": \"#SIMD\"\n },\n {\n \"Metric\": \"Insufficient CU LDS\",\n \"Avg\": \"&cuLDS_avg\",\n \"Min\": \"&cuLDS_min\",\n \"Max\": \"&cuLDS_max\", \n \"Unit\": \"#CU\"\n },\n {\n \"Metric\": \"Insufficient CU Barries\",\n \"Avg\": \"&cuBarries_avg\",\n \"Min\": \"&cuBarries_min\",\n \"Max\": \"&cuBarries_max\", \n \"Unit\": \"#CU\"\n },\n {\n \"Metric\": \"Insufficient Bulky Resource\",\n \"Avg\": \"&bulkyResource_avg\",\n \"Min\": \"&bulkyResource_min\",\n \"Max\": \"&bulkyResource_max\", \n \"Unit\": \"#CU\"\n },\n {\n \"Metric\": \"Reach CU Threadgroups Limit\",\n \"Avg\": \"&threadgroupLimit_avg\",\n \"Min\": \"&threadgroupLimit_min\",\n \"Max\": \"&threadgroupLimit_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Reach CU Wave Limit\",\n \"Avg\": \"&waveLimit_avg\",\n \"Min\": \"&waveLimit_min\",\n \"Max\": \"&waveLimit_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"VGPR Writes\",\n \"Avg\": \"&vgprsWrites_avg\",\n \"Min\": \"&vgprsWrites_min\",\n \"Max\": \"&vgprsWrites_max\", \n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"SGPR Writes\",\n \"Avg\": \"&sgprsWrites_avg\",\n \"Min\": \"&sgprsWrites_min\",\n \"Max\": \"&sgprsWrites_max\", \n \"Unit\": \"Cycles/wave\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Shader Processor Input)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"waveReqFailCS_avg\":{\"$avg\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveReqFailCS_min\":{\"$min\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n \"waveReqFailCS_max\":{\"$max\": \"&SPI_RA_REQ_NO_ALLOC_CSN\"},\n\n \"csStall_avg\":{\"$avg\": \"&SPI_RA_RES_STALL_CSN\"},\n \"csStall_min\":{\"$min\": \"&SPI_RA_RES_STALL_CSN\"},\n \"csStall_max\":{\"$max\": \"&SPI_RA_RES_STALL_CSN\"},\n\n \"csStallRate_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&SPI_RA_RES_STALL_CSN\"]}, \"&GRBM_SPI_BUSY\"]},\n null\n ]\n }},\n \"csStallRate_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&SPI_RA_RES_STALL_CSN\"]}, \"&GRBM_SPI_BUSY\"]},\n null\n ]\n }},\n \"csStallRate_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$multiply\": [100, \"&SPI_RA_RES_STALL_CSN\"]}, \"&GRBM_SPI_BUSY\"]},\n null\n ]\n }},\n\n \"scratchStall_avg\":{\"$avg\": \"&SPI_RA_TMP_STALL_CSN\"},\n \"scratchStall_min\":{\"$min\": \"&SPI_RA_TMP_STALL_CSN\"},\n \"scratchStall_max\":{\"$max\": \"&SPI_RA_TMP_STALL_CSN\"},\n\n \"simdWaveslots_avg\":{\"$avg\": \"&SPI_RA_WAVE_SIMD_FULL_CSN\"},\n \"simdWaveslots_min\":{\"$min\": \"&SPI_RA_WAVE_SIMD_FULL_CSN\"},\n \"simdWaveslots_max\":{\"$max\": \"&SPI_RA_WAVE_SIMD_FULL_CSN\"},\n\n \"simdVGPRs_avg\":{\"$avg\": \"&SPI_RA_VGPR_SIMD_FULL_CSN\"},\n \"simdVGPRs_min\":{\"$min\": \"&SPI_RA_VGPR_SIMD_FULL_CSN\"},\n \"simdVGPRs_max\":{\"$max\": \"&SPI_RA_VGPR_SIMD_FULL_CSN\"},\n\n \"simdSGPRs_avg\":{\"$avg\": \"&SPI_RA_SGPR_SIMD_FULL_CSN\"},\n \"simdSGPRs_min\":{\"$min\": \"&SPI_RA_SGPR_SIMD_FULL_CSN\"},\n \"simdSGPRs_max\":{\"$max\": \"&SPI_RA_SGPR_SIMD_FULL_CSN\"},\n\n \"cuLDS_avg\":{\"$avg\": \"&SPI_RA_LDS_CU_FULL_CSN\"},\n \"cuLDS_min\":{\"$min\": \"&SPI_RA_LDS_CU_FULL_CSN\"},\n \"cuLDS_max\":{\"$max\": \"&SPI_RA_LDS_CU_FULL_CSN\"},\n\n \"cuBarries_avg\":{\"$avg\": \"&SPI_RA_BAR_CU_FULL_CSN\"},\n \"cuBarries_min\":{\"$min\": \"&SPI_RA_BAR_CU_FULL_CSN\"},\n \"cuBarries_max\":{\"$max\": \"&SPI_RA_BAR_CU_FULL_CSN\"},\n\n \"bulkyResource_avg\":{\"$avg\": \"&SPI_RA_BULKY_CU_FULL_CSN\"},\n \"bulkyResource_min\":{\"$min\": \"&SPI_RA_BULKY_CU_FULL_CSN\"},\n \"bulkyResource_max\":{\"$max\": \"&SPI_RA_BULKY_CU_FULL_CSN\"},\n\n \"threadgroupLimit_avg\":{\"$avg\": \"&SPI_RA_TGLIM_CU_FULL_CSN\"},\n \"threadgroupLimit_min\":{\"$min\": \"&SPI_RA_TGLIM_CU_FULL_CSN\"},\n \"threadgroupLimit_max\":{\"$max\": \"&SPI_RA_TGLIM_CU_FULL_CSN\"},\n\n \"waveLimit_avg\":{\"$avg\": \"&SPI_RA_WVLIM_STALL_CSN\"},\n \"waveLimit_min\":{\"$min\": \"&SPI_RA_WVLIM_STALL_CSN\"},\n \"waveLimit_max\":{\"$max\": \"&SPI_RA_WVLIM_STALL_CSN\"},\n\n \"vgprsWrites_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n {\"$divide\": [{ \"$multiply\": [4, \"&SPI_VWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"]},\n null\n ]\n }},\n \"vgprsWrites_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n {\"$divide\": [{ \"$multiply\": [4, \"&SPI_VWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"]},\n null\n ]\n }},\n \"vgprsWrites_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n {\"$divide\": [{ \"$multiply\": [4, \"&SPI_VWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"]},\n null\n ]\n }},\n\n \"sgprsWrites_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n { \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"] },\n null\n ]\n }},\n \"sgprsWrites_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n { \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"] },\n null\n ]\n }},\n \"sgprsWrites_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&SPI_CSN_WAVE\", 0]}, \n { \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&SPI_CSN_WAVE\"] },\n null\n ]\n }},\n \n \n \"sgprsWritesUti_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&GRBM_SPI_BUSY\"] }, 8] },\n null\n ]\n }},\n \"sgprsWritesUti_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&GRBM_SPI_BUSY\"] }, 8] },\n null\n ]\n }},\n \"sgprsWritesUti_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&GRBM_SPI_BUSY\", 0]}, \n {\"$divide\": [{ \"$divide\": [{ \"$multiply\": [1, \"&SPI_SWC_CSC_WR\"] }, \"&GRBM_SPI_BUSY\"] }, 8] },\n null\n ]\n }}\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Wave request Failed (CS)\",\n \"Avg\": \"&waveReqFailCS_avg\",\n \"Min\": \"&waveReqFailCS_min\",\n \"Max\": \"&waveReqFailCS_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CS Stall\",\n \"Avg\": \"&csStall_avg\",\n \"Min\": \"&csStall_min\",\n \"Max\": \"&csStall_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"CS Stall Rate\",\n \"Avg\": \"&csStallRate_avg\",\n \"Min\": \"&csStallRate_min\",\n \"Max\": \"&csStallRate_max\", \n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"Scratch Stall\",\n \"Avg\": \"&scratchStall_avg\",\n \"Min\": \"&scratchStall_min\",\n \"Max\": \"&scratchStall_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Insufficient SIMD Waveslots\",\n \"Avg\": \"&simdWaveslots_avg\",\n \"Min\": \"&simdWaveslots_min\",\n \"Max\": \"&simdWaveslots_max\", \n \"Unit\": \"#SIMD\"\n },\n {\n \"Metric\": \"Insufficient SIMD VGPRs\",\n \"Avg\": \"&simdVGPRs_avg\",\n \"Min\": \"&simdVGPRs_min\",\n \"Max\": \"&simdVGPRs_max\", \n \"Unit\": \"#SIMD\"\n },\n {\n \"Metric\": \"Insufficient SIMD SGPRs\",\n \"Avg\": \"&simdSGPRs_avg\",\n \"Min\": \"&simdSGPRs_min\",\n \"Max\": \"&simdSGPRs_max\", \n \"Unit\": \"#SIMD\"\n },\n {\n \"Metric\": \"Insufficient CU LDS\",\n \"Avg\": \"&cuLDS_avg\",\n \"Min\": \"&cuLDS_min\",\n \"Max\": \"&cuLDS_max\", \n \"Unit\": \"#CU\"\n },\n {\n \"Metric\": \"Insufficient CU Barries\",\n \"Avg\": \"&cuBarries_avg\",\n \"Min\": \"&cuBarries_min\",\n \"Max\": \"&cuBarries_max\", \n \"Unit\": \"#CU\"\n },\n {\n \"Metric\": \"Insufficient Bulky Resource\",\n \"Avg\": \"&bulkyResource_avg\",\n \"Min\": \"&bulkyResource_min\",\n \"Max\": \"&bulkyResource_max\", \n \"Unit\": \"#CU\"\n },\n {\n \"Metric\": \"Reach CU Threadgroups Limit\",\n \"Avg\": \"&threadgroupLimit_avg\",\n \"Min\": \"&threadgroupLimit_min\",\n \"Max\": \"&threadgroupLimit_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"Reach CU Wave Limit\",\n \"Avg\": \"&waveLimit_avg\",\n \"Min\": \"&waveLimit_min\",\n \"Max\": \"&waveLimit_max\", \n \"Unit\": \"Cycles\"\n },\n {\n \"Metric\": \"VGPR Writes\",\n \"Avg\": \"&vgprsWrites_avg\",\n \"Min\": \"&vgprsWrites_min\",\n \"Max\": \"&vgprsWrites_max\", \n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"SGPR Writes\",\n \"Avg\": \"&sgprsWrites_avg\",\n \"Min\": \"&sgprsWrites_min\",\n \"Max\": \"&sgprsWrites_max\", \n \"Unit\": \"Cycles/wave\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "SPI Resource Allocation", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Avg 1": 3, + "Avg 2": 4, + "Max 1": 7, + "Max 2": 8, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Unit 1": 9, + "Unit 2": 2 + }, + "renameByName": { + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Shader Processor Input (SPI)", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 7 + }, + "id": 185, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 169 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 142 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 196 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 174 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max" + }, + "properties": [ + { + "id": "custom.width", + "value": 168 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min" + }, + "properties": [ + { + "id": "custom.width", + "value": 272 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg" + }, + "properties": [ + { + "id": "custom.width", + "value": 225 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 103 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 115 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 117 + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 64 + }, + "id": 10, + "interval": "12h", + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"gridSize_avg\":{\"$avg\": \"&grd\"},\n \"gridSize_min\":{\"$min\": \"&grd\"},\n \"gridSize_max\":{\"$max\": \"&grd\"},\n\n \"workSize_avg\":{\"$avg\": \"&wgr\"},\n \"workSize_min\":{\"$min\": \"&wgr\"},\n \"workSize_max\":{\"$max\": \"&wgr\"},\n\n \"totWavefront_avg\":{\"$avg\": \"&SPI_CSN_WAVE\"},\n \"totWavefront_min\":{\"$min\": \"&SPI_CSN_WAVE\"},\n \"totWavefront_max\":{\"$max\": \"&SPI_CSN_WAVE\"},\n\n \"savedWavefront_avg\":{\"$avg\": \"&SQ_WAVES_SAVED\"},\n \"savedWavefront_min\":{\"$min\": \"&SQ_WAVES_SAVED\"},\n \"savedWavefront_max\":{\"$max\": \"&SQ_WAVES_SAVED\"},\n\n \"restoredWavefront_avg\":{\"$avg\": \"&SQ_WAVES_RESTORED\"},\n \"restoredWavefront_min\":{\"$min\": \"&SQ_WAVES_RESTORED\"},\n \"restoredWavefront_max\":{\"$max\": \"&SQ_WAVES_RESTORED\"},\n\n \"vgprs_avg\":{\"$avg\": \"&vgpr\"},\n \"vgprs_min\":{\"$min\": \"&vgpr\"},\n \"vgprs_max\":{\"$max\": \"&vgpr\"},\n\n \"sgprs_avg\":{\"$avg\": \"&sgpr\"},\n \"sgprs_min\":{\"$min\": \"&sgpr\"},\n \"sgprs_max\":{\"$max\": \"&sgpr\"},\n\n \"ldsAlloc_avg\":{\"$avg\": \"&lds\"},\n \"ldsAlloc_min\":{\"$min\": \"&lds\"},\n \"ldsAlloc_max\":{\"$max\": \"&lds\"},\n\n \"scratchAlloc_avg\":{\"$avg\": \"&scr\"},\n \"scratchAlloc_min\":{\"$min\": \"&scr\"},\n \"scratchAlloc_max\":{\"$max\": \"&scr\"}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Grid Size\",\n \"Avg\": \"&gridSize_avg\",\n \"Min\": \"&gridSize_min\",\n \"Max\": \"&gridSize_max\",\n \"Unit\": \"Work Items\"\n },\n {\n \"Metric\": \"Workgroup Size\",\n \"Avg\": \"&workSize_avg\",\n \"Min\": \"&workSize_min\",\n \"Max\": \"&workSize_max\",\n \"Unit\": \"Work Items\"\n },\n {\n \"Metric\": \"Total Wavefronts\",\n \"Avg\": \"&totWavefront_avg\",\n \"Min\": \"&totWavefront_min\",\n \"Max\": \"&totWavefront_max\",\n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"Saved Wavefronts\",\n \"Avg\": \"&savedWavefront_avg\",\n \"Min\": \"&savedWavefront_min\",\n \"Max\": \"&savedWavefront_max\",\n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"Restored Wavefronts\",\n \"Avg\": \"&restoredWavefront_avg\",\n \"Min\": \"&restoredWavefront_min\",\n \"Max\": \"&restoredWavefront_max\",\n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"VGPRs\",\n \"Avg\": \"&vgprs_avg\",\n \"Min\": \"&vgprs_min\",\n \"Max\": \"&vgprs_max\",\n \"Unit\": \"Registers\"\n },\n {\n \"Metric\": \"SGPRs\",\n \"Avg\": \"&sgprs_avg\",\n \"Min\": \"&sgprs_min\",\n \"Max\": \"&sgprs_max\",\n \"Unit\":\"Registers\"\n },\n {\n \"Metric\": \"LDS Allocation\",\n \"Avg\": \"&ldsAlloc_avg\",\n \"Min\": \"&ldsAlloc_min\",\n \"Max\": \"&ldsAlloc_max\",\n \"Unit\": \"Bytes\"\n },\n {\n \"Metric\": \"Scratch Allocation\",\n \"Avg\": \"&scratchAlloc_avg\",\n \"Min\": \"&scratchAlloc_min\",\n \"Max\": \"&scratchAlloc_max\",\n \"Unit\": \"Bytes\"\n }\n \n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Wavefront)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"gridSize_avg\":{\"$avg\": \"&grd\"},\n \"gridSize_min\":{\"$min\": \"&grd\"},\n \"gridSize_max\":{\"$max\": \"&grd\"},\n\n \"workSize_avg\":{\"$avg\": \"&wgr\"},\n \"workSize_min\":{\"$min\": \"&wgr\"},\n \"workSize_max\":{\"$max\": \"&wgr\"},\n\n\n \"totWavefront_avg\":{\"$avg\": \"&SPI_CSN_WAVE\"},\n \"totWavefront_min\":{\"$min\": \"&SPI_CSN_WAVE\"},\n \"totWavefront_max\":{\"$max\": \"&SPI_CSN_WAVE\"},\n\n \"savedWavefront_avg\":{\"$avg\": \"&SQ_WAVES_SAVED\"},\n \"savedWavefront_min\":{\"$min\": \"&SQ_WAVES_SAVED\"},\n \"savedWavefront_max\":{\"$max\": \"&SQ_WAVES_SAVED\"},\n\n \"restoredWavefront_avg\":{\"$avg\": \"&SQ_WAVES_RESTORED\"},\n \"restoredWavefront_min\":{\"$min\": \"&SQ_WAVES_RESTORED\"},\n \"restoredWavefront_max\":{\"$max\": \"&SQ_WAVES_RESTORED\"},\n\n\n \"vgprs_avg\":{\"$avg\": \"&vgpr\"},\n \"vgprs_min\":{\"$min\": \"&vgpr\"},\n \"vgprs_max\":{\"$max\": \"&vgpr\"},\n\n \"sgprs_avg\":{\"$avg\": \"&sgpr\"},\n \"sgprs_min\":{\"$min\": \"&sgpr\"},\n \"sgprs_max\":{\"$max\": \"&sgpr\"},\n\n \"ldsAlloc_avg\":{\"$avg\": \"&lds\"},\n \"ldsAlloc_min\":{\"$min\": \"&lds\"},\n \"ldsAlloc_max\":{\"$max\": \"&lds\"},\n\n \"scratchAlloc_avg\":{\"$avg\": \"&scr\"},\n \"scratchAlloc_min\":{\"$min\": \"&scr\"},\n \"scratchAlloc_max\":{\"$max\": \"&scr\"}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Grid Size\",\n \"Avg\": \"&gridSize_avg\",\n \"Min\": \"&gridSize_min\",\n \"Max\": \"&gridSize_max\",\n \"Unit\": \"Work Items\"\n },\n {\n \"Metric\": \"Workgroup Size\",\n \"Avg\": \"&workSize_avg\",\n \"Min\": \"&workSize_min\",\n \"Max\": \"&workSize_max\",\n \"Unit\": \"Work Items\"\n },\n {\n \"Metric\": \"Total Wavefronts\",\n \"Avg\": \"&totWavefront_avg\",\n \"Min\": \"&totWavefront_min\",\n \"Max\": \"&totWavefront_max\",\n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"Saved Wavefronts\",\n \"Avg\": \"&savedWavefront_avg\",\n \"Min\": \"&savedWavefront_min\",\n \"Max\": \"&savedWavefront_max\",\n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"Restored Wavefronts\",\n \"Avg\": \"&restoredWavefront_avg\",\n \"Min\": \"&restoredWavefront_min\",\n \"Max\": \"&restoredWavefront_max\",\n \"Unit\": \"Wavefronts\"\n },\n {\n \"Metric\": \"VGPRs\",\n \"Avg\": \"&vgprs_avg\",\n \"Min\": \"&vgprs_min\",\n \"Max\": \"&vgprs_max\",\n \"Unit\": \"Registers\"\n },\n {\n \"Metric\": \"SGPRs\",\n \"Avg\": \"&sgprs_avg\",\n \"Min\": \"&sgprs_min\",\n \"Max\": \"&sgprs_max\",\n \"Unit\":\"Registers\"\n },\n {\n \"Metric\": \"LDS Allocation\",\n \"Avg\": \"&ldsAlloc_avg\",\n \"Min\": \"&ldsAlloc_min\",\n \"Max\": \"&ldsAlloc_max\",\n \"Unit\": \"Bytes\"\n },\n {\n \"Metric\": \"Scratch Allocation\",\n \"Avg\": \"&scratchAlloc_avg\",\n \"Min\": \"&scratchAlloc_min\",\n \"Max\": \"&scratchAlloc_max\",\n \"Unit\": \"Bytes\"\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Wavefront Launch Stats", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true, + "Units 2": true, + "metric 2": true + }, + "indexByName": { + "Avg 1": 1, + "Avg 2": 2, + "Max 1": 5, + "Max 2": 6, + "Metric 1": 0, + "Metric 2": 7, + "Min 1": 3, + "Min 2": 4, + "Unit 1": 9, + "Unit 2": 8 + }, + "renameByName": { + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 148 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 122 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 106 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg" + }, + "properties": [ + { + "id": "custom.width", + "value": 223 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 169 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 165 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 133 + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 64 + }, + "id": 34, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"instrWavefront_avg\":{\"$avg\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_WAVES\" ] }},\n \"instrWavefront_min\":{\"$min\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_WAVES\" ] }},\n \"instrWavefront_max\":{\"$max\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_WAVES\" ] }},\n\n \"waveCycles_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ]}},\n \"waveCycles_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ]}},\n \"waveCycles_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ]}},\n\n \"depWaitingCycles_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"depWaitingCycles_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"depWaitingCycles_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_ANY\"] }, \"&SQ_WAVES\" ]}},\n\n \"issueWaitCycles_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"issueWaitCycles_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"issueWaitCycles_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n\n \"activeCycles_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_ACTIVE_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"activeCycles_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_ACTIVE_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"activeCycles_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_ACTIVE_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n\n \"kernelTime_avg\":{\"$avg\": {\"$subtract\": [ \"&EndNs\", \"&BeginNs\" ]}},\n \"kernelTime_min\":{\"$min\": {\"$subtract\": [ \"&EndNs\", \"&BeginNs\" ]}},\n \"kernelTime_max\":{\"$max\": {\"$subtract\": [ \"&EndNs\", \"&BeginNs\" ]}},\n\n \"kernelCycle_avg\":{\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"kernelCycle_min\":{\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"kernelCycle_max\":{\"$max\": \"&GRBM_GUI_ACTIVE\"}\n\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Kernel Time (Nanosec)\",\n \"Avg\": \"&kernelTime_avg\",\n \"Min\": \"&kernelTime_min\",\n \"Max\": \"&kernelTime_max\",\n \"Unit\":\"ns\"\n },\n {\n \"Metric\": \"Kernel Time (Cycles)\",\n \"Avg\": \"&kernelCycle_avg\",\n \"Min\": \"&kernelCycle_min\",\n \"Max\": \"&kernelCycle_max\",\n \"Unit\":\"Cycle\"\n },\n\n {\n \"Metric\": \"Instr/wavefront\",\n \"Avg\": \"&instrWavefront_avg\",\n \"Min\": \"&instrWavefront_min\",\n \"Max\": \"&instrWavefront_max\",\n \"Unit\": \"Instr/wavefront\"\n },\n {\n \"Metric\": \"Wave Cycles\",\n \"Avg\": \"&waveCycles_avg\",\n \"Min\": \"&waveCycles_min\",\n \"Max\": \"&waveCycles_max\",\n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"Dependency Wait Cycles\",\n \"Avg\": \"&depWaitingCycles_avg\",\n \"Min\": \"&depWaitingCycles_min\",\n \"Max\": \"&depWaitingCycles_max\",\n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"Issue Wait Cycles\",\n \"Avg\": \"&issueWaitCycles_avg\",\n \"Min\": \"&issueWaitCycles_min\",\n \"Max\": \"&issueWaitCycles_max\",\n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"Active Cycles\",\n \"Avg\": \"&activeCycles_avg\",\n \"Min\": \"&activeCycles_min\",\n \"Max\": \"&activeCycles_max\",\n \"Unit\": \"Cycles/wave\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_LEVEL_WAVES\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n {\"$group\": {\n \"_id\": null,\n \"occAvg\": {\"$avg\": { \"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\" ] } },\n \"occMin\": {\"$min\": { \"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\" ] } },\n \"occMax\": {\"$max\": { \"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\" ] } }\n }},\n {\"$project\": {\n \"_id\":0,\n \"Metric\": \"Wavefront Occupancy\",\n \"Avg\": \"&occAvg\",\n \"Min\":\"&occMin\",\n \"Max\":\"&occMax\",\n \"Unit\":\"Wavefronts\"\n }}\n ]\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Wavefront)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"instrWavefront_avg\":{\"$avg\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_WAVES\" ] }},\n \"instrWavefront_min\":{\"$min\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_WAVES\" ] }},\n \"instrWavefront_max\":{\"$max\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_WAVES\" ] }},\n\n \"waveCycles_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ]}},\n \"waveCycles_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ]}},\n \"waveCycles_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ]}},\n\n \"depWaitingCycles_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"depWaitingCycles_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"depWaitingCycles_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_ANY\"] }, \"&SQ_WAVES\" ]}},\n\n \"issueWaitCycles_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"issueWaitCycles_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"issueWaitCycles_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_WAIT_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n\n \"activeCycles_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_ACTIVE_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"activeCycles_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_ACTIVE_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n \"activeCycles_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [4, \"&SQ_ACTIVE_INST_ANY\"] }, \"&SQ_WAVES\" ]}},\n\n \"kernelTime_avg\":{\"$avg\": {\"$subtract\": [ \"&EndNs\", \"&BeginNs\" ]}},\n \"kernelTime_min\":{\"$min\": {\"$subtract\": [ \"&EndNs\", \"&BeginNs\" ]}},\n \"kernelTime_max\":{\"$max\": {\"$subtract\": [ \"&EndNs\", \"&BeginNs\" ]}},\n\n \"kernelCycle_avg\":{\"$avg\": \"&GRBM_GUI_ACTIVE\"},\n \"kernelCycle_min\":{\"$min\": \"&GRBM_GUI_ACTIVE\"},\n \"kernelCycle_max\":{\"$max\": \"&GRBM_GUI_ACTIVE\"}\n\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Kernel Time (Nanosec)\",\n \"Avg\": \"&kernelTime_avg\",\n \"Min\": \"&kernelTime_min\",\n \"Max\": \"&kernelTime_max\",\n \"Unit\":\"ns\"\n },\n {\n \"Metric\": \"Kernel Time (Cycles)\",\n \"Avg\": \"&kernelCycle_avg\",\n \"Min\": \"&kernelCycle_min\",\n \"Max\": \"&kernelCycle_max\",\n \"Unit\":\"Cycle\"\n },\n\n {\n \"Metric\": \"Instr/wavefront\",\n \"Avg\": \"&instrWavefront_avg\",\n \"Min\": \"&instrWavefront_min\",\n \"Max\": \"&instrWavefront_max\",\n \"Unit\": \"Instr/wavefront\"\n },\n {\n \"Metric\": \"Wave Cycles\",\n \"Avg\": \"&waveCycles_avg\",\n \"Min\": \"&waveCycles_min\",\n \"Max\": \"&waveCycles_max\",\n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"Dependency Wait Cycles\",\n \"Avg\": \"&depWaitingCycles_avg\",\n \"Min\": \"&depWaitingCycles_min\",\n \"Max\": \"&depWaitingCycles_max\",\n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"Issue Wait Cycles\",\n \"Avg\": \"&issueWaitCycles_avg\",\n \"Min\": \"&issueWaitCycles_min\",\n \"Max\": \"&issueWaitCycles_max\",\n \"Unit\": \"Cycles/wave\"\n },\n {\n \"Metric\": \"Active Cycles\",\n \"Avg\": \"&activeCycles_avg\",\n \"Min\": \"&activeCycles_min\",\n \"Max\": \"&activeCycles_max\",\n \"Unit\": \"Cycles/wave\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_LEVEL_WAVES\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Wavefront)\"}}\n }},\n\n {\"$group\": {\n \"_id\": null,\n \"occAvg\": {\"$avg\": { \"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\" ] } },\n \"occMin\": {\"$min\": { \"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\" ] } },\n \"occMax\": {\"$max\": { \"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&GRBM_GUI_ACTIVE\" ] } }\n }},\n {\"$project\": {\n \"_id\":0,\n \"Metric\": \"Wavefront Occupancy\",\n \"Avg\": \"&occAvg\",\n \"Min\":\"&occMin\",\n \"Max\":\"&occMax\",\n \"Unit\":\"Wavefronts\"\n }}\n ]\n }}\n ]);", + "type": "table" + } + ], + "title": "Wavefront Runtime Stats", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Avg 1": 3, + "Avg 2": 4, + "Max 1": 7, + "Max 2": 8, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Unit 1": 9, + "Unit 2": 2 + }, + "renameByName": { + "Avg": "", + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)", + "Unit 1": "", + "Unit 2": "" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Wavefront", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 209, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 17, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 12, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": true + }, + "showUnfilled": true, + "text": { + "valueSize": 16 + } + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"valu\": {\n \"$avg\": { \"$divide\": [ { \"$subtract\": [\"&SQ_INSTS_VALU\", \"&SQ_INSTS_MFMA\"]}, \"&denom\" ] }\n },\n \"mfma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_MFMA\", \"&denom\" ] }\n },\n \"vmem\": {\n \"$avg\": { \"$divide\": [ { \"$subtract\": [\"&SQ_INSTS_VMEM\", \"&SQ_INSTS_FLAT_LDS_ONLY\"]}, \"&denom\" ] }\n },\n \"lds\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_LDS\", \"&denom\" ] }\n },\n \"salu\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_SALU\", \"&denom\" ] }\n },\n \"smem\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_SMEM\", \"&denom\" ] }\n },\n \"branch\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_BRANCH\", \"&denom\" ] }\n },\n \"gds\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_GDS\", \"&denom\" ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"VALU - Vector\",\n \"count\": \"&valu\"\n },\n {\n \"metric\": \"VMEM\",\n \"count\": \"&vmem\"\n },\n {\n \"metric\": \"LDS\",\n \"count\": \"&lds\"\n },\n {\n \"metric\": \"VALU - MFMA\",\n \"count\": \"&mfma\"\n },\n {\n \"metric\": \"SALU\",\n \"count\": \"&salu\"\n },\n {\n \"metric\": \"SMEM\",\n \"count\": \"&smem\"\n },\n {\n \"metric\": \"Branch\",\n \"count\": \"&branch\"\n },\n {\n \"metric\": \"GDS\",\n \"count\": \"&gds\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "$Workload2.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Instruction Mix)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n \n {\"$group\": {\n \"_id\": null,\n \"valu\": {\n \"$avg\": { \"$divide\": [ { \"$subtract\": [\"&SQ_INSTS_VALU\", \"&SQ_INSTS_MFMA\"]}, \"&denom\" ] }\n },\n \"mfma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_MFMA\", \"&denom\" ] }\n },\n \"vmem\": {\n \"$avg\": { \"$divide\": [ { \"$subtract\": [\"&SQ_INSTS_VMEM\", \"&SQ_INSTS_FLAT_LDS_ONLY\"]}, \"&denom\" ] }\n },\n \"lds\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_LDS\", \"&denom\" ] }\n },\n \"salu\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_SALU\", \"&denom\" ] }\n },\n \"smem\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_SMEM\", \"&denom\" ] }\n },\n \"branch\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_BRANCH\", \"&denom\" ] }\n },\n \"gds\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_GDS\", \"&denom\" ] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"VALU - Vector (Baseline)\",\n \"count\": \"&valu\"\n },\n {\n \"metric\": \"VMEM (Baseline)\",\n \"count\": \"&vmem\"\n },\n {\n \"metric\": \"LDS (Baseline)\",\n \"count\": \"&lds\"\n },\n {\n \"metric\": \"VALU - MFMA (Baseline)\",\n \"count\": \"&mfma\"\n },\n {\n \"metric\": \"SALU (Baseline)\",\n \"count\": \"&salu\"\n },\n {\n \"metric\": \"SMEM (Baseline)\",\n \"count\": \"&smem\"\n },\n {\n \"metric\": \"Branch (Baseline)\",\n \"count\": \"&branch\"\n },\n {\n \"metric\": \"GDS (Baseline)\",\n \"count\": \"&gds\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + } + ], + "title": "Instruction Mix", + "transformations": [ + { + "id": "merge", + "options": {} + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "field": "metric" + } + ] + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 24, + "w": 12, + "x": 12, + "y": 9 + }, + "id": 24, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^count$/", + "limit": 100, + "values": true + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n \"count_int_i32\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_INT32\", \"&denom\" ] }\n },\n \"count_int_i64\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_INT64\", \"&denom\" ] }\n },\n \"count_f16_add\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_ADD_F16\", \"&denom\" ] }\n },\n \"count_f16_MUL\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MUL_F16\", \"&denom\" ] }\n },\n \"count_f16_fma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_FMA_F16\", \"&denom\" ] }\n },\n \"count_f16_trans\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_TRANS_F16\", \"&denom\" ] }\n },\n \"count_f32_add\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_ADD_F32\", \"&denom\" ] }\n },\n \"count_f32_MUL\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MUL_F32\", \"&denom\" ] }\n },\n \"count_f32_fma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_FMA_F32\", \"&denom\" ] }\n },\n \"count_f32_trans\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_TRANS_F32\", \"&denom\" ] }\n },\n \"count_f64_add\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_ADD_F64\", \"&denom\" ] }\n },\n \"count_f64_MUL\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MUL_F64\", \"&denom\" ] }\n },\n \"count_f64_fma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_FMA_F64\", \"&denom\" ] }\n },\n \"count_f64_trans\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_TRANS_F64\", \"&denom\" ] }\n },\n \"conversion\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_CVT\", \"&denom\" ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"INT32\",\n \"count\": \"&count_int_i32\"\n },\n {\n \"metric\": \"INT64\",\n \"count\": \"&count_int_i64\"\n },\n {\n \"metric\": \"F16-ADD\",\n \"count\": \"&count_f16_add\"\n },\n {\n \"metric\": \"F16-MUL\",\n \"count\": \"&count_f16_MUL\"\n },\n {\n \"metric\": \"F16-FMA\",\n \"count\": \"&count_f16_fma\"\n },\n {\n \"metric\": \"F16-Trans\",\n \"count\": \"&count_f16_trans\"\n },\n {\n \"metric\": \"F32-ADD\",\n \"count\": \"&count_f32_add\"\n },\n {\n \"metric\": \"F32-MUL\",\n \"count\": \"&count_f32_MUL\"\n },\n {\n \"metric\": \"F32-FMA\",\n \"count\": \"&count_f32_fma\"\n },\n {\n \"metric\": \"F32-Trans\",\n \"count\": \"&count_f32_trans\"\n },\n {\n \"metric\": \"F64-ADD\",\n \"count\": \"&count_f64_add\"\n },\n {\n \"metric\": \"F64-MUL\",\n \"count\": \"&count_f64_MUL\"\n },\n {\n \"metric\": \"F64-FMA\",\n \"count\": \"&count_f64_fma\"\n },\n {\n \"metric\": \"F64-Trans\",\n \"count\": \"&count_f64_trans\"\n },\n {\n \"metric\": \"Conversion\",\n \"count\": \"&conversion\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Instruction Mix)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n \"count_int_i32\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_INT32\", \"&denom\" ] }\n },\n \"count_int_i64\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_INT64\", \"&denom\" ] }\n },\n \"count_f16_add\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_ADD_F16\", \"&denom\" ] }\n },\n \"count_f16_MUL\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MUL_F16\", \"&denom\" ] }\n },\n \"count_f16_fma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_FMA_F16\", \"&denom\" ] }\n },\n \"count_f16_trans\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_TRANS_F16\", \"&denom\" ] }\n },\n \"count_f32_add\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_ADD_F32\", \"&denom\" ] }\n },\n \"count_f32_MUL\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MUL_F32\", \"&denom\" ] }\n },\n \"count_f32_fma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_FMA_F32\", \"&denom\" ] }\n },\n \"count_f32_trans\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_TRANS_F32\", \"&denom\" ] }\n },\n \"count_f64_add\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_ADD_F64\", \"&denom\" ] }\n },\n \"count_f64_MUL\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MUL_F64\", \"&denom\" ] }\n },\n \"count_f64_fma\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_FMA_F64\", \"&denom\" ] }\n },\n \"count_f64_trans\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_TRANS_F64\", \"&denom\" ] }\n },\n \"conversion\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_CVT\", \"&denom\" ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"INT32 (Baseline)\",\n \"count\": \"&count_int_i32\"\n },\n {\n \"metric\": \"INT64 (Baseline)\",\n \"count\": \"&count_int_i64\"\n },\n {\n \"metric\": \"F16-ADD (Baseline)\",\n \"count\": \"&count_f16_add\"\n },\n {\n \"metric\": \"F16-MUL (Baseline)\",\n \"count\": \"&count_f16_MUL\"\n },\n {\n \"metric\": \"F16-FMA (Baseline)\",\n \"count\": \"&count_f16_fma\"\n },\n {\n \"metric\": \"F16-Trans (Baseline)\",\n \"count\": \"&count_f16_trans\"\n },\n {\n \"metric\": \"F32-ADD (Baseline)\",\n \"count\": \"&count_f32_add\"\n },\n {\n \"metric\": \"F32-MUL (Baseline)\",\n \"count\": \"&count_f32_MUL\"\n },\n {\n \"metric\": \"F32-FMA (Baseline)\",\n \"count\": \"&count_f32_fma\"\n },\n {\n \"metric\": \"F32-Trans (Baseline)\",\n \"count\": \"&count_f32_trans\"\n },\n {\n \"metric\": \"F64-ADD (Baseline)\",\n \"count\": \"&count_f64_add\"\n },\n {\n \"metric\": \"F64-MUL (Baseline)\",\n \"count\": \"&count_f64_MUL\"\n },\n {\n \"metric\": \"F64-FMA (Baseline)\",\n \"count\": \"&count_f64_fma\"\n },\n {\n \"metric\": \"F64-Trans (Baseline)\",\n \"count\": \"&count_f64_trans\"\n },\n {\n \"metric\": \"Conversion (Baseline)\",\n \"count\": \"&conversion\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + } + ], + "title": "VALU Arithmetic Instr Mix", + "transformations": [ + { + "id": "merge", + "options": {} + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "field": "metric" + } + ] + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 26 + }, + "id": 275, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n \"buffer_instr\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"buffer_read\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"buffer_write\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"buffer_atomic\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \n \"flat_instr\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"flat_read\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"flat_write\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"flat_atomic\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\" ] }\n }\n \n }},\n {\"$set\": {\n \"array\": [\n {\n \"type\": \"Buffer Instr\",\n \"count\": \"&buffer_instr\"\n },\n {\n \"type\": \"Buffer Read\",\n \"count\": \"&buffer_read\"\n },\n {\n \"type\": \"Buffer Write\",\n \"count\": \"&buffer_write\"\n },\n {\n \"type\": \"Buffer Atomic\",\n \"count\": \"&buffer_atomic\"\n },\n {\n \"type\": \"Flat Instr\",\n \"count\": \"&flat_instr\"\n },\n {\n \"type\": \"Flat Read\",\n \"count\": \"&flat_read\"\n },\n {\n \"type\": \"Flat Write\",\n \"count\": \"&flat_write\"\n },\n {\n \"type\": \"Flat Atomic\",\n \"count\": \"&flat_atomic\"\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Instruction Mix)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n \"buffer_instr\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"buffer_read\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"buffer_write\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"buffer_atomic\": {\n \"$avg\": { \"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n\n \"flat_instr\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"flat_read\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"flat_write\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\" ] }\n },\n \"flat_atomic\": {\n \"$avg\": { \"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\" ] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"type\": \"Buffer Instr (Baseline)\",\n \"count\": \"&buffer_instr\"\n },\n {\n \"type\": \"Buffer Read (Baseline)\",\n \"count\": \"&buffer_read\"\n },\n {\n \"type\": \"Buffer Write (Baseline)\",\n \"count\": \"&buffer_write\"\n },\n {\n \"type\": \"Buffer Atomic (Baseline)\",\n \"count\": \"&buffer_atomic\"\n },\n {\n \"type\": \"Flat Instr (Baseline)\",\n \"count\": \"&flat_instr\"\n },\n {\n \"type\": \"Flat Read (Baseline)\",\n \"count\": \"&flat_read\"\n },\n {\n \"type\": \"Flat Write (Baseline)\",\n \"count\": \"&flat_write\"\n },\n {\n \"type\": \"Flat Atomic (Baseline)\",\n \"count\": \"&flat_atomic\"\n }\n\n ]\n }},\n\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + } + ], + "title": "VMEM Instr Mix", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "type 2": true + }, + "indexByName": {}, + "renameByName": { + "count": "Count", + "count 1": "Avg (Current)", + "count 2": "Avg (Baseline)", + "type": "VMEM Instr", + "type 1": "VMEM Instr" + } + } + } + ], + "transparent": true, + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 33 + }, + "id": 16, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"mmfa_i8\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_I8\", \"&SQ_WAVES\" ] }\n },\n \"mmfa_f16\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_F16\", \"&SQ_WAVES\" ] }\n },\n \"mmfa_bf16\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_BF16\", \"&SQ_WAVES\" ] }\n },\n \"mfma_f32\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_F32\", \"&SQ_WAVES\" ] }\n },\n \"mfma_f64\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_F64\", \"&SQ_WAVES\" ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"type\": \"MFMA-I8\",\n \"count\": \"&mmfa_i8\"\n },\n {\n \"type\": \"MFMA-F16\",\n \"count\": \"&mmfa_f16\"\n },\n {\n \"type\": \"MFMA-BF16\",\n \"count\": \"&mmfa_bf16\"\n },\n {\n \"type\": \"MFMA-F32\",\n \"count\": \"&mfma_f32\"\n },\n {\n \"type\": \"MFMA-F64\",\n \"count\": \"&mfma_f64\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Instruction Mix)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"mmfa_i8\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_I8\", \"&SQ_WAVES\" ] }\n },\n \"mmfa_f16\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_F16\", \"&SQ_WAVES\" ] }\n },\n \"mmfa_bf16\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_BF16\", \"&SQ_WAVES\" ] }\n },\n \"mfma_f32\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_F32\", \"&SQ_WAVES\" ] }\n },\n \"mfma_f64\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS_VALU_MFMA_F64\", \"&SQ_WAVES\" ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"type\": \"MFMA-I8 (Baseline)\",\n \"count\": \"&mmfa_i8\"\n },\n {\n \"type\": \"MFMA-F16 (Baseline)\",\n \"count\": \"&mmfa_f16\"\n },\n {\n \"type\": \"MFMA-BF16 (Baseline)\",\n \"count\": \"&mmfa_bf16\"\n },\n {\n \"type\": \"MFMA-F32 (Baseline)\",\n \"count\": \"&mfma_f32\"\n },\n {\n \"type\": \"MFMA-F64 (Baseline)\",\n \"count\": \"&mfma_f64\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + } + ], + "title": "MFMA Arithmetic Instr Mix", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "type 2": true + }, + "indexByName": {}, + "renameByName": { + "count": "Count", + "count 1": "Avg (Current)", + "count 2": "Avg (Baseline)", + "type": "MFMA Instr", + "type 1": "MFMA Instr" + } + } + } + ], + "transparent": true, + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Compute Unit - Instruction Mix", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 8, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 10 + }, + "id": 211, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "/.*/", + "values": true + }, + "showUnfilled": true, + "text": { + "titleSize": 14, + "valueSize": 14 + } + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"valu_flops_val\": {\n \"$avg\": { \"$divide\": [ { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }] }] }\n ]}\n ,{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }]\n }},\n\n \"mfma_flops_f16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_bf16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f32_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f64_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_i8_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } }\n\n }}, \n {\"$set\": {\n \"array\": [\n {\n \"valu_flops_pop\": {\"$divide\": [{ \"$multiply\": [100, \"&valu_flops_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 64, 2 ]}, 1000] }] },\n \"mfma_flops_bf16_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_bf16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 512 ]}, 1000] }]},\n \"mfma_flops_f16_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 1024 ]}, 1000] }]},\n \"mfma_flops_f32_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f32_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 256 ]}, 1000] }]},\n \"mfma_flops_f64_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f64_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 256 ]}, 1000] }]},\n \"mfma_flops_i8_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_i8_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk, $numCU, 1024 ]}, 1000] }]}\n }\n ]\n }},\n\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n \n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Compute Pipeline)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"valu_flops_val\": {\n \"$avg\": { \"$divide\": [ { \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F16\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F32\"] }] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", { \"$multiply\": [2, \"&SQ_INSTS_VALU_FMA_F64\"] }] }] }\n ]}\n ,{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }]\n }},\n\n \"mfma_flops_f16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_bf16_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_BF16\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f32_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F32\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_f64_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_F64\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n \"mfma_flops_i8_val\": { \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] } },\n\n \"instr_val\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS\", { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }] }\n }\n\n }}, \n {\"$set\": {\n \"array\": [\n {\n \"valu_flops_pop\": {\"$divide\": [{ \"$multiply\": [100, \"&valu_flops_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 64, 2 ]}, 1000] }] },\n \"mfma_flops_bf16_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_bf16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 512 ]}, 1000] }]},\n \"mfma_flops_f16_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f16_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 1024 ]}, 1000] }]},\n \"mfma_flops_f32_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f32_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 256 ]}, 1000] }]},\n \"mfma_flops_f64_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_f64_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 256 ]}, 1000] }]},\n \"mfma_flops_i8_pop\": { \"$divide\": [{ \"$multiply\": [100, \"&mfma_flops_i8_val\"] }, { \"$divide\": [{ \"$multiply\": [$sclk2, $numCU2, 1024 ]}, 1000] }]}\n }\n ]\n }},\n\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n \n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n]);", + "type": "table" + } + ], + "title": "Speed-of-Light: Compute Pipeline", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "mfma_flops_bf16_pop 1": 4, + "mfma_flops_bf16_pop 2": 5, + "mfma_flops_f16_pop 1": 6, + "mfma_flops_f16_pop 2": 7, + "mfma_flops_f32_pop 1": 8, + "mfma_flops_f32_pop 2": 9, + "mfma_flops_f64_pop 1": 10, + "mfma_flops_f64_pop 2": 11, + "mfma_flops_i8_pop 1": 12, + "mfma_flops_i8_pop 2": 13, + "valu_flops_pop 1": 0, + "valu_flops_pop 2": 1, + "valu_iops_pop 1": 2, + "valu_iops_pop 2": 3 + }, + "renameByName": { + "BW (Pct-of-Peak) 1": "BW Pct-of-Peak (Current)", + "BW (Pct-of-Peak) 2": "BW Pct-of-Peak (Baseline)", + "Bandwith (Pct-of-Peak)": "", + "Bandwith (Pct-of-Peak) 1": "BW Pct-of-Peak (Current)", + "Bandwith (Pct-of-Peak) 2": "BW Pct-of-Peak (Baseline) ", + "Bank Conflict Rate 1": "Bank Conflict Rate (Current)", + "Bank Conflict Rate 2": "Bank Conflict Rate (Baseline)", + "Cache Hit 1": "Cache Hit (Current)", + "Cache Hit 2": "Cache Hit (Baseline)", + "Latency (Cycles) 1": "Latency (Current) [Cycles]", + "Latency (Cycles) 2": "Latency (Baseline) [Cycles]", + "Stall 1": "Stall (Current)", + "Stall 2": "Stall (Baseline)", + "Util 1": "Util (Current)", + "Util 2": "Util (Baseline)", + "flops_pop": "FLOPs", + "flops_pop 1": "FLOPs (Current)", + "flops_pop 2": "FLOPs (Baseline)", + "iops_pop": "IOPs", + "iops_pop 1": "IOPs (Current)", + "iops_pop 2": "IOPs (Baseline)", + "mfma_flops_bf16_pop": "MFMA- BF16 (FLOPs)", + "mfma_flops_bf16_pop 1": "MFMA-BF16 (Cur)", + "mfma_flops_bf16_pop 2": "MFMA-BF16 (Baseline)", + "mfma_flops_f16_pop": "MFMA-F16 (FLOPs)", + "mfma_flops_f16_pop 1": "MFMA-F16 (Cur)", + "mfma_flops_f16_pop 2": "MFMA-F16 (Baseline)", + "mfma_flops_f32_pop": "MFMA-F32 (FLOPs)", + "mfma_flops_f32_pop 1": "MFMA-F32 (Cur)", + "mfma_flops_f32_pop 2": "MFMA-F32 (Baseline)", + "mfma_flops_f64_pop": "MFMA-F64 (FLOPs)", + "mfma_flops_f64_pop 1": "MFMA-F64 (Cur)", + "mfma_flops_f64_pop 2": "MFMA-F64 (Baseline)", + "mfma_flops_i8_pop": "MFMA-i8 (IOPs)", + "mfma_flops_i8_pop 1": "MFMA-I8 (Cur)", + "mfma_flops_i8_pop 2": "MFMA-I8 (Baseline)", + "valu_flops_pop": "VALU (FLOPs)", + "valu_flops_pop 1": "VALU FLOPs (Cur)", + "valu_flops_pop 2": "VALU FLOPs (Baseline)", + "valu_iops_pop": "VALU (IOPs)", + "valu_iops_pop 1": "VALU IOPs (Cur)", + "valu_iops_pop 2": "VALU IOPs (Baseline)" + } + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 10 + }, + "id": 257, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "rawQuery": true, + "refId": "pmc_perf", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_ipcAvg\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_BUSY_CU_CYCLES\" ] }\n },\n \"min_ipcAvg\": {\n \"$min\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_BUSY_CU_CYCLES\" ] } \n },\n \"max_ipcAvg\": {\n \"$max\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_BUSY_CU_CYCLES\" ] }\n },\n \n \"avg_ipcIssue\": {\n \"$avg\": { \"$divide\": [ { \"$add\": [ \"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\",\"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n \"min_ipcIssue\": {\n \"$min\": { \"$divide\": [ { \"$add\": [ \"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\",\"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n \"max_ipcIssue\": {\n \"$max\": { \"$divide\": [ { \"$add\": [ \"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\",\"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n\n \"avg_saluUtil\": {\n \"$avg\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU ] }\n },\n \"min_saluUtil\": {\n \"$min\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU ] }\n },\n \"max_saluUtil\": {\n \"$max\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU ] }\n },\n\n \"avg_valuUtil\": {\n \"$avg\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU ] }\n },\n \"min_valuUtil\": {\n \"$min\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU ] }\n },\n \"max_valuUtil\": {\n \"$max\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU ] }\n },\n\n \"avg_mfmaUtil\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [4, $numCU, \"&GRBM_GUI_ACTIVE\"] }] }\n },\n \"min_mfmaUtil\": {\n \"$min\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [4, $numCU, \"&GRBM_GUI_ACTIVE\"] }] }\n },\n \"max_mfmaUtil\": {\n \"$max\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [4, $numCU, \"&GRBM_GUI_ACTIVE\"] }] }\n },\n\n \"avg_mfmaInstrCycles\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_MFMA\", 0]},\n {\"$divide\": [ \"&SQ_VALU_MFMA_BUSY_CYCLES\", \"&SQ_INSTS_MFMA\" ]},\n null\n ]\n }\n },\n \"min_mfmaInstrCycles\": {\n \"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_MFMA\", 0]},\n {\"$divide\": [ \"&SQ_VALU_MFMA_BUSY_CYCLES\", \"&SQ_INSTS_MFMA\" ]},\n null\n ]\n }\n },\n \"max_mfmaInstrCycles\": {\n \"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_MFMA\", 0]},\n {\"$divide\": [ \"&SQ_VALU_MFMA_BUSY_CYCLES\", \"&SQ_INSTS_MFMA\" ]},\n null\n ]\n }\n },\n\n\n \"avg_unpredthreads_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n \"min_unpredthreads_val\": {\n \"$min\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n \"max_unpredthreads_val\": {\n \"$max\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n\n \"avg_instrFetchBand\": {\n \"$avg\": { \"$divide\": [ { \"$multiply\": [\"&SQ_IFETCH\", 32] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \"min_instrFetchBand\": {\n \"$min\": { \"$divide\": [ { \"$multiply\": [\"&SQ_IFETCH\", 32] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \"max_instrFetchBand\": {\n \"$max\": { \"$divide\": [ { \"$multiply\": [\"&SQ_IFETCH\", 32] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n }\n\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"IPC (Avg)\",\n \"Avg\": \"&avg_ipcAvg\",\n \"Min\": \"&min_ipcAvg\",\n \"Max\": \"&max_ipcAvg\",\n \"Unit\": \"Instr/cycle\"\n },\n {\n \"Metric\": \"IPC (Issue)\",\n \"Avg\": \"&avg_ipcIssue\",\n \"Min\": \"&min_ipcIssue\",\n \"Max\": \"&max_ipcIssue\",\n \"Unit\": \"Instr/cycle\"\n },\n {\n \"Metric\": \"SALU Util\",\n \"Avg\": \"&avg_saluUtil\",\n \"Min\": \"&min_saluUtil\",\n \"Max\": \"&max_saluUtil\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"VALU Util\",\n \"Avg\": \"&avg_valuUtil\",\n \"Min\": \"&min_valuUtil\",\n \"Max\": \"&max_valuUtil\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"VALU Active Threads\",\n \"Avg\": \"&avg_unpredthreads_val\",\n \"Min\": \"&min_unpredthreads_val\",\n \"Max\": \"&max_unpredthreads_val\",\n \"Unit\": \"Threads\"\n },\n {\n \"Metric\": \"MFMA Util\",\n \"Avg\": \"&avg_mfmaUtil\",\n \"Min\": \"&min_mfmaUtil\",\n \"Max\": \"&max_mfmaUtil\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"MFMA Instr Cycles\",\n \"Avg\": \"&avg_mfmaInstrCycles\",\n \"Min\": \"&min_mfmaInstrCycles\",\n \"Max\": \"&max_mfmaInstrCycles\",\n \"Unit\": \"cycles/instr\"\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "pmc_perf2", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Compute Pipeline)\"}}\n }}, \n {\"$group\": {\n \"_id\": null,\n \"avg_ipcAvg\": {\n \"$avg\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_BUSY_CU_CYCLES\" ] }\n },\n \"min_ipcAvg\": {\n \"$min\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_BUSY_CU_CYCLES\" ] } \n },\n \"max_ipcAvg\": {\n \"$max\": { \"$divide\": [ \"&SQ_INSTS\", \"&SQ_BUSY_CU_CYCLES\" ] }\n },\n \n \"avg_ipcIssue\": {\n \"$avg\": { \"$divide\": [ { \"$add\": [ \"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\",\"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n \"min_ipcIssue\": {\n \"$min\": { \"$divide\": [ { \"$add\": [ \"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\",\"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n \"max_ipcIssue\": {\n \"$max\": { \"$divide\": [ { \"$add\": [ \"&SQ_INSTS_VALU\", \"&SQ_INSTS_VMEM\",\"&SQ_INSTS_SALU\", \"&SQ_INSTS_SMEM\", \"&SQ_INSTS_GDS\", \"&SQ_INSTS_BRANCH\", \"&SQ_INSTS_SENDMSG\", \"&SQ_INSTS_VSKIPPED\"] }, \"&SQ_ACTIVE_INST_ANY\"] }\n },\n\n \"avg_saluUtil\": {\n \"$avg\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU2 ] }\n },\n \"min_saluUtil\": {\n \"$min\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU2 ] }\n },\n \"max_saluUtil\": {\n \"$max\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_SCA\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU2 ] }\n },\n\n \"avg_valuUtil\": {\n \"$avg\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU2 ] }\n },\n \"min_valuUtil\": {\n \"$min\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU2 ] }\n },\n \"max_valuUtil\": {\n \"$max\": { \"$divide\": [{ \"$divide\": [ { \"$multiply\": [100, \"&SQ_ACTIVE_INST_VALU\"] }, \"&GRBM_GUI_ACTIVE\"] },$numCU2 ] }\n },\n\n\n \"avg_mfmaUtil\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [4, $numCU2, \"&GRBM_GUI_ACTIVE\"] }] }\n },\n \"min_mfmaUtil\": {\n \"$min\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [4, $numCU2, \"&GRBM_GUI_ACTIVE\"] }] }\n },\n \"max_mfmaUtil\": {\n \"$max\": { \"$divide\": [{ \"$multiply\": [100, \"&SQ_VALU_MFMA_BUSY_CYCLES\"] }, { \"$multiply\": [4, $numCU2, \"&GRBM_GUI_ACTIVE\"] }] }\n },\n\n \"avg_mfmaInstrCycles\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_MFMA\", 0]},\n {\"$divide\": [ \"&SQ_VALU_MFMA_BUSY_CYCLES\", \"&SQ_INSTS_MFMA\" ]},\n null\n ]\n }\n },\n \"min_mfmaInstrCycles\": {\n \"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_MFMA\", 0]},\n {\"$divide\": [ \"&SQ_VALU_MFMA_BUSY_CYCLES\", \"&SQ_INSTS_MFMA\" ]},\n null\n ]\n }\n },\n \"max_mfmaInstrCycles\": {\n \"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_MFMA\", 0]},\n {\"$divide\": [ \"&SQ_VALU_MFMA_BUSY_CYCLES\", \"&SQ_INSTS_MFMA\" ]},\n null\n ]\n }\n },\n\n \"avg_unpredthreads_val\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n \"min_unpredthreads_val\": {\n \"$min\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n \"max_unpredthreads_val\": {\n \"$max\": {\n \"$cond\": [\n {\"$ne\":[\"&SQ_ACTIVE_INST_VALU\" , 0]},\n { \"$divide\": [\"&SQ_THREAD_CYCLES_VALU\", \"&SQ_ACTIVE_INST_VALU\"] },\n null\n ]\n }\n },\n\n \"avg_instrFetchBand\": {\n \"$avg\": { \"$divide\": [ { \"$multiply\": [\"&SQ_IFETCH\", 32] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \"min_instrFetchBand\": {\n \"$min\": { \"$divide\": [ { \"$multiply\": [\"&SQ_IFETCH\", 32] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \"max_instrFetchBand\": {\n \"$max\": { \"$divide\": [ { \"$multiply\": [\"&SQ_IFETCH\", 32] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"IPC (Avg)\",\n \"Avg 2\": \"&avg_ipcAvg\",\n \"Min 2\": \"&min_ipcAvg\",\n \"Max 2\": \"&max_ipcAvg\",\n \"Unit\": \"Instr/cycle\"\n },\n {\n \"Metric\": \"IPC (Issue)\",\n \"Avg 2\": \"&avg_ipcIssue\",\n \"Min 2\": \"&min_ipcIssue\",\n \"Max 2\": \"&max_ipcIssue\",\n \"Unit\": \"Instr/cycle\"\n },\n {\n \"Metric\": \"SALU Util\",\n \"Avg 2\": \"&avg_saluUtil\",\n \"Min 2\": \"&min_saluUtil\",\n \"Max 2\": \"&max_saluUtil\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"VALU Util\",\n \"Avg 2\": \"&avg_valuUtil\",\n \"Min 2\": \"&min_valuUtil\",\n \"Max 2\": \"&max_valuUtil\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"VALU Active Threads\",\n \"Avg 2\": \"&avg_unpredthreads_val\",\n \"Min 2\": \"&min_unpredthreads_val\",\n \"Max 2\": \"&max_unpredthreads_val\",\n \"Unit\": \"Threads\"\n },\n {\n \"Metric\": \"MFMA Util\",\n \"Avg 2\": \"&avg_mfmaUtil\",\n \"Min 2\": \"&min_mfmaUtil\",\n \"Max 2\": \"&max_mfmaUtil\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"MFMA Instr Cycles\",\n \"Avg 2\": \"&avg_mfmaInstrCycles\",\n \"Min 2\": \"&min_mfmaInstrCycles\",\n \"Max 2\": \"&max_mfmaInstrCycles\",\n \"Unit\": \"cycles/instr\"\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Pipeline Stats", + "transformations": [ + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Avg": 1, + "Avg 2": 2, + "Max": 5, + "Max 2": 6, + "Metric": 0, + "Min": 3, + "Min 2": 4, + "Unit": 7 + }, + "renameByName": { + "Avg 2": "Avg (Baseline)", + "Max 2": "Max (Baseline)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 111 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 117 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 135 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 112 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 83 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 118 + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 21 + }, + "id": 96, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_intOps\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [{ \"$multiply\": [{ \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] },64] }, { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\",512] }] },\"&denom\"]\n }},\n \"min_intOps\":{\"$min\": {\n \"$divide\": [{ \"$add\": [{ \"$multiply\": [{ \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] },64] }, { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\",512] }] },\"&denom\"]\n }},\n \"max_intOps\":{\"$max\": {\n \"$divide\": [{ \"$add\": [{ \"$multiply\": [{ \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] },64] }, { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\",512] }] },\"&denom\"]\n }},\n\n\n \"avg_flops\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F16\", 2]}] }] },\n { \"$add\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"] }, { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n \"min_flops\":{\"$min\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F16\", 2]}] }] },\n { \"$add\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"] }, { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n\n \"max_flops\":{\"$max\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F16\", 2]}] }] },\n { \"$add\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"] }, { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n\n\n \"avg_int8Ops\":{\"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, \"&denom\"] }},\n \"min_int8Ops\":{\"$min\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, \"&denom\"] }},\n \"max_int8Ops\":{\"$max\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, \"&denom\"] }},\n\n \"avg_int32Ops\":{\"$avg\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT32\", 64] }, \"&denom\"] }},\n \"min_int32Ops\":{\"$min\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT32\", 64] }, \"&denom\"] }},\n \"max_int32Ops\":{\"$max\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT32\", 64] }, \"&denom\"] }},\n\n \"avg_int64Ops\":{\"$avg\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT64\", 64] }, \"&denom\"] }},\n \"min_int64Ops\":{\"$min\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT64\", 64] }, \"&denom\"] }},\n \"max_int64Ops\":{\"$max\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT64\", 64] }, \"&denom\"] }},\n\n \"avg_f16Ops\":{\"$avg\": {\n \"$divide\": [ \n {\"$add\": [{ \"$multiply\": [64, \"&SQ_INSTS_VALU_ADD_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_MUL_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_TRANS_F16\"]}, \n { \"$multiply\": [128, \"&SQ_INSTS_VALU_FMA_F16\"]}, \n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"]}\n ]},\n \"&denom\"]\n }},\n \"min_f16Ops\":{\"$min\": {\n \"$divide\": [ \n {\"$add\": [{ \"$multiply\": [64, \"&SQ_INSTS_VALU_ADD_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_MUL_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_TRANS_F16\"]}, \n { \"$multiply\": [128, \"&SQ_INSTS_VALU_FMA_F16\"]}, \n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"]}\n ]},\n \"&denom\"]\n }},\n \"max_f16Ops\":{\"$max\": {\n \"$divide\": [ \n {\"$add\": [{ \"$multiply\": [64, \"&SQ_INSTS_VALU_ADD_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_MUL_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_TRANS_F16\"]}, \n { \"$multiply\": [128, \"&SQ_INSTS_VALU_FMA_F16\"]}, \n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"]}\n ]},\n \"&denom\"]\n }},\n\n\n\n \"avg_bf16Ops\":{\"$avg\": { \"$divide\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }, \"&denom\"] }},\n \"min_bf16Ops\":{\"$min\": { \"$divide\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }, \"&denom\"] }},\n \"max_bf16Ops\":{\"$max\": { \"$divide\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }, \"&denom\"] }},\n\n \"avg_f32Ops\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] }\n ] }, \"&denom\"]\n }},\n \"min_f32Ops\":{\"$min\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] }\n ] }, \"&denom\"]\n }},\n \"max_f32Ops\":{\"$max\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] }\n ] }, \"&denom\"]\n }},\n\n \"avg_f64Ops\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n \"min_f64Ops\":{\"$min\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n \"max_f64Ops\":{\"$max\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }}\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"FLOPs (Total)\",\n \"Avg\": \"&avg_flops\",\n \"Min\": \"&min_flops\",\n \"Max\": \"&max_flops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"INT8 OPs\",\n \"Avg\": \"&avg_int8Ops\",\n \"Min\": \"&min_int8Ops\",\n \"Max\": \"&max_int8Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"F16 OPs\",\n \"Avg\": \"&avg_f16Ops\",\n \"Min\": \"&min_f16Ops\",\n \"Max\": \"&max_f16Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"BF16 OPs\",\n \"Avg\": \"&avg_bf16Ops\",\n \"Min\": \"&min_bf16Ops\",\n \"Max\": \"&max_bf16Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n\n {\n \"Metric\": \"F32 OPs\",\n \"Avg\": \"&avg_f32Ops\",\n \"Min\": \"&min_f32Ops\",\n \"Max\": \"&max_f32Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"F64 OPs\",\n \"Avg\": \"&avg_f64Ops\",\n \"Min\": \"&min_f64Ops\",\n \"Max\": \"&max_f64Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Compute Pipeline)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_intOps\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [{ \"$multiply\": [{ \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] },64] }, { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\",512] }] },\"&denom\"]\n }},\n \"min_intOps\":{\"$min\": {\n \"$divide\": [{ \"$add\": [{ \"$multiply\": [{ \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] },64] }, { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\",512] }] },\"&denom\"]\n }},\n \"max_intOps\":{\"$max\": {\n \"$divide\": [{ \"$add\": [{ \"$multiply\": [{ \"$add\": [\"&SQ_INSTS_VALU_INT32\", \"&SQ_INSTS_VALU_INT64\"] },64] }, { \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\",512] }] },\"&denom\"]\n }},\n\n\n \"avg_flops\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F16\", 2]}] }] },\n { \"$add\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"] }, { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n \"min_flops\":{\"$min\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F16\", 2]}] }] },\n { \"$add\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"] }, { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n\n \"max_flops\":{\"$max\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F16\", \"&SQ_INSTS_VALU_MUL_F16\", \"&SQ_INSTS_VALU_TRANS_F16\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F16\", 2]}] }] },\n { \"$add\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"] }, { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] },\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n\n\n \"avg_int8Ops\":{\"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, \"&denom\"] }},\n \"min_int8Ops\":{\"$min\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, \"&denom\"] }},\n \"max_int8Ops\":{\"$max\": { \"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_MFMA_MOPS_I8\", 512] }, \"&denom\"] }},\n\n \"avg_int32Ops\":{\"$avg\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT32\", 64] }, \"&denom\"] }},\n \"min_int32Ops\":{\"$min\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT32\", 64] }, \"&denom\"] }},\n \"max_int32Ops\":{\"$max\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT32\", 64] }, \"&denom\"] }},\n\n \"avg_int64Ops\":{\"$avg\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT64\", 64] }, \"&denom\"] }},\n \"min_int64Ops\":{\"$min\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT64\", 64] }, \"&denom\"] }},\n \"max_int64Ops\":{\"$max\": {\"$divide\": [{ \"$multiply\": [\"&SQ_INSTS_VALU_INT64\", 64] }, \"&denom\"] }},\n\n \"avg_f16Ops\":{\"$avg\": {\n \"$divide\": [ \n {\"$add\": [{ \"$multiply\": [64, \"&SQ_INSTS_VALU_ADD_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_MUL_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_TRANS_F16\"]}, \n { \"$multiply\": [128, \"&SQ_INSTS_VALU_FMA_F16\"]}, \n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"]}\n ]},\n \"&denom\"]\n }},\n \"min_f16Ops\":{\"$min\": {\n \"$divide\": [ \n {\"$add\": [{ \"$multiply\": [64, \"&SQ_INSTS_VALU_ADD_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_MUL_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_TRANS_F16\"]}, \n { \"$multiply\": [128, \"&SQ_INSTS_VALU_FMA_F16\"]}, \n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"]}\n ]},\n \"&denom\"]\n }},\n \"max_f16Ops\":{\"$max\": {\n \"$divide\": [ \n {\"$add\": [{ \"$multiply\": [64, \"&SQ_INSTS_VALU_ADD_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_MUL_F16\"]}, \n { \"$multiply\": [64, \"&SQ_INSTS_VALU_TRANS_F16\"]}, \n { \"$multiply\": [128, \"&SQ_INSTS_VALU_FMA_F16\"]}, \n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F16\"]}\n ]},\n \"&denom\"]\n }},\n\n\n\n \"avg_bf16Ops\":{\"$avg\": { \"$divide\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }, \"&denom\"] }},\n \"min_bf16Ops\":{\"$min\": { \"$divide\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }, \"&denom\"] }},\n \"max_bf16Ops\":{\"$max\": { \"$divide\": [{ \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_BF16\"] }, \"&denom\"] }},\n\n \"avg_f32Ops\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] }\n ] }, \"&denom\"]\n }},\n \"min_f32Ops\":{\"$min\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] }\n ] }, \"&denom\"]\n }},\n \"max_f32Ops\":{\"$max\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F32\", \"&SQ_INSTS_VALU_MUL_F32\", \"&SQ_INSTS_VALU_TRANS_F32\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F32\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F32\"] }\n ] }, \"&denom\"]\n }},\n\n \"avg_f64Ops\":{\"$avg\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n \"min_f64Ops\":{\"$min\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }},\n \"max_f64Ops\":{\"$max\": {\n \"$divide\": [{ \"$add\": [\n { \"$multiply\": [64, { \"$add\": [\"&SQ_INSTS_VALU_ADD_F64\", \"&SQ_INSTS_VALU_MUL_F64\", \"&SQ_INSTS_VALU_TRANS_F64\", {\"$multiply\": [\"&SQ_INSTS_VALU_FMA_F64\", 2]}] }] },\n { \"$multiply\": [512, \"&SQ_INSTS_VALU_MFMA_MOPS_F64\"] }\n ] }, \"&denom\"]\n }}\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"FLOPs (Total)\",\n \"Avg\": \"&avg_flops\",\n \"Min\": \"&min_flops\",\n \"Max\": \"&max_flops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"INT8 OPs\",\n \"Avg\": \"&avg_int8Ops\",\n \"Min\": \"&min_int8Ops\",\n \"Max\": \"&max_int8Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"F16 OPs\",\n \"Avg\": \"&avg_f16Ops\",\n \"Min\": \"&min_f16Ops\",\n \"Max\": \"&max_f16Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"BF16 OPs\",\n \"Avg\": \"&avg_bf16Ops\",\n \"Min\": \"&min_bf16Ops\",\n \"Max\": \"&max_bf16Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n\n {\n \"Metric\": \"F32 OPs\",\n \"Avg\": \"&avg_f32Ops\",\n \"Min\": \"&min_f32Ops\",\n \"Max\": \"&max_f32Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n },\n {\n \"Metric\": \"F64 OPs\",\n \"Avg\": \"&avg_f64Ops\",\n \"Min\": \"&min_f64Ops\",\n \"Max\": \"&max_f64Ops\",\n \"Unit\": {\"$concat\": [\"OPs \", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Arithmetic Operations", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Avg 1": 1, + "Avg 2": 2, + "Max 1": 5, + "Max 2": 6, + "Metric 1": 0, + "Metric 2": 7, + "Min 1": 3, + "Min 2": 4, + "Unit 1": 9, + "Unit 2": 8 + }, + "renameByName": { + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 21 + }, + "id": 255, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "rawQuery": true, + "refId": "SQ_INST_LEVEL_VMEM", + "target": "${Workload1}.SQ_INST_LEVEL_VMEM.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_vmemLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_VMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_VMEM\" ]},\n null\n ] \n }\n },\n \"min_vmemLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_VMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_VMEM\" ]},\n null\n ] \n }\n },\n \"max_vmemLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_VMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_VMEM\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"VMEM Latency\",\n \"Avg\": \"&avg_vmemLat\",\n \"Min\": \"&min_vmemLat\",\n \"Max\": \"&max_vmemLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_INST_LEVEL_SMEM", + "target": "${Workload1}.SQ_INST_LEVEL_SMEM.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_smemLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_SMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_SMEM\" ]},\n null\n ] \n }\n },\n \"min_smemLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_SMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_SMEM\" ]},\n null\n ] \n }\n },\n \"max_smemLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_SMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_SMEM\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"SMEM Latency\",\n \"Avg\":\"&avg_smemLat\",\n \"Min\":\"&min_smemLat\",\n \"Max\":\"&max_smemLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_IFETCH_LEVEL", + "target": "${Workload1}.SQ_IFETCH_LEVEL.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }}, \n {\"$group\": {\n \"_id\": null,\n \"avg_instrFetchLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_IFETCH\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\" ]},\n null\n ] \n }\n },\n \"min_instrFetchLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_IFETCH\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\" ]},\n null\n ] \n }\n },\n \"max_instrFetchLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_IFETCH\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"Instr Fetch Latency\",\n \"Avg\":\"&avg_instrFetchLat\",\n \"Min\":\"&min_instrFetchLat\",\n \"Max\":\"&max_instrFetchLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_INST_LEVEL_LDS", + "target": "${Workload1}.SQ_INST_LEVEL_LDS.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }}, \n {\"$group\": {\n \"_id\": null,\n \"avg_ldsLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"min_ldsLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"max_ldsLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"LDS Latency\",\n \"Avg\":\"&avg_ldsLat\",\n \"Min\":\"&min_ldsLat\",\n \"Max\":\"&max_ldsLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_INST_LEVEL_VMEM2", + "target": "${Workload2}.SQ_INST_LEVEL_VMEM.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Compute Pipeline)\"}}\n }}, \n {\"$group\": {\n \"_id\": null,\n \"avg_vmemLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_VMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_VMEM\" ]},\n null\n ] \n }\n },\n \"min_vmemLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_VMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_VMEM\" ]},\n null\n ] \n }\n },\n \"max_vmemLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_VMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_VMEM\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"VMEM Latency\",\n \"Avg 2\": \"&avg_vmemLat\",\n \"Min 2\": \"&min_vmemLat\",\n \"Max 2\": \"&max_vmemLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_INST_LEVEL_SMEM2", + "target": "${Workload2}.SQ_INST_LEVEL_SMEM.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Compute Pipeline)\"}}\n }}, \n {\"$group\": {\n \"_id\": null,\n \"avg_smemLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_SMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_SMEM\" ]},\n null\n ] \n }\n },\n \"min_smemLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_SMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_SMEM\" ]},\n null\n ] \n }\n },\n \"max_smemLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_SMEM\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_SMEM\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"SMEM Latency\",\n \"Avg 2\":\"&avg_smemLat\",\n \"Min 2\":\"&min_smemLat\",\n \"Max 2\":\"&max_smemLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_IFETCH_LEVEL2", + "target": "${Workload2}.SQ_IFETCH_LEVEL.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Compute Pipeline)\"}}\n }}, \n {\"$group\": {\n \"_id\": null,\n \"avg_instrFetchLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_IFETCH\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\" ]},\n null\n ] \n }\n },\n \"min_instrFetchLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_IFETCH\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\" ]},\n null\n ] \n }\n },\n \"max_instrFetchLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_IFETCH\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_IFETCH\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"Instr Fetch Latency\",\n \"Avg 2\":\"&avg_instrFetchLat\",\n \"Min 2\":\"&min_instrFetchLat\",\n \"Max 2\":\"&max_instrFetchLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "SQ_INST_LEVEL_LDS2", + "target": "${Workload2}.SQ_INST_LEVEL_LDS.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Compute Pipeline)\"}}\n }}, \n {\"$group\": {\n \"_id\": null,\n \"avg_ldsLat\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"min_ldsLat\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"max_ldsLat\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"Metric\": \"LDS Latency\",\n \"Avg 2\":\"&avg_ldsLat\",\n \"Min 2\":\"&min_ldsLat\",\n \"Max 2\":\"&max_ldsLat\",\n \"Unit\": \"Cycles\"\n }}\n]);", + "type": "table" + } + ], + "title": "Memory Latencies", + "transformations": [ + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Avg": 1, + "Avg 2": 2, + "Max": 5, + "Max 2": 6, + "Metric": 0, + "Min": 3, + "Min 2": 4, + "Unit": 7 + }, + "renameByName": { + "Avg": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Compute Unit - Compute Pipeline", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 98, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 11 + }, + "id": 205, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "/.*/", + "values": true + }, + "showUnfilled": true, + "text": { + "titleSize": 14, + "valueSize": 16 + } + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \n \"bconf_rate\": {\n \"$avg\": {\"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n {\"$multiply\": [\"&SQ_LDS_BANK_CONFLICT\", 3.125]},\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n } \n },\n \n \"bw_pop\": {\n \"$avg\": {\"$divide\": [\n {\"$divide\":[ \n { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks\"}\n ]}, \n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]},\n \n {\"$multiply\": [$sclk, $numCU, 0.00128]}\n ]}\n },\n\n \"lds_util\": {\n \"$avg\": {\"$divide\":[ \n { \"$multiply\": [ 100, \"&SQ_LDS_IDX_ACTIVE\" ]}, \n {\"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}\n ]}\n },\n\n \"lds_access_rate\": {\n \"$avg\": {\"$divide\":[ \n { \"$multiply\": [200, \"&SQ_ACTIVE_INST_LDS\" ]}, \n {\"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}\n ]}\n }\n \n }},\n \n {\"$set\": {\n \"array\": [\n {\n \"Utilization\": \"&lds_util\",\n \"Access Rate\": \"&lds_access_rate\",\n \"Bandwith (Pct-of-Peak)\": \"&bw_pop\",\n \"Bank Conflict Rate\": \"&bconf_rate\"\n }\n \n ]\n }},\n \n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n \n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n \n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Local Data Share)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"bconf_rate\": {\n \"$avg\": {\"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n {\"$multiply\": [\"&SQ_LDS_BANK_CONFLICT\", 3.125]},\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n } \n },\n\n \"bw_pop\": {\n \"$avg\": {\"$divide\": [\n {\"$divide\":[ \n { \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, \n 4, \n {\"$toInt\": \"$L2Banks2\"}\n ]}, \n {\"$subtract\": [\"&EndNs\", \"&BeginNs\"]}\n ]},\n \n {\"$multiply\": [$sclk2, $numCU2, 0.00128]}\n ]}\n },\n \"lds_util\": {\n \"$avg\": {\"$divide\":[ \n { \"$multiply\": [ 100, \"&SQ_LDS_IDX_ACTIVE\" ]}, \n {\"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}\n ]}\n },\n\n \"lds_access_rate\": {\n \"$avg\": {\"$divide\":[ \n { \"$multiply\": [200, \"&SQ_ACTIVE_INST_LDS\" ]}, \n {\"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}\n ]}\n }\n\n\n }},\n\n {\"$set\": {\n \"array\": [\n {\n \"Utilization\": \"&lds_util\",\n \"Access Rate\": \"&lds_access_rate\",\n \"Bandwith (Pct-of-Peak)\": \"&bw_pop\",\n \"Bank Conflict Rate\": \"&bconf_rate\"\n }\n\n ]\n }},\n\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n \n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n]);", + "type": "table" + } + ], + "title": "Speed-of-Light: LDS", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Access Rate 1": 6, + "Access Rate 2": 7, + "Bandwith (Pct-of-Peak) 1": 0, + "Bandwith (Pct-of-Peak) 2": 1, + "Bank Conflict Rate 1": 2, + "Bank Conflict Rate 2": 3, + "Utilization 1": 4, + "Utilization 2": 5 + }, + "renameByName": { + "Access Rate 1": "Access Rate (Current)", + "Access Rate 2": "Access Rate (Baseline)", + "BW (Pct-of-Peak) 1": "BW Pct-of-Peak (Current)", + "BW (Pct-of-Peak) 2": "BW Pct-of-Peak (Baseline)", + "Bandwith (Pct-of-Peak)": "", + "Bandwith (Pct-of-Peak) 1": "BW Pct-of-Peak (Current)", + "Bandwith (Pct-of-Peak) 2": "BW Pct-of-Peak (Baseline) ", + "Bank Conflict Rate 1": "Bank Conflict Rate (Current)", + "Bank Conflict Rate 2": "Bank Conflict Rate (Baseline)", + "Cache Hit 1": "Cache Hit (Current)", + "Cache Hit 2": "Cache Hit (Baseline)", + "Latency (Cycles) 1": "Latency (Current) [Cycles]", + "Latency (Cycles) 2": "Latency (Baseline) [Cycles]", + "Stall 1": "Stall (Current)", + "Stall 2": "Stall (Baseline)", + "Util 1": "Util (Current)", + "Util 2": "Util (Baseline)", + "Utilization 1": "Util (Current)", + "Utilization 2": "Util (Baseline)" + } + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "min": -100000000000000000000, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 114 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 107 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 128 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 115 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 138 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 141 + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 12, + "x": 12, + "y": 11 + }, + "id": 100, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_waveCycles\": {\n \"$avg\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ] }\n },\n \"min_waveCycles\": {\n \"$min\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ] }\n },\n \"max_waveCycles\": {\n \"$max\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ] }\n },\n \n \"avg_ldsInstrs\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_LDS\" , \"&denom\"] }\n },\n \"min_ldsInstrs\": {\n \"$min\": { \"$divide\": [\"&SQ_INSTS_LDS\" , \"&denom\"] }\n },\n \"max_ldsInstrs\": {\n \"$max\": { \"$divide\": [\"&SQ_INSTS_LDS\" , \"&denom\"] }\n },\n \n \"avg_indexAccesses\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_IDX_ACTIVE\" , \"&denom\"] }\n },\n \"min_indexAccesses\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_IDX_ACTIVE\" , \"&denom\"] }\n },\n \"max_indexAccesses\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_IDX_ACTIVE\" , \"&denom\"] }\n },\n \n \"avg_atomicCycles\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_ATOMIC_RETURN\" , \"&denom\" ] }\n },\n \"min_atomicCycles\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_ATOMIC_RETURN\" , \"&denom\" ] }\n },\n \"max_atomicCycles\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_ATOMIC_RETURN\" , \"&denom\" ] }\n },\n \n \"avg_bankConflicts\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_BANK_CONFLICT\" , \"&denom\" ] }\n },\n \"min_bankConflicts\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_BANK_CONFLICT\" , \"&denom\" ] }\n },\n \"max_bankConflicts\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_BANK_CONFLICT\" , \"&denom\" ] }\n },\n \n \"avg_addrConflicts\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_ADDR_CONFLICT\" , \"&denom\" ] }\n },\n \"min_addrConflicts\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_ADDR_CONFLICT\" , \"&denom\" ] }\n },\n \"max_addrConflicts\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_ADDR_CONFLICT\" , \"&denom\" ] }\n },\n \n \n \"avg_unalignedStall\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_UNALIGNED_STALL\" , \"&denom\" ] }\n },\n \"min_unalignedStall\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_UNALIGNED_STALL\" , \"&denom\" ] }\n },\n \"max_unalignedStall\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_UNALIGNED_STALL\" , \"&denom\" ] }\n },\n \n \"avg_memViolations\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_MEM_VIOLATIONS\" , \"&denom\" ] }\n },\n \"min_memViolations\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_MEM_VIOLATIONS\" , \"&denom\" ] }\n },\n \"max_memViolations\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_MEM_VIOLATIONS\" , \"&denom\" ] }\n },\n \n \"avg_bconf_per_op\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n }\n },\n \"min_bconf_per_op\": {\n \"$min\": {\n \"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n }\n },\n \"max_bconf_per_op\": {\n \"$max\": {\n \"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n }\n },\n \n \"avg_bw\": {\n \"$avg\": {\n \"$divide\":\n [ { \"$multiply\": [{ \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]} , 4]}, {\"$toInt\": \"$L2Banks\"}]}, \n \"&denom\"\n ]\n }\n },\n \"min_bw\": {\n \"$min\": {\n \"$divide\":\n [ { \"$multiply\": [{ \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]} , 4]}, {\"$toInt\": \"$L2Banks\"}]}, \n \"&denom\"\n ]\n }\n },\n \"max_bw\": {\n \"$max\": {\n \"$divide\":\n [ { \"$multiply\": [{ \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]} , 4]}, {\"$toInt\": \"$L2Banks\"}]}, \n \"&denom\"\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Wave Cycles\",\n \"avg\": \"&avg_waveCycles\",\n \"min\": \"&min_waveCycles\",\n \"max\": \"&max_waveCycles\",\n \"Unit\": \"Cycles/Wave\"\n },\n {\n \"metric\": \"LDS Instrs\",\n \"avg\": \"&avg_ldsInstrs\",\n \"min\": \"&min_ldsInstrs\",\n \"max\": \"&max_ldsInstrs\",\n \"Unit\":{\"$concat\": [\"Instr \", $normUnit]} \n },\n {\n \"metric\": \"Bandwidth\",\n \"avg\": \"&avg_bw\",\n \"min\": \"&min_bw\",\n \"max\": \"&max_bw\",\n \"Unit\": {\"$concat\": [\"Bytes \", $normUnit]}\n },\n {\n \"metric\": \"Bank Conficts/Access\",\n \"avg\": \"&avg_bconf_per_op\",\n \"min\": \"&min_bconf_per_op\",\n \"max\": \"&max_bconf_per_op\",\n \"Unit\": \"Conflicts/Access\"\n },\n {\n \"metric\": \"Index Accesses\",\n \"avg\": \"&avg_indexAccesses\",\n \"min\": \"&min_indexAccesses\",\n \"max\": \"&max_indexAccesses\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Cycles\",\n \"avg\": \"&avg_atomicCycles\",\n \"min\": \"&min_atomicCycles\",\n \"max\": \"&max_atomicCycles\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Bank Conflict\",\n \"avg\": \"&avg_bankConflicts\",\n \"min\": \"&min_bankConflicts\",\n \"max\": \"&max_bankConflicts\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Addr Conflict\",\n \"avg\": \"&avg_addrConflicts\",\n \"min\": \"&min_addrConflicts\",\n \"max\": \"&max_addrConflicts\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Unaligned Stall\",\n \"avg\": \"&avg_unalignedStall\",\n \"min\": \"&min_unalignedStall\",\n \"max\": \"&max_unalignedStall\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Mem Violations\",\n \"avg\": \"&avg_memViolations\",\n \"min\": \"&min_memViolations\",\n \"max\": \"&max_memViolations\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_INST_LEVEL_LDS\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n \n {\"$group\": {\n \"_id\": null,\n \"avg_ldsLatency\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"min_ldsLatency\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"max_ldsLatency\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"metric\": \"LDS Latency\",\n \"avg\": \"&avg_ldsLatency\",\n \"min\": \"&min_ldsLatency\",\n \"max\": \"&max_ldsLatency\",\n \"Unit\": \"Cycles\"\n }}\n ]\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}}, \n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Local Data Share)\"}}\n \n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_waveCycles\": {\n \"$avg\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ] }\n },\n \"min_waveCycles\": {\n \"$min\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ] }\n },\n \"max_waveCycles\": {\n \"$max\": { \"$divide\": [ { \"$multiply\": [4, \"&SQ_WAVE_CYCLES\"] }, \"&SQ_WAVES\" ] }\n },\n \n \"avg_ldsInstrs\": {\n \"$avg\": { \"$divide\": [\"&SQ_INSTS_LDS\" , \"&denom\"] }\n },\n \"min_ldsInstrs\": {\n \"$min\": { \"$divide\": [\"&SQ_INSTS_LDS\" , \"&denom\"] }\n },\n \"max_ldsInstrs\": {\n \"$max\": { \"$divide\": [\"&SQ_INSTS_LDS\" , \"&denom\"] }\n },\n \n \"avg_indexAccesses\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_IDX_ACTIVE\" , \"&denom\"] }\n },\n \"min_indexAccesses\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_IDX_ACTIVE\" , \"&denom\"] }\n },\n \"max_indexAccesses\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_IDX_ACTIVE\" , \"&denom\"] }\n },\n \n \"avg_atomicCycles\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_ATOMIC_RETURN\" , \"&denom\" ] }\n },\n \"min_atomicCycles\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_ATOMIC_RETURN\" , \"&denom\" ] }\n },\n \"max_atomicCycles\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_ATOMIC_RETURN\" , \"&denom\" ] }\n },\n \n \"avg_bankConflicts\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_BANK_CONFLICT\" , \"&denom\" ] }\n },\n \"min_bankConflicts\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_BANK_CONFLICT\" , \"&denom\" ] }\n },\n \"max_bankConflicts\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_BANK_CONFLICT\" , \"&denom\" ] }\n },\n \n \"avg_addrConflicts\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_ADDR_CONFLICT\" , \"&denom\" ] }\n },\n \"min_addrConflicts\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_ADDR_CONFLICT\" , \"&denom\" ] }\n },\n \"max_addrConflicts\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_ADDR_CONFLICT\" , \"&denom\" ] }\n },\n \"avg_unalignedStall\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_UNALIGNED_STALL\" , \"&denom\" ] }\n },\n \"min_unalignedStall\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_UNALIGNED_STALL\" , \"&denom\" ] }\n },\n \"max_unalignedStall\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_UNALIGNED_STALL\" , \"&denom\" ] }\n },\n \n \"avg_memViolations\": {\n \"$avg\": { \"$divide\": [\"&SQ_LDS_MEM_VIOLATIONS\" , \"&denom\" ] }\n },\n \"min_memViolations\": {\n \"$min\": { \"$divide\": [\"&SQ_LDS_MEM_VIOLATIONS\" , \"&denom\" ] }\n },\n \"max_memViolations\": {\n \"$max\": { \"$divide\": [\"&SQ_LDS_MEM_VIOLATIONS\" , \"&denom\" ] }\n },\n \n \n \"avg_bconf_per_op\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n }\n },\n \"min_bconf_per_op\": {\n \"$min\": {\n \"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n }\n },\n \"max_bconf_per_op\": {\n \"$max\": {\n \"$cond\": [ {\"$ne\": [{\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}, 0]},\n {\"$divide\": [\n \"&SQ_LDS_BANK_CONFLICT\",\n {\"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]}\n ]},\n null\n ]\n }\n },\n \n \"avg_bw\": {\n \"$avg\": {\n \"$divide\":\n [ { \"$multiply\": [{ \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]} , 4]}, {\"$toInt\": \"$L2Banks\"}]}, \n \"&denom\"\n ]\n }\n },\n \"min_bw\": {\n \"$min\": {\n \"$divide\":\n [ { \"$multiply\": [{ \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]} , 4]}, {\"$toInt\": \"$L2Banks\"}]}, \n \"&denom\"\n ]\n }\n },\n \"max_bw\": {\n \"$max\": {\n \"$divide\":\n [ { \"$multiply\": [{ \"$multiply\": [ { \"$subtract\": [\"&SQ_LDS_IDX_ACTIVE\", \"&SQ_LDS_BANK_CONFLICT\"]} , 4]}, {\"$toInt\": \"$L2Banks\"}]}, \n \"&denom\"\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Wave Cycles\",\n \"avg\": \"&avg_waveCycles\",\n \"min\": \"&min_waveCycles\",\n \"max\": \"&max_waveCycles\",\n \"Unit\": \"Cycles/Wave\"\n },\n {\n \"metric\": \"LDS Instrs\",\n \"avg\": \"&avg_ldsInstrs\",\n \"min\": \"&min_ldsInstrs\",\n \"max\": \"&max_ldsInstrs\",\n \"Unit\":{\"$concat\": [\"Instr \", $normUnit]} \n },\n {\n \"metric\": \"Bandwidth\",\n \"avg\": \"&avg_bw\",\n \"min\": \"&min_bw\",\n \"max\": \"&max_bw\",\n \"Unit\": {\"$concat\": [\"Bytes \", $normUnit]}\n },\n {\n \"metric\": \"Bank Conficts/Access\",\n \"avg\": \"&avg_bconf_per_op\",\n \"min\": \"&min_bconf_per_op\",\n \"max\": \"&max_bconf_per_op\",\n \"Unit\": \"Conflicts/Access\"\n },\n {\n \"metric\": \"Index Accesses\",\n \"avg\": \"&avg_indexAccesses\",\n \"min\": \"&min_indexAccesses\",\n \"max\": \"&max_indexAccesses\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Cycles\",\n \"avg\": \"&avg_atomicCycles\",\n \"min\": \"&min_atomicCycles\",\n \"max\": \"&max_atomicCycles\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Bank Conflict\",\n \"avg\": \"&avg_bankConflicts\",\n \"min\": \"&min_bankConflicts\",\n \"max\": \"&max_bankConflicts\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Addr Conflict\",\n \"avg\": \"&avg_addrConflicts\",\n \"min\": \"&min_addrConflicts\",\n \"max\": \"&max_addrConflicts\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Unaligned Stall\",\n \"avg\": \"&avg_unalignedStall\",\n \"min\": \"&min_unalignedStall\",\n \"max\": \"&max_unalignedStall\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Mem Violations\",\n \"avg\": \"&avg_memViolations\",\n \"min\": \"&min_memViolations\",\n \"max\": \"&max_memViolations\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }},\n {\"$unionWith\": {\n \"coll\": \"SQ_INST_LEVEL_LDS\",\n \"pipeline\": [\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Local Data Share)\"}}\n }},\n \n {\"$group\": {\n \"_id\": null,\n \"avg_ldsLatency\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"min_ldsLatency\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n },\n \"max_ldsLatency\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [\"&SQ_INSTS_LDS\", 0]},\n {\"$divide\": [ \"&SQ_ACCUM_PREV_HIRES\", \"&SQ_INSTS_LDS\" ]},\n null\n ] \n }\n }\n }},\n {\"$project\": {\n \"_id\": 0,\n \"metric\": \"LDS Latency\",\n \"avg\": \"&avg_ldsLatency\",\n \"min\": \"&min_ldsLatency\",\n \"max\": \"&max_ldsLatency\",\n \"Unit\": \"Cycles\"\n }}\n ]\n }}\n ]);", + "type": "table" + } + ], + "title": "LDS Stats", + "transformations": [ + { + "id": "concatenate", + "options": { + "frameNameLabel": "frame", + "frameNameMode": "field" + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Unit 2": true, + "metric 2": true + }, + "indexByName": { + "Unit 1": 9, + "Unit 2": 8, + "avg 1": 1, + "avg 2": 2, + "max 1": 5, + "max 2": 6, + "metric 1": 0, + "metric 2": 7, + "min 1": 3, + "min 2": 4 + }, + "renameByName": { + "avg 1": "Avg (Current)", + "avg 2": "Avg (Baseline)", + "max 1": "Max (Current)", + "max 2": "Max (Baseline)", + "min 1": "Min (Current)", + "min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Local Data Share (LDS)", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 11 + }, + "id": 44, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 12 + }, + "id": 48, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "/.*/", + "values": true + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"reqBW_pop\": {\n \"$avg\": {\n \"$divide\": [\n {\"$multiply\": [\"&SQC_ICACHE_REQ\", 100000]}, \n {\"$multiply\": [ {\"$multiply\": [$sclk, $numSQC]}, {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} ]}\n ]\n }\n },\n\n \"cacheHit\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQC_ICACHE_HITS\", 100] }, { \"$add\": [ \"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\" ] } ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"Bandwidth\": \"&reqBW_pop\",\n \"Cache Hit\": \"&cacheHit\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Instruction Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"reqBW_pop\": {\n \"$avg\": {\n \"$divide\": [\n {\"$multiply\": [\"&SQC_ICACHE_REQ\", 100000]}, \n {\"$multiply\": [ {\"$multiply\": [$sclk2, $numSQC2]}, {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} ]}\n ]\n }\n },\n\n \"cacheHit\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [\"&SQC_ICACHE_HITS\", 100] }, { \"$add\": [ \"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\"] } ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"Bandwidth\": \"&reqBW_pop\",\n \"Cache Hit\": \"&cacheHit\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + } + ], + "title": "Speed-of-Light: Instruction Cache ", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "BW (Pct-of-Peak) 1": 4, + "BW (Pct-of-Peak) 2": 5, + "Cache Hit 1": 6, + "Cache Hit 2": 7, + "Stall 1": 2, + "Stall 2": 3, + "Util 1": 0, + "Util 2": 1 + }, + "renameByName": { + "BW (Pct-of-Peak) 1": "BW Pct-of-Peak (Current)", + "BW (Pct-of-Peak) 2": "BW Pct-of-Peak (Baseline)", + "BW Pct-of-Peak 1": "BW Pct-of-Peak (Current)", + "BW Pct-of-Peak 2": "BW Pct-of-Peak (Baseline)", + "Bandwidth 1": "Bandwidth (Current)", + "Bandwidth 2": "Bandwidth (Baseline)", + "Cache Hit 1": "Cache Hit (Current)", + "Cache Hit 2": "Cache Hit (Baseline)", + "Stall 1": "Stall (Current)", + "Stall 2": "Stall (Baseline)", + "Util 1": "Util (Current)", + "Util 2": "Util (Baseline)" + } + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 12 + }, + "id": 259, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "rawQuery": true, + "refId": "pmc_perf", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_req\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_REQ\", \"&denom\"] }\n },\n \"min_req\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_REQ\", \"&denom\"] }\n },\n \"max_req\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_REQ\", \"&denom\"] }\n },\n\n \"avg_hits\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_HITS\", \"&denom\"] }\n },\n \"min_hits\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_HITS\", \"&denom\"] }\n },\n \"max_hits\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_HITS\", \"&denom\"] }\n },\n\n \"avg_misses\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_MISSES\", \"&denom\"] }\n },\n \"min_misses\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_MISSES\", \"&denom\"] }\n },\n \"max_misses\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_MISSES\", \"&denom\"] }\n },\n\n \"avg_misses_dup\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"min_misses_dup\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"max_misses_dup\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n\n\n \"avg_cacheHit\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\"] }] }\n },\n \"min_cacheHit\": {\n \"$min\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\"] }] }\n },\n \"max_cacheHit\": {\n \"$max\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\"] }] }\n }\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&avg_req\",\n \"Min\": \"&min_req\",\n \"Max\": \"&max_req\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&avg_hits\",\n \"Min\": \"&min_hits\",\n \"Max\": \"&max_hits\",\n \"Unit\": {\"$concat\": [\"Hits \", $normUnit]}\n },\n {\n \"Metric\": \"Misses - Non Duplicated\",\n \"Mean\": \"&avg_misses\",\n \"Min\": \"&min_misses\",\n \"Max\": \"&max_misses\",\n \"Unit\": {\"$concat\": [\"Misses \", $normUnit]}\n },\n {\n \"Metric\": \"Misses - Duplicated\",\n \"Mean\": \"&avg_misses_dup\",\n \"Min\": \"&min_misses_dup\",\n \"Max\": \"&max_misses_dup\",\n \"Unit\": {\"$concat\": [\"Misses \", $normUnit]}\n },\n \n {\n \"Metric\": \"Cache Hit\",\n \"Mean\": \"&avg_cacheHit\",\n \"Min\": \"&min_cacheHit\",\n \"Max\": \"&max_cacheHit\",\n \"Unit\": \"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "pmc_perf2", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Instruction Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"avg_req\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_REQ\", \"&denom\"] }\n },\n \"min_req\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_REQ\", \"&denom\"] }\n },\n \"max_req\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_REQ\", \"&denom\"] }\n },\n\n \"avg_hits\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_HITS\", \"&denom\"] }\n },\n \"min_hits\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_HITS\", \"&denom\"] }\n },\n \"max_hits\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_HITS\", \"&denom\"] }\n },\n\n \"avg_misses\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_MISSES\", \"&denom\"] }\n },\n \"min_misses\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_MISSES\", \"&denom\"] }\n },\n \"max_misses\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_MISSES\", \"&denom\"] }\n },\n\n \"avg_misses_dup\": {\n \"$avg\": { \"$divide\": [\"&SQC_ICACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"min_misses_dup\": {\n \"$min\": { \"$divide\": [\"&SQC_ICACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"max_misses_dup\": {\n \"$max\": { \"$divide\": [\"&SQC_ICACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n\n\n \"avg_cacheHit\": {\n \"$avg\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\"] }] }\n },\n \"min_cacheHit\": {\n \"$min\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\"] }] }\n },\n \"max_cacheHit\": {\n \"$max\": { \"$divide\": [{ \"$multiply\": [100, \"&SQC_ICACHE_HITS\"] }, { \"$add\": [\"&SQC_ICACHE_HITS\", \"&SQC_ICACHE_MISSES\", \"&SQC_ICACHE_MISSES_DUPLICATE\"] }] }\n }\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean 2\": \"&avg_req\",\n \"Min 2\": \"&min_req\",\n \"Max 2\": \"&max_req\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Hits\",\n \"Mean 2\": \"&avg_hits\",\n \"Min 2\": \"&min_hits\",\n \"Max 2\": \"&max_hits\",\n \"Unit\": {\"$concat\": [\"Hits \", $normUnit]}\n },\n {\n \"Metric\": \"Misses - Non Duplicated\",\n \"Mean 2\": \"&avg_misses\",\n \"Min 2\" : \"&min_misses\",\n \"Max 2\": \"&max_misses\",\n \"Unit\": {\"$concat\": [\"Misses \", $normUnit]}\n },\n {\n \"Metric\": \"Misses - Duplicated\",\n \"Mean 2\": \"&avg_misses_dup\",\n \"Min 2\": \"&min_misses_dup\",\n \"Max 2\": \"&max_misses_dup\",\n \"Unit\": {\"$concat\": [\"Misses \", $normUnit]}\n },\n {\n \"Metric\": \"Cache Hit\",\n \"Mean 2\": \"&avg_cacheHit\",\n \"Min 2\": \"&min_cacheHit\",\n \"Max 2\": \"&max_cacheHit\",\n \"Unit\": \"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Instruction Cache Accesses", + "transformations": [ + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Max": 5, + "Max 2": 6, + "Mean": 1, + "Mean 2": 2, + "Metric": 0, + "Min": 3, + "Min 2": 4, + "Unit": 7 + }, + "renameByName": { + "L1I Metric": "", + "Max": "Max (Current)", + "Max 2": "Max (Baseline)", + "Mean": "Avg (Current)", + "Mean 2": "Avg (Baseline)", + "Min": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Instruction Cache", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 203, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "L1K-TC BW - GB/s" + }, + "properties": [ + { + "id": "unit", + "value": "GBs" + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 13 + }, + "id": 54, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": { + "titleSize": 14, + "valueSize": 16 + } + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"reqBW_pop\": {\n \"$avg\": {\n \"$divide\": [\n {\"$multiply\": [\"&SQC_DCACHE_REQ\", 100000]}, \n {\"$multiply\": [ {\"$multiply\": [$sclk, $numSQC]}, {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} ]}\n ]\n }\n },\n \"cacheHit\": {\n \"$avg\": { \n \"$cond\":[\n {\"$ne\": [{ \"$add\": [ \"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0 ]},\n {\"$divide\": [{ \"$multiply\": [\"&SQC_DCACHE_HITS\", 100] }, { \"$add\": [ \"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } ]},\n null\n ]\n }\n }\n \n }},\n {\"$set\": {\n \"array\": [\n {\n \"Bandwidth\": \"&reqBW_pop\",\n \"Cache Hit\": \"&cacheHit\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "sY628IJnz" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Scalar L1D Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"reqBW_pop\": {\n \"$avg\": {\n \"$divide\": [\n {\"$multiply\": [\"&SQC_DCACHE_REQ\", 100000]}, \n {\"$multiply\": [ {\"$multiply\": [$sclk2, $numSQC2]}, {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} ]}\n ]\n }\n },\n \"cacheHit\": {\n \"$avg\": { \n \"$cond\":[\n {\"$ne\": [{ \"$add\": [ \"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0 ]},\n {\"$divide\": [{ \"$multiply\": [\"&SQC_DCACHE_HITS\", 100] }, { \"$add\": [ \"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } ]},\n null\n ]\n }\n }\n \n }},\n {\"$set\": {\n \"array\": [\n {\n \"Bandwidth\": \"&reqBW_pop\",\n \"Cache Hit\": \"&cacheHit\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + } + ], + "title": "Speed-of-Light: Scalar L1D Cache", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "BW Pct-of-Peak 1": 0, + "BW Pct-of-Peak 2": 1, + "Cache Hit 1": 2, + "Cache Hit 2": 3, + "Stall 1": 6, + "Stall 2": 7, + "Util 1": 4, + "Util 2": 5 + }, + "renameByName": { + "BW Pct-of-Peak 1": "BW Pct-of-Peak (Current)", + "BW Pct-of-Peak 2": "BW Pct-of-Peak (Baseline)", + "Bandwidth 1": "Bandwidth (Current)", + "Bandwidth 2": "Bandwidth (Baseline)", + "Cache Hit 1": "Cache Hit (Current)", + "Cache Hit 2": "Cache Hit (Baseline)", + "Stall 1": "Stall (Current)", + "Stall 2": "Stall (Baseline)", + "Util 1": "Util (Current)", + "Util 2": "Util (Baseline)" + } + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 13 + }, + "id": 261, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "pmc_perf", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ\", \"&denom\"] }\n },\n \"req_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ\", \"&denom\"] }\n },\n \"req_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ\", \"&denom\"] }\n },\n\n \"hits_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_HITS\", \"&denom\"] }\n },\n \"hits_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_HITS\", \"&denom\"] }\n },\n \"hits_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_HITS\", \"&denom\"] }\n },\n\n \"misses_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_MISSES\", \"&denom\"] }\n },\n \"misses_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_MISSES\", \"&denom\"] }\n },\n \"misses_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_MISSES\", \"&denom\"] }\n },\n\n \"dup_misses_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"dup_misses_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"dup_misses_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n\n\n \"cacheHit_avg\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] }] },\n \"\"\n ]\n }\n },\n \"cacheHit_min\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] }] },\n \"\"\n ]\n }\n },\n \"cacheHit_max\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] }] },\n \"\"\n ]\n }\n },\n\n \"readReq_avg\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [\"&SQC_DCACHE_REQ_READ_1\", \"&SQC_DCACHE_REQ_READ_2\", \"&SQC_DCACHE_REQ_READ_4\", \"&SQC_DCACHE_REQ_READ_8\", \"&SQC_DCACHE_REQ_READ_16\"] }, \"&denom\"] }\n },\n \"readReq_min\": {\n \"$min\": { \"$divide\": [{ \"$add\": [\"&SQC_DCACHE_REQ_READ_1\", \"&SQC_DCACHE_REQ_READ_2\", \"&SQC_DCACHE_REQ_READ_4\", \"&SQC_DCACHE_REQ_READ_8\", \"&SQC_DCACHE_REQ_READ_16\"] }, \"&denom\"] }\n },\n \"readReq_max\": {\n \"$max\": { \"$divide\": [{ \"$add\": [\"&SQC_DCACHE_REQ_READ_1\", \"&SQC_DCACHE_REQ_READ_2\", \"&SQC_DCACHE_REQ_READ_4\", \"&SQC_DCACHE_REQ_READ_8\", \"&SQC_DCACHE_REQ_READ_16\"] }, \"&denom\"] }\n },\n\n\n \"atomicReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_ATOMIC\", \"&denom\"] }\n },\n \"atomicReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_ATOMIC\", \"&denom\"] }\n },\n \"atomicReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_ATOMIC\", \"&denom\"] }\n },\n\n \"read1d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_1\", \"&denom\"] }\n },\n \"read1d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_1\", \"&denom\"] }\n },\n \"read1d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_1\", \"&denom\"] }\n },\n\n \"read2d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_2\", \"&denom\"] }\n },\n \"read2d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_2\", \"&denom\"] }\n },\n \"read2d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_2\", \"&denom\"] }\n },\n\n \"read4d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_4\", \"&denom\"] }\n },\n \"read4d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_4\", \"&denom\"] }\n },\n \"read4d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_4\", \"&denom\"] }\n },\n\n \"read8d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_8\", \"&denom\"] }\n },\n \"read8d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_8\", \"&denom\"] }\n },\n \"read8d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_8\", \"&denom\"] }\n },\n\n \"read16d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_16\", \"&denom\"] }\n },\n \"read16d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_16\", \"&denom\"] }\n },\n \"read16d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_16\", \"&denom\"] }\n }\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&req_avg\",\n \"Min\": \"&req_min\",\n \"Max\": \"&req_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&hits_avg\",\n \"Min\": \"&hits_min\",\n \"Max\": \"&hits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Misses - Non Duplicated\",\n \"Mean\": \"&misses_avg\",\n \"Min\": \"&misses_min\",\n \"Max\": \"&misses_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Misses- Duplicated\",\n \"Mean\": \"&dup_misses_avg\",\n \"Min\": \"&dup_misses_min\",\n \"Max\": \"&dup_misses_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Cache Hit\",\n \"Mean\": \"&cacheHit_avg\",\n \"Min\": \"&cacheHit_min\",\n \"Max\": \"&cacheHit_max\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"Read Req (Total)\",\n \"Mean\": \"&readReq_avg\",\n \"Min\": \"&readReq_min\",\n \"Max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Atomic Req\",\n \"Mean\": \"&atomicReq_avg\",\n \"Min\": \"&atomicReq_min\",\n \"Max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (1 DWord)\",\n \"Mean\": \"&read1d_avg\",\n \"Min\": \"&read1d_min\",\n \"Max\": \"&read1d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (2 DWord)\",\n \"Mean\": \"&read2d_avg\",\n \"Min\": \"&read2d_min\",\n \"Max\": \"&read2d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (4 DWord)\",\n \"Mean\": \"&read4d_avg\",\n \"Min\": \"&read4d_min\",\n \"Max\": \"&read4d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (8 DWord)\",\n \"Mean\": \"&read8d_avg\",\n \"Min\": \"&read8d_min\",\n \"Max\": \"&read8d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (16 DWord)\",\n \"Mean\": \"&read16d_avg\",\n \"Min\": \"&read16d_min\",\n \"Max\": \"&read16d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "bhNVuvBnk" + }, + "hide": false, + "rawQuery": true, + "refId": "pmc_perf2", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Scalar L1D Cache)\"}}\n }}, \n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ\", \"&denom\"] }\n },\n \"req_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ\", \"&denom\"] }\n },\n \"req_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ\", \"&denom\"] }\n },\n\n \"hits_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_HITS\", \"&denom\"] }\n },\n \"hits_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_HITS\", \"&denom\"] }\n },\n \"hits_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_HITS\", \"&denom\"] }\n },\n\n \"dup_misses_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"dup_misses_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n \"dup_misses_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_MISSES_DUPLICATE\", \"&denom\"] }\n },\n\n\n \"cacheHit_avg\": {\n \"$avg\": { \n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] }] },\n \"\"\n ]\n }\n },\n \"cacheHit_min\": {\n \"$min\": { \n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] }] },\n \"\"\n ]\n }\n },\n \"cacheHit_max\": {\n \"$max\": { \n \"$cond\": [\n {\"$ne\": [{ \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] } , 0]},\n { \"$divide\": [{ \"$multiply\": [100, \"&SQC_DCACHE_HITS\"] }, { \"$add\": [\"&SQC_DCACHE_HITS\", \"&SQC_DCACHE_MISSES\", \"&SQC_DCACHE_MISSES_DUPLICATE\"] }] },\n \"\"\n ]\n }\n },\n\n \"readReq_avg\": {\n \"$avg\": { \"$divide\": [{ \"$add\": [\"&SQC_DCACHE_REQ_READ_1\", \"&SQC_DCACHE_REQ_READ_2\", \"&SQC_DCACHE_REQ_READ_4\", \"&SQC_DCACHE_REQ_READ_8\", \"&SQC_DCACHE_REQ_READ_16\"] }, \"&denom\"] }\n },\n \"readReq_min\": {\n \"$min\": { \"$divide\": [{ \"$add\": [\"&SQC_DCACHE_REQ_READ_1\", \"&SQC_DCACHE_REQ_READ_2\", \"&SQC_DCACHE_REQ_READ_4\", \"&SQC_DCACHE_REQ_READ_8\", \"&SQC_DCACHE_REQ_READ_16\"] }, \"&denom\"] }\n },\n \"readReq_max\": {\n \"$max\": { \"$divide\": [{ \"$add\": [\"&SQC_DCACHE_REQ_READ_1\", \"&SQC_DCACHE_REQ_READ_2\", \"&SQC_DCACHE_REQ_READ_4\", \"&SQC_DCACHE_REQ_READ_8\", \"&SQC_DCACHE_REQ_READ_16\"] }, \"&denom\"] }\n },\n\n \"atomicReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_ATOMIC\", \"&denom\"] }\n },\n \"atomicReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_ATOMIC\", \"&denom\"] }\n },\n \"atomicReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_ATOMIC\", \"&denom\"] }\n },\n\n\n \"read1d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_1\", \"&denom\"] }\n },\n \"read1d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_1\", \"&denom\"] }\n },\n \"read1d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_1\", \"&denom\"] }\n },\n\n \"read2d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_2\", \"&denom\"] }\n },\n \"read2d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_2\", \"&denom\"] }\n },\n \"read2d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_2\", \"&denom\"] }\n },\n\n \"read4d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_4\", \"&denom\"] }\n },\n \"read4d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_4\", \"&denom\"] }\n },\n \"read4d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_4\", \"&denom\"] }\n },\n\n \"read8d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_8\", \"&denom\"] }\n },\n \"read8d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_8\", \"&denom\"] }\n },\n \"read8d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_8\", \"&denom\"] }\n },\n\n \"read16d_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_16\", \"&denom\"] }\n },\n \"read16d_min\": {\n \"$min\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_16\", \"&denom\"] }\n },\n \"read16d_max\": {\n \"$max\": { \"$divide\": [\"&SQC_DCACHE_REQ_READ_16\", \"&denom\"] }\n }\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean 2\": \"&req_avg\",\n \"Min 2\": \"&req_min\",\n \"Max 2\": \"&req_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Hits\",\n \"Mean 2\": \"&hits_avg\",\n \"Min 2\": \"&hits_min\",\n \"Max 2\": \"&hits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Misses - Non Duplicated\",\n \"Mean 2\": \"&misses_avg\",\n \"Min 2\": \"&misses_min\",\n \"Max 2\": \"&misses_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Misses- Duplicated\",\n \"Mean 2\": \"&dup_misses_avg\",\n \"Min 2\": \"&dup_misses_min\",\n \"Max 2\": \"&dup_misses_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Cache Hit\",\n \"Mean 2\": \"&cacheHit_avg\",\n \"Min 2\": \"&cacheHit_min\",\n \"Max 2\": \"&cacheHit_max\",\n \"Unit\": \"pct\"\n },\n {\n \"Metric\": \"Read Req (Total)\",\n \"Mean 2\": \"&readReq_avg\",\n \"Min 2\": \"&readReq_min\",\n \"Max 2\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Write Req (Total)\",\n \"Mean 2\": \"&writeReq_avg\",\n \"Min 2\": \"&writeReq_min\",\n \"Max 2\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Atomic Req\",\n \"Mean 2\": \"&atomicReq_avg\",\n \"Min 2\": \"&atomicReq_min\",\n \"Max 2\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (1 DWord)\",\n \"Mean 2\": \"&read1d_avg\",\n \"Min 2\": \"&read1d_min\",\n \"Max 2\": \"&read1d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (2 DWord)\",\n \"Mean 2\": \"&read2d_avg\",\n \"Min 2\": \"&read2d_min\",\n \"Max 2\": \"&read2d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (4 DWord)\",\n \"Mean 2\": \"&read4d_avg\",\n \"Min 2\": \"&read4d_min\",\n \"Max 2\": \"&read4d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (8 DWord)\",\n \"Mean 2\": \"&read8d_avg\",\n \"Min 2\": \"&read8d_min\",\n \"Max 2\": \"&read8d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Read Req (16 DWord)\",\n \"Mean 2\": \"&read16d_avg\",\n \"Min 2\": \"&read16d_min\",\n \"Max 2\": \"&read16d_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Scalar L1D Cache Accesses", + "transformations": [ + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Max": 5, + "Max 2": 6, + "Mean": 1, + "Mean 2": 2, + "Metric": 0, + "Min": 3, + "Min 2": 4, + "Unit": 7 + }, + "renameByName": { + "Max": "Max (Current)", + "Max 2": "Max (Baseline)", + "Mean": "Avg (Current)", + "Mean 2": "Avg (Baseline)", + "Min": "Min (Current)", + "Min 2": "Min (Baseline)", + "Unit": "" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 135 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 105 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 112 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 134 + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 20 + }, + "id": 52, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"readReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_READ_REQ\", \"&denom\"] }\n },\n \"readReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_DATA_READ_REQ\", \"&denom\"] }\n },\n \"readReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_DATA_READ_REQ\", \"&denom\"] }\n },\n\n \"writeReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_WRITE_REQ\", \"&denom\"] }\n },\n \"writeReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_DATA_WRITE_REQ\", \"&denom\"] }\n },\n \"writeReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_DATA_WRITE_REQ\", \"&denom\"] }\n },\n\n \"atomicReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_ATOMIC_REQ\", \"&denom\"] }\n },\n \"atomicReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_DATA_ATOMIC_REQ\", \"&denom\"] }\n },\n \"atomicReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_DATA_ATOMIC_REQ\", \"&denom\"] }\n },\n\n \"tc2l1k_stall_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_STALL\", \"&denom\" ] }\n },\n \"tc2l1k_stall_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_STALL\", \"&denom\" ] }\n },\n \"tc2l1k_stall_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_STALL\", \"&denom\" ] }\n }\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Read Req\",\n \"Mean\": \"&readReq_avg\",\n \"Min\": \"&readReq_min\",\n \"Max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Write Req\",\n \"Mean\": \"&writeReq_avg\",\n \"Min\": \"&writeReq_min\",\n \"Max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Atomic Req\",\n \"Mean\": \"&atomicReq_avg\",\n \"Min\": \"&atomicReq_min\",\n \"Max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Stall\",\n \"Mean\": \"&tc2l1k_stall_avg\",\n \"Min\": \"&tc2l1k_stall_min\",\n \"Max\": \"&tc2l1k_stall_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}}, \n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Scalar L1D Cache)\"}}\n }},\n {\"$addFields\": {\n \n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"readReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_READ_REQ\", \"&denom\"] }\n },\n \"readReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_DATA_READ_REQ\", \"&denom\"] }\n },\n \"readReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_DATA_READ_REQ\", \"&denom\"] }\n },\n\n \"writeReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_WRITE_REQ\", \"&denom\"] }\n },\n \"writeReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_DATA_WRITE_REQ\", \"&denom\"] }\n },\n \"writeReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_DATA_WRITE_REQ\", \"&denom\"] }\n },\n\n \"atomicReq_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_DATA_ATOMIC_REQ\", \"&denom\"] }\n },\n \"atomicReq_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_DATA_ATOMIC_REQ\", \"&denom\"] }\n },\n \"atomicReq_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_DATA_ATOMIC_REQ\", \"&denom\"] }\n },\n\n \"tc2l1k_stall_avg\": {\n \"$avg\": { \"$divide\": [\"&SQC_TC_STALL\", \"&denom\" ] }\n },\n \"tc2l1k_stall_min\": {\n \"$min\": { \"$divide\": [\"&SQC_TC_STALL\", \"&denom\" ] }\n },\n \"tc2l1k_stall_max\": {\n \"$max\": { \"$divide\": [\"&SQC_TC_STALL\", \"&denom\" ] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Read Req\",\n \"Mean\": \"&readReq_avg\",\n \"Min\": \"&readReq_min\",\n \"Max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Write Req\",\n \"Mean\": \"&writeReq_avg\",\n \"Min\": \"&writeReq_min\",\n \"Max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Atomic Req\",\n \"Mean\": \"&atomicReq_avg\",\n \"Min\": \"&atomicReq_min\",\n \"Max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Stall\",\n \"Mean\": \"&tc2l1k_stall_avg\",\n \"Min\": \"&tc2l1k_stall_min\",\n \"Max\": \"&tc2l1k_stall_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n]);", + "type": "table" + } + ], + "title": "Scalar L1D Cache - L2 Interface", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Max 1": 7, + "Max 2": 8, + "Mean 1": 3, + "Mean 2": 4, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Unit 1": 9, + "Unit 2": 2 + }, + "renameByName": { + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Mean 1": "Avg (Current)", + "Mean 2": "Avg (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Scalar L1 Data Cache", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 13 + }, + "id": 130, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 133 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 112 + } + ] + } + ] + }, + "gridPos": { + "h": 17, + "w": 12, + "x": 0, + "y": 14 + }, + "id": 132, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"taBusy_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [100, \"&TA_TA_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}] }},\n \"taBusy_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [100, \"&TA_TA_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}] }},\n \"taBusy_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [100, \"&TA_TA_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}] }},\n\n \"tc2ta_addrStall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"tc2ta_addrStall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"tc2ta_addrStall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n\n \"tc2ta_dataStall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_DATA_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"tc2ta_dataStall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_DATA_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"tc2ta_dataStall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_DATA_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n\n \"td2ta_addrStall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TD_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"td2ta_addrStall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TD_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"td2ta_addrStall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TD_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n\n \"totalInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_TOTAL_WAVEFRONTS_sum\", \"&denom\"] }},\n \"totalInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_TOTAL_WAVEFRONTS_sum\", \"&denom\"] }},\n \"totalInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_TOTAL_WAVEFRONTS_sum\", \"&denom\"] }},\n\n \"flatInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\"] }},\n \"flatInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\"] }},\n \"flatInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\"] }},\n\n \"flatReadInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatReadInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatReadInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"flatWriteInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatWriteInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatWriteInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"flatAtomicInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatAtomicInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatAtomicInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferReadInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferReadInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferReadInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferWriteInstr_avg\":{\"$avg\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferWriteInstr_min\":{\"$min\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferWriteInstr_max\":{\"$max\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferAtomicInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferAtomicInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferAtomicInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"buffTotal_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_TOTAL_CYCLES_sum\", \"&denom\"] }},\n \"buffTotal_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_TOTAL_CYCLES_sum\", \"&denom\"] }},\n \"buffTotal_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_TOTAL_CYCLES_sum\", \"&denom\"] }},\n\n \"buffCoscaleRead_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_COALESCED_READ_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleRead_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_COALESCED_READ_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleRead_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_COALESCED_READ_CYCLES_sum\", \"&denom\"] }},\n\n \"buffCoscaleWrite_avg\":{\"$avg\": { \"$divide\": [ \"&TA_BUFFER_COALESCED_WRITE_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleWrite_min\":{\"$min\": { \"$divide\": [ \"&TA_BUFFER_COALESCED_WRITE_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleWrite_max\":{\"$max\": { \"$divide\": [ \"&TA_BUFFER_COALESCED_WRITE_CYCLES_sum\", \"&denom\"] }}\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"TA Busy\",\n \"avg\": \"&taBusy_avg\",\n \"min\": \"&taBusy_min\",\n \"max\": \"&taBusy_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TC2TA Addr Stall\",\n \"avg\": \"&tc2ta_addrStall_avg\",\n \"min\": \"&tc2ta_addrStall_min\",\n \"max\": \"&tc2ta_addrStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TC2TA Data Stall\",\n \"avg\": \"&tc2ta_dataStall_avg\",\n \"min\": \"&tc2ta_dataStall_min\",\n \"max\": \"&tc2ta_dataStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TD2TA Addr Stall\",\n \"avg\": \"&td2ta_addrStall_avg\",\n \"min\": \"&td2ta_addrStall_min\",\n \"max\": \"&td2ta_addrStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Total Instructions\",\n \"avg\": \"&totalInstr_avg\",\n \"min\": \"&totalInstr_min\",\n \"max\": \"&totalInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Instr\",\n \"avg\": \"&flatInstr_avg\",\n \"min\": \"&flatInstr_min\",\n \"max\": \"&flatInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Read Instr\",\n \"avg\": \"&flatReadInstr_avg\",\n \"min\": \"&flatReadInstr_min\",\n \"max\": \"&flatReadInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Write Instr\",\n \"avg\": \"&flatWriteInstr_avg\",\n \"min\": \"&flatWriteInstr_min\",\n \"max\": \"&flatWriteInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Atomic Instr\",\n \"avg\": \"&flatAtomicInstr_avg\",\n \"min\": \"&flatAtomicInstr_min\",\n \"max\": \"&flatAtomicInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Instr\",\n \"avg\": \"&bufferInstr_avg\",\n \"min\": \"&bufferInstr_min\",\n \"max\": \"&bufferInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Read Instr\",\n \"avg\": \"&bufferReadInstr_avg\",\n \"min\": \"&bufferReadInstr_min\",\n \"max\": \"&bufferReadInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Write Instr\",\n \"avg\": \"&bufferWriteInstr_avg\",\n \"min\": \"&bufferWriteInstr_min\",\n \"max\": \"&bufferWriteInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Atomic Instr\",\n \"avg\": \"&bufferAtomicInstr_avg\",\n \"min\": \"&bufferAtomicInstr_min\",\n \"max\": \"&bufferAtomicInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Total Cylces\",\n \"avg\": \"&buffTotal_avg\",\n \"min\": \"&buffTotal_min\",\n \"max\": \"&buffTotal_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Coalesced Read\",\n \"avg\": \"&buffCoscaleRead_avg\",\n \"min\": \"&buffCoscaleRead_min\",\n \"max\": \"&buffCoscaleRead_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Coalesced Write\",\n \"avg\": \"&buffCoscaleWrite_avg\",\n \"min\": \"&buffCoscaleWrite_min\",\n \"max\": \"&buffCoscaleWrite_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Texture Addr and Data)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"taBusy_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [100, \"&TA_TA_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}] }},\n \"taBusy_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [100, \"&TA_TA_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}] }},\n \"taBusy_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [100, \"&TA_TA_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}] }},\n\n \"tc2ta_addrStall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"tc2ta_addrStall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"tc2ta_addrStall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n\n \"tc2ta_dataStall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_DATA_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"tc2ta_dataStall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_DATA_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"tc2ta_dataStall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_DATA_STALLED_BY_TC_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n\n \"td2ta_addrStall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TD_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"td2ta_addrStall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TD_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"td2ta_addrStall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TA_ADDR_STALLED_BY_TD_CYCLES_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n\n \"totalInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_TOTAL_WAVEFRONTS_sum\", \"&denom\"] }},\n \"totalInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_TOTAL_WAVEFRONTS_sum\", \"&denom\"] }},\n \"totalInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_TOTAL_WAVEFRONTS_sum\", \"&denom\"] }},\n\n \"flatInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\"] }},\n \"flatInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\"] }},\n \"flatInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_WAVEFRONTS_sum\", \"&denom\"] }},\n\n \"flatReadInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatReadInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatReadInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"flatWriteInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatWriteInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatWriteInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"flatAtomicInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatAtomicInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"flatAtomicInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_FLAT_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferReadInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferReadInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferReadInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_READ_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferWriteInstr_avg\":{\"$avg\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferWriteInstr_min\":{\"$min\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferWriteInstr_max\":{\"$max\": { \"$divide\": [ \"&TA_BUFFER_WRITE_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"bufferAtomicInstr_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferAtomicInstr_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n \"bufferAtomicInstr_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_ATOMIC_WAVEFRONTS_sum\", \"&denom\"]}},\n\n \"buffTotal_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_TOTAL_CYCLES_sum\", \"&denom\"] }},\n \"buffTotal_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_TOTAL_CYCLES_sum\", \"&denom\"] }},\n \"buffTotal_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_TOTAL_CYCLES_sum\", \"&denom\"] }},\n\n \"buffCoscaleRead_avg\":{\"$avg\": {\"$divide\": [ \"&TA_BUFFER_COALESCED_READ_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleRead_min\":{\"$min\": {\"$divide\": [ \"&TA_BUFFER_COALESCED_READ_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleRead_max\":{\"$max\": {\"$divide\": [ \"&TA_BUFFER_COALESCED_READ_CYCLES_sum\", \"&denom\"] }},\n\n \"buffCoscaleWrite_avg\":{\"$avg\": { \"$divide\": [ \"&TA_BUFFER_COALESCED_WRITE_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleWrite_min\":{\"$min\": { \"$divide\": [ \"&TA_BUFFER_COALESCED_WRITE_CYCLES_sum\", \"&denom\"] }},\n \"buffCoscaleWrite_max\":{\"$max\": { \"$divide\": [ \"&TA_BUFFER_COALESCED_WRITE_CYCLES_sum\", \"&denom\"] }}\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"TA Busy\",\n \"avg\": \"&taBusy_avg\",\n \"min\": \"&taBusy_min\",\n \"max\": \"&taBusy_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TC2TA Addr Stall\",\n \"avg\": \"&tc2ta_addrStall_avg\",\n \"min\": \"&tc2ta_addrStall_min\",\n \"max\": \"&tc2ta_addrStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TC2TA Data Stall\",\n \"avg\": \"&tc2ta_dataStall_avg\",\n \"min\": \"&tc2ta_dataStall_min\",\n \"max\": \"&tc2ta_dataStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TD2TA Addr Stall\",\n \"avg\": \"&td2ta_addrStall_avg\",\n \"min\": \"&td2ta_addrStall_min\",\n \"max\": \"&td2ta_addrStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Total Instructions\",\n \"avg\": \"&totalInstr_avg\",\n \"min\": \"&totalInstr_min\",\n \"max\": \"&totalInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Instr\",\n \"avg\": \"&flatInstr_avg\",\n \"min\": \"&flatInstr_min\",\n \"max\": \"&flatInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Read Instr\",\n \"avg\": \"&flatReadInstr_avg\",\n \"min\": \"&flatReadInstr_min\",\n \"max\": \"&flatReadInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Write Instr\",\n \"avg\": \"&flatWriteInstr_avg\",\n \"min\": \"&flatWriteInstr_min\",\n \"max\": \"&flatWriteInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Flat Atomic Instr\",\n \"avg\": \"&flatAtomicInstr_avg\",\n \"min\": \"&flatAtomicInstr_min\",\n \"max\": \"&flatAtomicInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Instr\",\n \"avg\": \"&bufferInstr_avg\",\n \"min\": \"&bufferInstr_min\",\n \"max\": \"&bufferInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Read Instr\",\n \"avg\": \"&bufferReadInstr_avg\",\n \"min\": \"&bufferReadInstr_min\",\n \"max\": \"&bufferReadInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Write Instr\",\n \"avg\": \"&bufferWriteInstr_avg\",\n \"min\": \"&bufferWriteInstr_min\",\n \"max\": \"&bufferWriteInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Atomic Instr\",\n \"avg\": \"&bufferAtomicInstr_avg\",\n \"min\": \"&bufferAtomicInstr_min\",\n \"max\": \"&bufferAtomicInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Total Cylces\",\n \"avg\": \"&buffTotal_avg\",\n \"min\": \"&buffTotal_min\",\n \"max\": \"&buffTotal_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Coalesced Read\",\n \"avg\": \"&buffCoscaleRead_avg\",\n \"min\": \"&buffCoscaleRead_min\",\n \"max\": \"&buffCoscaleRead_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n },\n {\n \"metric\": \"Buffer Coalesced Write\",\n \"avg\": \"&buffCoscaleWrite_avg\",\n \"min\": \"&buffCoscaleWrite_min\",\n \"max\": \"&buffCoscaleWrite_max\",\n \"Unit\": {\"$concat\": [\"Cycles \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "TA", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Unit 2": true, + "metric 2": true + }, + "indexByName": { + "Unit 1": 9, + "Unit 2": 2, + "avg 1": 3, + "avg 2": 4, + "max 1": 7, + "max 2": 8, + "metric 1": 0, + "metric 2": 1, + "min 1": 5, + "min 2": 6 + }, + "renameByName": { + "avg 1": "Avg (Current)", + "avg 2": "Avg (Baseline)", + "max 1": "Max (Current)", + "max 2": "Max (Baseline)", + "min 1": "Min (Current)", + "min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 124 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 120 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 135 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 130 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 108 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 136 + } + ] + } + ] + }, + "gridPos": { + "h": 17, + "w": 12, + "x": 12, + "y": 14 + }, + "id": 134, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"tdBusy_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TD_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}] }},\n \"tdBusy_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TD_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}] }},\n \"tdBusy_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TD_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}] }},\n\n \"tc2tdStall_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TC_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"tc2tdStall_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TC_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"tc2tdStall_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TC_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n\n \"spi2td_stall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TD_SPI_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"spi2td_stall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TD_SPI_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n \"spi2td_stall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TD_SPI_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU]}]}},\n\n \"coscaleInstr_avg\":{\"$avg\": {\"$divide\": [\"&TD_COALESCABLE_WAVEFRONT_sum\", \"&denom\"] }},\n \"coscaleInstr_min\":{\"$min\": {\"$divide\": [\"&TD_COALESCABLE_WAVEFRONT_sum\", \"&denom\"] }},\n \"coscaleInstr_max\":{\"$max\": {\"$divide\": [\"&TD_COALESCABLE_WAVEFRONT_sum\", \"&denom\"] }},\n\n \"loadInstr_avg\":{\"$avg\": {\"$divide\": [{ \"$subtract\": [{ \"$subtract\": [\"&TD_LOAD_WAVEFRONT_sum\", \"&TD_STORE_WAVEFRONT_sum\"]}, \"&TD_ATOMIC_WAVEFRONT_sum\"] }, \"&denom\" ] }},\n \"loadInstr_min\":{\"$min\": {\"$divide\": [{ \"$subtract\": [{ \"$subtract\": [\"&TD_LOAD_WAVEFRONT_sum\", \"&TD_STORE_WAVEFRONT_sum\"]}, \"&TD_ATOMIC_WAVEFRONT_sum\"] }, \"&denom\" ] }},\n \"loadInstr_max\":{\"$max\": {\"$divide\": [{ \"$subtract\": [{ \"$subtract\": [\"&TD_LOAD_WAVEFRONT_sum\", \"&TD_STORE_WAVEFRONT_sum\"]}, \"&TD_ATOMIC_WAVEFRONT_sum\"] }, \"&denom\" ] }},\n\n \"storeInstr_avg\":{\"$avg\": {\"$divide\": [\"&TD_STORE_WAVEFRONT_sum\", \"&denom\" ] }},\n \"storeInstr_min\":{\"$min\": {\"$divide\": [\"&TD_STORE_WAVEFRONT_sum\", \"&denom\" ] }},\n \"storeInstr_max\":{\"$max\": {\"$divide\": [\"&TD_STORE_WAVEFRONT_sum\", \"&denom\" ] }},\n\n \"atomicInstr_avg\":{\"$avg\": {\"$divide\": [\"&TD_ATOMIC_WAVEFRONT_sum\", \"&denom\" ]}},\n \"atomicInstr_min\":{\"$min\": {\"$divide\": [\"&TD_ATOMIC_WAVEFRONT_sum\", \"&denom\" ]}},\n \"atomicInstr_max\":{\"$max\": {\"$divide\": [\"&TD_ATOMIC_WAVEFRONT_sum\", \"&denom\" ]}}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"TD Busy\",\n \"avg\": \"&tdBusy_avg\",\n \"min\": \"&tdBusy_min\",\n \"max\": \"&tdBusy_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TC2TD Stall\",\n \"avg\": \"&tc2tdStall_avg\",\n \"min\": \"&tc2tdStall_min\",\n \"max\": \"&tc2tdStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"SPI2TD Stall\",\n \"avg\": \"&spi2td_stall_avg\",\n \"min\": \"&spi2td_stall_min\",\n \"max\": \"&spi2td_stall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Coalescable Instr\",\n \"avg\": \"&coscaleInstr_avg\",\n \"min\": \"&coscaleInstr_min\",\n \"max\": \"&coscaleInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Load Instr\",\n \"avg\": \"&loadInstr_avg\",\n \"min\": \"&loadInstr_min\",\n \"max\": \"&loadInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Store Instr\",\n \"avg\": \"&storeInstr_avg\",\n \"min\": \"&storeInstr_min\",\n \"max\": \"&storeInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Instr\",\n \"avg\": \"&atomicInstr_avg\",\n \"min\": \"&atomicInstr_min\",\n \"max\": \"&atomicInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Texture Addr and Data)\"}}\n }},\n {\"$addFields\": {\n \n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"tdBusy_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TD_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}] }},\n \"tdBusy_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TD_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}] }},\n \"tdBusy_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TD_BUSY_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}] }},\n\n \"tc2tdStall_avg\":{\"$avg\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TC_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"tc2tdStall_min\":{\"$min\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TC_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"tc2tdStall_max\":{\"$max\": { \"$divide\": [ { \"$multiply\": [100, \"&TD_TC_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n\n \"spi2td_stall_avg\":{\"$avg\": {\"$divide\": [ { \"$multiply\": [100, \"&TD_SPI_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"spi2td_stall_min\":{\"$min\": {\"$divide\": [ { \"$multiply\": [100, \"&TD_SPI_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n \"spi2td_stall_max\":{\"$max\": {\"$divide\": [ { \"$multiply\": [100, \"&TD_SPI_STALL_sum\"] }, { \"$multiply\": [\"&GRBM_GUI_ACTIVE\", $numCU2]}]}},\n\n \"coscaleInstr_avg\":{\"$avg\": {\"$divide\": [\"&TD_COALESCABLE_WAVEFRONT_sum\", \"&denom\"] }},\n \"coscaleInstr_min\":{\"$min\": {\"$divide\": [\"&TD_COALESCABLE_WAVEFRONT_sum\", \"&denom\"] }},\n \"coscaleInstr_max\":{\"$max\": {\"$divide\": [\"&TD_COALESCABLE_WAVEFRONT_sum\", \"&denom\"] }},\n\n \"loadInstr_avg\":{\"$avg\": {\"$divide\": [{ \"$subtract\": [{ \"$subtract\": [\"&TD_LOAD_WAVEFRONT_sum\", \"&TD_STORE_WAVEFRONT_sum\"]}, \"&TD_ATOMIC_WAVEFRONT_sum\"] }, \"&denom\" ] }},\n \"loadInstr_min\":{\"$min\": {\"$divide\": [{ \"$subtract\": [{ \"$subtract\": [\"&TD_LOAD_WAVEFRONT_sum\", \"&TD_STORE_WAVEFRONT_sum\"]}, \"&TD_ATOMIC_WAVEFRONT_sum\"] }, \"&denom\" ] }},\n \"loadInstr_max\":{\"$max\": {\"$divide\": [{ \"$subtract\": [{ \"$subtract\": [\"&TD_LOAD_WAVEFRONT_sum\", \"&TD_STORE_WAVEFRONT_sum\"]}, \"&TD_ATOMIC_WAVEFRONT_sum\"] }, \"&denom\" ] }},\n\n \"storeInstr_avg\":{\"$avg\": {\"$divide\": [\"&TD_STORE_WAVEFRONT_sum\", \"&denom\" ] }},\n \"storeInstr_min\":{\"$min\": {\"$divide\": [\"&TD_STORE_WAVEFRONT_sum\", \"&denom\" ] }},\n \"storeInstr_max\":{\"$max\": {\"$divide\": [\"&TD_STORE_WAVEFRONT_sum\", \"&denom\" ] }},\n\n \"atomicInstr_avg\":{\"$avg\": {\"$divide\": [\"&TD_ATOMIC_WAVEFRONT_sum\", \"&denom\" ]}},\n \"atomicInstr_min\":{\"$min\": {\"$divide\": [\"&TD_ATOMIC_WAVEFRONT_sum\", \"&denom\" ]}},\n \"atomicInstr_max\":{\"$max\": {\"$divide\": [\"&TD_ATOMIC_WAVEFRONT_sum\", \"&denom\" ]}}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"TD Busy\",\n \"avg\": \"&tdBusy_avg\",\n \"min\": \"&tdBusy_min\",\n \"max\": \"&tdBusy_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"TC2TD Stall\",\n \"avg\": \"&tc2tdStall_avg\",\n \"min\": \"&tc2tdStall_min\",\n \"max\": \"&tc2tdStall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"SPI2TD Stall\",\n \"avg\": \"&spi2td_stall_avg\",\n \"min\": \"&spi2td_stall_min\",\n \"max\": \"&spi2td_stall_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Coalescable Instr\",\n \"avg\": \"&coscaleInstr_avg\",\n \"min\": \"&coscaleInstr_min\",\n \"max\": \"&coscaleInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Load Instr\",\n \"avg\": \"&loadInstr_avg\",\n \"min\": \"&loadInstr_min\",\n \"max\": \"&loadInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Store Instr\",\n \"avg\": \"&storeInstr_avg\",\n \"min\": \"&storeInstr_min\",\n \"max\": \"&storeInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Instr\",\n \"avg\": \"&atomicInstr_avg\",\n \"min\": \"&atomicInstr_min\",\n \"max\": \"&atomicInstr_max\",\n \"Unit\": {\"$concat\": [\"Instr \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n ]);", + "type": "table" + } + ], + "title": "TD", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Unit 2": true, + "metric 2": true + }, + "indexByName": { + "Unit 1": 9, + "Unit 2": 2, + "avg 1": 3, + "avg 2": 4, + "max 1": 7, + "max 2": 8, + "metric 1": 0, + "metric 2": 1, + "min 1": 5, + "min 2": 6 + }, + "renameByName": { + "avg 1": "Avg (Current)", + "avg 2": "Avg (Baseline)", + "max 1": "Max (Current)", + "max 2": "Max (Baseline)", + "min 1": "Min (Current)", + "min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Texture Addresser and Texture Data (TA/TD)", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 14 + }, + "id": 112, + "panels": [ + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 15 + }, + "id": 165, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"bufferCoalescing_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_ACCESSES_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TA_TOTAL_WAVEFRONTS_sum\", 64, 100]}, {\"$multiply\": [\"&TCP_TOTAL_ACCESSES_sum\", 4]}] },\n null\n ]\n }\n },\n \"cacheUtil_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TCP_GATE_EN2_sum\", 100]}, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }\n },\n \n \"cacheBW_pct\": {\n \"$avg\": { \"$divide\": [ {\"$multiply\":[64, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"]}, \n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} \n ] \n }\n },\n \"cacheHit_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0] },\n { \"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]\n }] \n },\n null\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Buffer Coalescing\": \"&bufferCoalescing_pct\",\n \"Cache Util\": \"&cacheUtil_pct\",\n \"Cache BW\": { \"$divide\": [{ \"$multiply\": [100, \"&cacheBW_pct\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numCU]}] },\n \"Cache Hit\": \"&cacheHit_pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"bufferCoalescing_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_ACCESSES_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TA_TOTAL_WAVEFRONTS_sum\", 64, 100]}, {\"$multiply\": [\"&TCP_TOTAL_ACCESSES_sum\", 4]}] },\n null\n ]\n }\n },\n \"cacheUtil_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TCP_GATE_EN2_sum\", 100]}, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }\n },\n \"cacheBW_pct\": {\n \"$avg\": { \"$divide\": [ {\"$multiply\":[64, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"]}, \n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} \n ] \n }\n },\n \"cacheHit_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0] },\n { \"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]\n }] \n },\n null\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Buffer Coalescing\": \"&bufferCoalescing_pct\",\n \"Cache Util\": \"&cacheUtil_pct\",\n \"Cache BW\": { \"$divide\": [{ \"$multiply\": [100, \"&cacheBW_pct\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numCU2]}] },\n \"Cache Hit\": \"&cacheHit_pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Speed-of-Light: Vector L1D Cache", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "128B Read Combining 1": 6, + "128B Read Combining 2": 7, + "Buffer Coalescing 1": 0, + "Buffer Coalescing 2": 1, + "Cache BW 1": 2, + "Cache BW 2": 3, + "Cache Hit 1": 4, + "Cache Hit 2": 5 + }, + "renameByName": { + "128B Read Combining 1": "128B Read Combining (Current)", + "128B Read Combining 2": "128B Read Combining(Baseline)", + "Buffer Coalescing 1": "Buf Coalescing (Current)", + "Buffer Coalescing 2": "Buf Coalescing (Baseline)", + "Cache BW 1": "Cache BW (Current)", + "Cache BW 2": "Cache BW (Baseline)", + "Cache Hit 1": "Cache Hit (Current)", + "Cache Hit 2": "Cache Hit (Baseline)", + "Cache Util 1": "Cache Util (Current)", + "Cache Util 2": "Cache Util (Baseline)" + } + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "color-background" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "transparent", + "value": null + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 52 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 199 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 121 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 144 + } + ] + } + ] + }, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 15 + }, + "id": 116, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"l2Pending_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n\n\n \"tcr2tcp_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \"readTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \n \"writeTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \n \"atomicTagRam_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }} \n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Stalled on L2 Data\",\n \"Mean\": \"&l2Pending_avg\",\n \"Min\": \"&l2Pending_min\",\n \"Max\": \"&l2Pending_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Stalled on L2 Req\",\n \"Mean\": \"&tcr2tcp_Stall_avg\",\n \"Min\":\"&tcr2tcp_Stall_min\",\n \"Max\":\"&tcr2tcp_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Read)\",\n \"Mean\": \"&readTagRam_Stall_avg\",\n \"Min\": \"&readTagRam_Stall_min\",\n \"Max\": \"&readTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Write)\",\n \"Mean\": \"&writeTagRam_Stall_avg\",\n \"Min\": \"&writeTagRam_Stall_min\",\n \"Max\": \"&writeTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Atomic)\",\n \"Mean\": \"&atomicTagRam_Stall_avg\",\n \"Min\": \"&atomicTagRam_Stall_min\",\n \"Max\": \"&atomicTagRam_Stall_max\",\n \"unit\":\"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"l2Pending_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n\n \"tcr2tcp_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \"readTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \n \"writeTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \n \"atomicTagRam_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }} \n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Stalled on L2 Data\",\n \"Mean\": \"&l2Pending_avg\",\n \"Min\": \"&l2Pending_min\",\n \"Max\": \"&l2Pending_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Stalled on L2 Req\",\n \"Mean\": \"&tcr2tcp_Stall_avg\",\n \"Min\":\"&tcr2tcp_Stall_min\",\n \"Max\":\"&tcr2tcp_Stall_max\",\n \"unit\":\"pct\"\n },\n\n {\n \"Metric\": \"Tag RAM Stall (Read)\",\n \"Mean\": \"&readTagRam_Stall_avg\",\n \"Min\": \"&readTagRam_Stall_min\",\n \"Max\": \"&readTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Write)\",\n \"Mean\": \"&writeTagRam_Stall_avg\",\n \"Min\": \"&writeTagRam_Stall_min\",\n \"Max\": \"&writeTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Atomic)\",\n \"Mean\": \"&atomicTagRam_Stall_avg\",\n \"Min\": \"&atomicTagRam_Stall_min\",\n \"Max\": \"&atomicTagRam_Stall_max\",\n \"unit\":\"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D Cache Stalls", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Units 2": true, + "unit 2": true + }, + "indexByName": { + "Max 1": 6, + "Max 2": 7, + "Mean 1": 2, + "Mean 2": 3, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 4, + "Min 2": 5, + "unit 1": 9, + "unit 2": 8 + }, + "renameByName": { + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Mean 1": "Avg (Current)", + "Mean 2": "Avg (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)", + "unit 1": "Unit" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 116 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 78 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 139 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 50 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "custom.width", + "value": 148 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 127 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 111 + } + ] + } + ] + }, + "gridPos": { + "h": 18, + "w": 12, + "x": 0, + "y": 28 + }, + "id": 128, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n\n \"totalReq_avg\":{\"$avg\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_min\":{\"$min\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_max\":{\"$max\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n\n \"cacheAccess_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n\n \"cacheHits_avg\":{\"$avg\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_min\":{\"$min\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_max\":{\"$max\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \n \"cacheHitRate_avg\":{\"$avg\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_min\":{\"$min\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_max\":{\"$max\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n\n\n \"l2TCRRead_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n\n\n \"l2Write_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n\n \"l2Atomic_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n\n \"invalidate_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n\n\n \"l1Latency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n\n\n \"l2ReadLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n\n \"l2WriteLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }}\n\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Total Req\",\n \"avg\": \"&totalReq_avg\",\n \"min\": \"&totalReq_min\",\n \"max\": \"&totalReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&atomicReq_avg\",\n \"min\": \"&atomicReq_min\",\n \"max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Accesses\",\n \"avg\": \"&cacheAccess_avg\",\n \"min\": \"&cacheAccess_min\",\n \"max\": \"&cacheAccess_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hits\",\n \"avg\": \"&cacheHits_avg\",\n \"min\": \"&cacheHits_min\",\n \"max\": \"&cacheHits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit Rate\",\n \"avg\": \"&cacheHitRate_avg\",\n \"min\": \"&cacheHitRate_min\",\n \"max\": \"&cacheHitRate_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Invalidate\",\n \"avg\": \"&invalidate_avg\",\n \"min\": \"&invalidate_min\",\n \"max\": \"&invalidate_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"L1-TCR Read\",\n \"avg\": \"&l2TCRRead_avg\",\n \"min\": \"&l2TCRRead_min\",\n \"max\": \"&l2TCRRead_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Write\",\n \"avg\": \"&l2Write_avg\",\n \"min\": \"&l2Write_min\",\n \"max\": \"&l2Write_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Atomic\",\n \"avg\": \"&l2Atomic_avg\",\n \"min\": \"&l2Atomic_min\",\n \"max\": \"&l2Atomic_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1 Access Latency\",\n \"avg\": \"&l1Latency_avg\",\n \"min\": \"&l1Latency_min\",\n \"max\": \"&l1Latency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Read Latency\",\n \"avg\": \"&l2ReadLatency_avg\",\n \"min\": \"&l2ReadLatency_min\",\n \"max\": \"&l2ReadLatency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Write Latency\",\n \"avg\": \"&l2WriteLatency_avg\",\n \"min\": \"&l2WriteLatency_min\",\n \"max\": \"&l2WriteLatency_max\",\n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n\n \"totalReq_avg\":{\"$avg\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_min\":{\"$min\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_max\":{\"$max\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n\n \"cacheAccess_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n\n \"cacheHits_avg\":{\"$avg\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_min\":{\"$min\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_max\":{\"$max\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \n \"cacheHitRate_avg\":{\"$avg\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_min\":{\"$min\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_max\":{\"$max\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n\n\n \"l2TCRRead_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n\n\n \"l2Write_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n\n \"l2Atomic_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n\n\n\n \"invalidate_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n\n\n \"l1Latency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n\n\n \"l2ReadLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n\n \"l2WriteLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Total Req\",\n \"avg\": \"&totalReq_avg\",\n \"min\": \"&totalReq_min\",\n \"max\": \"&totalReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&atomicReq_avg\",\n \"min\": \"&atomicReq_min\",\n \"max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Accesses\",\n \"avg\": \"&cacheAccess_avg\",\n \"min\": \"&cacheAccess_min\",\n \"max\": \"&cacheAccess_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hits\",\n \"avg\": \"&cacheHits_avg\",\n \"min\": \"&cacheHits_min\",\n \"max\": \"&cacheHits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit Rate\",\n \"avg\": \"&cacheHitRate_avg\",\n \"min\": \"&cacheHitRate_min\",\n \"max\": \"&cacheHitRate_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Invalidate\",\n \"avg\": \"&invalidate_avg\",\n \"min\": \"&invalidate_min\",\n \"max\": \"&invalidate_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"L1-TCR Read\",\n \"avg\": \"&l2TCRRead_avg\",\n \"min\": \"&l2TCRRead_min\",\n \"max\": \"&l2TCRRead_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Write\",\n \"avg\": \"&l2Write_avg\",\n \"min\": \"&l2Write_min\",\n \"max\": \"&l2Write_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Atomic\",\n \"avg\": \"&l2Atomic_avg\",\n \"min\": \"&l2Atomic_min\",\n \"max\": \"&l2Atomic_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1 Access Latency\",\n \"avg\": \"&l1Latency_avg\",\n \"min\": \"&l1Latency_min\",\n \"max\": \"&l1Latency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Read Latency\",\n \"avg\": \"&l2ReadLatency_avg\",\n \"min\": \"&l2ReadLatency_min\",\n \"max\": \"&l2ReadLatency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Write Latency\",\n \"avg\": \"&l2WriteLatency_avg\",\n \"min\": \"&l2WriteLatency_min\",\n \"max\": \"&l2WriteLatency_max\",\n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D Cache Accesses", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Unit 2": true, + "metric 2": true + }, + "indexByName": { + "Unit 1": 9, + "Unit 2": 8, + "avg 1": 1, + "avg 2": 2, + "max 1": 5, + "max 2": 6, + "metric 1": 0, + "metric 2": 7, + "min 1": 3, + "min 2": 4 + }, + "renameByName": { + "avg 1": "Avg (Current)", + "avg 2": "Avg (Baseline)", + "max 1": "Max (Current)", + "max 2": "Max (Baseline)", + "min 1": "Min (Current)", + "min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "Aggregate": "last", + "BarPadding": 30, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupColName": "Coherency", + "GroupCols": 2, + "GroupGap": 5, + "GroupLabelColor": "#FF9830", + "GroupLabelFontSize": "100%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 0, + "Horizontal": true, + "LabelColName": "Xfer", + "LabelColor": "#ffffff", + "LabelFontSize": "100%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 0, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#FADE2A", + "ValueDecimals": 0, + "ValueFontSize": "100%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:172", + "Col": 2, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Mean", + "Selected": true + } + ], + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 28 + }, + "id": 120, + "pluginVersion": "8.2.1", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "tlh8EwUnk" + }, + "rawQuery": true, + "refId": "A", + "target": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n\n \"readNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \n \"writeNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \n \"atomicNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&readNC_avg\",\n \"Min\": \"&readNC_min\",\n \"Max\": \"&readNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&readUC_avg\",\n \"Min\": \"&readUC_min\",\n \"Max\": \"&readUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&readCC_avg\",\n \"Min\": \"&readCC_min\",\n \"Max\": \"&readCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&readRW_avg\",\n \"Min\": \"&readRW_min\",\n \"Max\": \"&readRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&writeRW_avg\",\n \"Min\": \"&writeRW_min\",\n \"Max\": \"&writeRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&writeNC_avg\",\n \"Min\": \"&writeNC_min\",\n \"Max\": \"&writeNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&writeUC_avg\",\n \"Min\": \"&writeUC_min\",\n \"Max\": \"&writeUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&writeCC_avg\",\n \"Min\": \"&writeCC_min\",\n \"Max\": \"&writeCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&atomicNC_avg\",\n \"Min\": \"&atomicNC_min\",\n \"Max\": \"&atomicNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&atomicUC_avg\",\n \"Min\": \"&atomicUC_min\",\n \"Max\": \"&atomicUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&atomicCC_avg\",\n \"Min\": \"&atomicCC_min\",\n \"Max\": \"&atomicCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&atomicRW_avg\",\n \"Min\": \"&atomicRW_min\",\n \"Max\": \"&atomicRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D - L2 Transactions Req $normUnit", + "transparent": true, + "type": "michaeldmoore-multistat-panel" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Units" + }, + "properties": [ + { + "id": "custom.width", + "value": 75 + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 36 + }, + "id": 124, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n\n\n \"hitRatio_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n\n \"hits_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n\n \"missesTrans_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n\n \"missesPermis_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&req_avg\",\n \"Min\":\"&req_min\",\n \"Max\":\"&req_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Hit Ratio\",\n \"Mean\": \"&hitRatio_avg\",\n \"Min\":\"&hitRatio_min\",\n \"Max\":\"&hitRatio_max\",\n \"Units\":\"pct\"\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&hits_avg\",\n \"Min\":\"&hits_min\",\n \"Max\":\"&hits_max\",\n \"Units\":{ \"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Translation)\",\n \"Mean\": \"&missesTrans_avg\",\n \"Min\":\"&missesTrans_min\",\n \"Max\":\"&missesTrans_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Permission)\",\n \"Mean\": \"&missesPermis_avg\",\n \"Min\":\"&missesPermis_min\",\n \"Max\":\"&missesPermis_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n\n\n \"hitRatio_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n\n \"hits_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n\n \"missesTrans_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n\n \"missesPermis_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&req_avg\",\n \"Min\":\"&req_min\",\n \"Max\":\"&req_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Hit Ratio\",\n \"Mean\": \"&hitRatio_avg\",\n \"Min\":\"&hitRatio_min\",\n \"Max\":\"&hitRatio_max\",\n \"Units\":\"pct\"\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&hits_avg\",\n \"Min\":\"&hits_min\",\n \"Max\":\"&hits_max\",\n \"Units\":{ \"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Translation)\",\n \"Mean\": \"&missesTrans_avg\",\n \"Min\":\"&missesTrans_min\",\n \"Max\":\"&missesTrans_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Permission)\",\n \"Mean\": \"&missesPermis_avg\",\n \"Min\":\"&missesPermis_min\",\n \"Max\":\"&missesPermis_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D Addr Translation", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Units 2": true + }, + "indexByName": { + "Max 1": 7, + "Max 2": 8, + "Mean 1": 3, + "Mean 2": 4, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Units 1": 9, + "Units 2": 2 + }, + "renameByName": { + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Mean 1": "Avg (Current)", + "Mean 2": "Avg (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "Vector L1 Data Cache", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 15 + }, + "id": 56, + "panels": [ + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green" + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "L2-EA Rd BW - GB/s" + }, + "properties": [ + { + "id": "unit", + "value": "GBs" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L2-EA Rd BW " + }, + "properties": [ + { + "id": "unit", + "value": "GBs" + }, + { + "id": "max", + "value": 1638 + }, + { + "id": "color" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L2 Util" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + }, + { + "id": "thresholds", + "value": { + "mode": "percentage", + "steps": [ + { + "color": "green" + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + } + }, + { + "id": "max", + "value": 100 + }, + { + "id": "min", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Cache Hit" + }, + "properties": [ + { + "id": "max", + "value": 100 + }, + { + "id": "unit", + "value": "percent" + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + } + }, + { + "id": "min", + "value": 0 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L2-EA Wr BW" + }, + "properties": [ + { + "id": "unit", + "value": "GBs" + }, + { + "id": "max", + "value": 1638 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "L2-EA Rd BW" + }, + "properties": [ + { + "id": "unit", + "value": "GBs" + }, + { + "id": "max", + "value": 1638 + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 16 + }, + "id": 64, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": true + }, + "showUnfilled": true, + "text": { + "titleSize": 14, + "valueSize": 16 + } + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n{\"$group\": {\n \"_id\": null,\n \"L2Util\": {\n \"$avg\": { \n \n \"$divide\": [\n {\"$multiply\": [\"&TCC_BUSY_sum\", 100]},\n {\"$multiply\": [{\"$toInt\":\"$L2Banks\"}, \"&GRBM_GUI_ACTIVE\"] }\n ] \n } \n },\n\n \"cacheHit\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n 0\n ] \n }},\n\n \"l2eaRdBW\": {\n \"$avg\": { \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \n \"l2eaWrBW\": {\n \"$avg\": { \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"L2 Util\": \"&L2Util\",\n \"Cache Hit\": \"&cacheHit\",\n \"L2-EA Rd BW\": \"&l2eaRdBW\",\n \"L2-EA Wr BW\": \"&l2eaWrBW\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(L2 Cache)\"}}\n }},\n\n{\"$group\": {\n \"_id\": null,\n \"L2Util\": {\n \"$avg\": { \n \"$divide\": [\n {\"$multiply\": [\"&TCC_BUSY_sum\", 100]},\n {\"$multiply\": [{\"$toInt\":\"$L2Banks2\"}, \"&GRBM_GUI_ACTIVE\"] }\n ] \n } \n },\n\n \"cacheHit\": {\n \"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n 0\n ] \n }},\n\n \"l2eaRdBW\": {\n \"$avg\": { \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n },\n \n \"l2eaWrBW\": {\n \"$avg\": { \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }\n }\n }\n },\n {\"$set\": {\n \"array\": [\n {\n \"L2 Util\": \"&L2Util\",\n \"Cache Hit\": \"&cacheHit\",\n \"L2-EA Rd BW\": \"&l2eaRdBW\",\n \"L2-EA Wr BW\": \"&l2eaWrBW\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Speed-of-Light: L2 Cache", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Cache Hit 1": 2, + "Cache Hit 2": 3, + "L2 Util 1": 0, + "L2 Util 2": 1, + "L2-EA Rd BW 1": 4, + "L2-EA Rd BW 2": 5, + "L2-EA Wr BW 1": 6, + "L2-EA Wr BW 2": 7 + }, + "renameByName": { + "Cache Hit 1": "L2 Cache Hit (Current)", + "Cache Hit 2": "L2 Cache Hit (Baseline)", + "L2 Util 1": "L2 Util (Current)", + "L2 Util 2": "L2 Util (Baseline)", + "L2-EA Rd BW - GB/s 1": "L2-EA RD BW (Current)", + "L2-EA Rd BW - GB/s 2": "L2-EA RD BW (baseline)", + "L2-EA Rd BW 1": "L2-EA Rd BW (Current)", + "L2-EA Rd BW 2": "L2-EA Rd BW (Baseline)", + "L2-EA Wr BW - GB/s 1": "L2-EA WR BW (Current)", + "L2-EA Wr BW - GB/s 2": "L2-EA WR BW (Baseline)", + "L2-EA Wr BW 1": "L2-EA Wr BW (Current)", + "L2-EA Wr BW 2": "L2-EA Wr BW (Baseline)" + } + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 106 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 114 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 148 + } + ] + } + ] + }, + "gridPos": { + "h": 16, + "w": 12, + "x": 12, + "y": 16 + }, + "id": 62, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": \"null\",\n \"readStall_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"readStall_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"readStall_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n\n \"writeStall_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"writeStall_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"writeStall_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n\n \n \"readBW_avg\":{\"$avg\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, \"&denom\" ]\n }},\n \"readBW_min\":{\"$min\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, \"&denom\" ]\n }},\n \"readBW_max\":{\"$max\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, \"&denom\" ]\n }},\n\n \"writeBW_avg\":{\"$avg\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, \"&denom\" ]\n }},\n \"writeBW_min\":{\"$min\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, \"&denom\" ]\n }},\n \"writeBW_max\":{\"$max\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, \"&denom\" ]\n }},\n\n \"read32_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_32B_sum\", \"&denom\" ]\n }},\n \"read32_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_32B_sum\", \"&denom\" ]\n }},\n \"read32_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_32B_sum\", \"&denom\" ]\n }},\n\n \"read32Uncached_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_RD_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"read32Uncached_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_RD_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"read32Uncached_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_RD_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n\n \"read64_avg\":{\"$avg\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, \"&denom\" ]\n }},\n \"read64_min\":{\"$min\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, \"&denom\" ]\n }},\n \"read64_max\":{\"$max\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, \"&denom\" ]\n }},\n\n \"hbmRead_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmRead_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmRead_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_DRAM_sum\", \"&denom\" ]\n }},\n\n \"write32_avg\":{\"$avg\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, \"&denom\" ]\n }},\n \"write32_min\":{\"$min\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, \"&denom\" ]\n }},\n \"write32_max\":{\"$max\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, \"&denom\" ]\n }},\n\n \"write32Uncached_avg\": {\"$avg\":{\n \"$divide\": [ \"&TCC_EA_WR_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"write32Uncached_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_WR_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"write32Uncached_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_WR_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n\n \"write64_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_64B_sum\", \"&denom\" ]\n }},\n \"write64_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_64B_sum\", \"&denom\" ]\n }},\n \"write64_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_64B_sum\", \"&denom\" ]\n }},\n\n \"hbmWrite_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmWrite_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmWrite_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_DRAM_sum\", \"&denom\" ]\n }},\n\n \"readLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\" ] },\n null\n ]\n }},\n \"readLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\" ] },\n null\n ]\n }},\n \"readLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\" ] },\n null\n ]\n }},\n\n \"writeLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\" ] },\n null\n ]\n }},\n \"writeLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\" ] },\n null\n ]\n }},\n \"writeLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\" ] },\n null\n ]\n }},\n\n \"atomicOpLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_ATOMIC_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_ATOMIC_LEVEL_sum\", \"&TCC_EA_ATOMIC_sum\" ] },\n null\n ]\n }},\n \"atomicOpLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_ATOMIC_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_ATOMIC_LEVEL_sum\", \"&TCC_EA_ATOMIC_sum\" ] },\n null\n ]\n }},\n \"atomicOpLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_ATOMIC_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_ATOMIC_LEVEL_sum\", \"&TCC_EA_ATOMIC_sum\" ] },\n null\n ]\n }}\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Read BW\",\n \"Avg\": \"&readBW_avg\",\n \"Min\":\"&readBW_min\",\n \"Max\":\"&readBW_max\",\n \"Unit\":{\"$concat\": [\"Bytes \", $normUnit] }\n },\n {\n \"Metric\": \"Write BW\",\n \"Avg\": \"&writeBW_avg\",\n \"Min\":\"&writeBW_min\",\n \"Max\":\"&writeBW_max\",\n \"Unit\":{\"$concat\": [\"Bytes \", $normUnit] }\n },\n {\n \"Metric\": \"Read (32B)\",\n \"Avg\": \"&read32_avg\",\n \"Min\":\"&read32_min\",\n \"Max\":\"&read32_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Read (Uncached 32B)\",\n \"Avg\": \"&read32Uncached_avg\",\n \"Min\":\"&read32Uncached_min\",\n \"Max\":\"&read32Uncached_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Read (64B)\",\n \"Avg\": \"&read64_avg\",\n \"Min\":\"&read64_min\",\n \"Max\":\"&read64_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"HBM Read\",\n \"Avg\": \"&hbmRead_avg\",\n \"Min\":\"&hbmRead_min\",\n \"Max\":\"&hbmRead_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Write (32B)\",\n \"Avg\": \"&write32_avg\",\n \"Min\":\"&write32_min\",\n \"Max\":\"&write32_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Write (Uncached 32B)\",\n \"Avg\": \"&write32Uncached_avg\",\n \"Min\":\"&write32Uncached_min\",\n \"Max\":\"&write32Uncached_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Write (64B)\",\n \"Avg\": \"&write64_avg\",\n \"Min\":\"&write64_min\",\n \"Max\":\"&write64_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"HBM Write\",\n \"Avg\": \"&hbmWrite_avg\",\n \"Min\":\"&hbmWrite_min\",\n \"Max\":\"&hbmWrite_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Read Latency\",\n \"Avg\": \"&readLatency_avg\",\n \"Min\":\"&readLatency_min\",\n \"Max\":\"&readLatency_max\",\n \"Unit\":\"Cycles\"\n },\n {\n \"Metric\": \"Write Latency\",\n \"Avg\": \"&writeLatency_avg\",\n \"Min\":\"&writeLatency_min\",\n \"Max\":\"&writeLatency_max\",\n \"Unit\":\"Cycles\"\n },\n {\n \"Metric\": \"Atomic Latency\",\n \"Avg\": \"&atomicOpLatency_avg\",\n \"Min\":\"&atomicOpLatency_min\",\n \"Max\":\"&atomicOpLatency_max\",\n \"Unit\":\"Cycles\"\n },\n {\n \"Metric\": \"Read Stall\",\n \"Avg\": \"&readStall_avg\",\n \"Min\":\"&readStall_min\",\n \"Max\":\"&readStall_max\",\n \"Unit\":\"pct\"\n },\n {\n \"Metric\": \"Write Stall\",\n \"Avg\": \"&writeStall_avg\",\n \"Min\":\"&writeStall_min\",\n \"Max\":\"&writeStall_max\",\n \"Unit\":\"pct\"\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(L2 Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": \"null\",\n \"readStall_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"readStall_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"readStall_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n\n \"writeStall_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"writeStall_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n \"writeStall_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_BUSY_sum\", 0]},\n { \"$divide\": [ \n {\"$multiply\": [100, {\"$add\":[\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\"]}]},\n \"&TCC_BUSY_sum\" \n ]},\n null\n ]\n }},\n\n \"readBW_avg\":{\"$avg\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, \"&denom\" ]\n }},\n \"readBW_min\":{\"$min\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, \"&denom\" ]\n }},\n \"readBW_max\":{\"$max\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_RDREQ_32B_sum\", 32]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, 64] } ] }, \"&denom\" ]\n }},\n\n \"writeBW_avg\":{\"$avg\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, \"&denom\" ]\n }},\n \"writeBW_min\":{\"$min\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, \"&denom\" ]\n }},\n \"writeBW_max\":{\"$max\": {\n \"$divide\": [ { \"$add\" : [{ \"$multiply\": [\"&TCC_EA_WRREQ_64B_sum\", 64]}, { \"$multiply\": [{ \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, 32] } ] }, \"&denom\" ]\n }},\n\n \"read32_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_32B_sum\", \"&denom\" ]\n }},\n \"read32_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_32B_sum\", \"&denom\" ]\n }},\n \"read32_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_32B_sum\", \"&denom\" ]\n }},\n\n \"read32Uncached_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_RD_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"read32Uncached_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_RD_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"read32Uncached_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_RD_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n\n \"read64_avg\":{\"$avg\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, \"&denom\" ]\n }},\n \"read64_min\":{\"$min\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, \"&denom\" ]\n }},\n \"read64_max\":{\"$max\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_RDREQ_sum\", \"&TCC_EA_RDREQ_32B_sum\"] }, \"&denom\" ]\n }},\n\n \"hbmRead_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmRead_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmRead_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_RDREQ_DRAM_sum\", \"&denom\" ]\n }},\n\n \"write32_avg\":{\"$avg\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, \"&denom\" ]\n }},\n \"write32_min\":{\"$min\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, \"&denom\" ]\n }},\n \"write32_max\":{\"$max\": {\n \"$divide\": [ { \"$subtract\": [\"&TCC_EA_WRREQ_sum\", \"&TCC_EA_WRREQ_64B_sum\"] }, \"&denom\" ]\n }},\n\n \"write32Uncached_avg\": {\"$avg\":{\n \"$divide\": [ \"&TCC_EA_WR_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"write32Uncached_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_WR_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n \"write32Uncached_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_WR_UNCACHED_32B_sum\", \"&denom\" ]\n }},\n\n \"write64_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_64B_sum\", \"&denom\" ]\n }},\n \"write64_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_64B_sum\", \"&denom\" ]\n }},\n \"write64_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_64B_sum\", \"&denom\" ]\n }},\n\n \"hbmWrite_avg\":{\"$avg\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmWrite_min\":{\"$min\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_DRAM_sum\", \"&denom\" ]\n }},\n \"hbmWrite_max\":{\"$max\": {\n \"$divide\": [ \"&TCC_EA_WRREQ_DRAM_sum\", \"&denom\" ]\n }},\n\n \"readLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\" ] },\n null\n ]\n }},\n \"readLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\" ] },\n null\n ]\n }},\n \"readLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_RDREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_RDREQ_LEVEL_sum\", \"&TCC_EA_RDREQ_sum\" ] },\n null\n ]\n }},\n\n \"writeLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\" ] },\n null\n ]\n }},\n \"writeLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\" ] },\n null\n ]\n }},\n \"writeLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_WRREQ_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_WRREQ_LEVEL_sum\", \"&TCC_EA_WRREQ_sum\" ] },\n null\n ]\n }},\n\n \"atomicOpLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_ATOMIC_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_ATOMIC_LEVEL_sum\", \"&TCC_EA_ATOMIC_sum\" ] },\n null\n ]\n }},\n \"atomicOpLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_ATOMIC_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_ATOMIC_LEVEL_sum\", \"&TCC_EA_ATOMIC_sum\" ] },\n null\n ]\n }},\n \"atomicOpLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCC_EA_ATOMIC_sum\", 0]},\n { \"$divide\": [ \"&TCC_EA_ATOMIC_LEVEL_sum\", \"&TCC_EA_ATOMIC_sum\" ] },\n null\n ]\n }}\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Read BW\",\n \"Avg\": \"&readBW_avg\",\n \"Min\":\"&readBW_min\",\n \"Max\":\"&readBW_max\",\n \"Unit\":{\"$concat\": [\"Bytes \", $normUnit] }\n },\n {\n \"Metric\": \"Write BW\",\n \"Avg\": \"&writeBW_avg\",\n \"Min\":\"&writeBW_min\",\n \"Max\":\"&writeBW_max\",\n \"Unit\":{\"$concat\": [\"Bytes \", $normUnit] }\n },\n {\n \"Metric\": \"Read (32B)\",\n \"Avg\": \"&read32_avg\",\n \"Min\":\"&read32_min\",\n \"Max\":\"&read32_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Read (Uncached 32B)\",\n \"Avg\": \"&read32Uncached_avg\",\n \"Min\":\"&read32Uncached_min\",\n \"Max\":\"&read32Uncached_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Read (64B)\",\n \"Avg\": \"&read64_avg\",\n \"Min\":\"&read64_min\",\n \"Max\":\"&read64_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"HBM Read\",\n \"Avg\": \"&hbmRead_avg\",\n \"Min\":\"&hbmRead_min\",\n \"Max\":\"&hbmRead_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Write (32B)\",\n \"Avg\": \"&write32_avg\",\n \"Min\":\"&write32_min\",\n \"Max\":\"&write32_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Write (Uncached 32B)\",\n \"Avg\": \"&write32Uncached_avg\",\n \"Min\":\"&write32Uncached_min\",\n \"Max\":\"&write32Uncached_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Write (64B)\",\n \"Avg\": \"&write64_avg\",\n \"Min\":\"&write64_min\",\n \"Max\":\"&write64_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n\n {\n \"Metric\": \"HBM Write\",\n \"Avg\": \"&hbmWrite_avg\",\n \"Min\":\"&hbmWrite_min\",\n \"Max\":\"&hbmWrite_max\",\n \"Unit\":{\"$concat\": [\"Req \", $normUnit] }\n },\n {\n \"Metric\": \"Read Latency\",\n \"Avg\": \"&readLatency_avg\",\n \"Min\":\"&readLatency_min\",\n \"Max\":\"&readLatency_max\",\n \"Unit\":\"Cycles\"\n },\n {\n \"Metric\": \"Write Latency\",\n \"Avg\": \"&writeLatency_avg\",\n \"Min\":\"&writeLatency_min\",\n \"Max\":\"&writeLatency_max\",\n \"Unit\":\"Cycles\"\n },\n {\n \"Metric\": \"Atomic Latency\",\n \"Avg\": \"&atomicOpLatency_avg\",\n \"Min\":\"&atomicOpLatency_min\",\n \"Max\":\"&atomicOpLatency_max\",\n \"Unit\":\"Cycles\"\n },\n {\n \"Metric\": \"Read Stall\",\n \"Avg\": \"&readStall_avg\",\n \"Min\":\"&readStall_min\",\n \"Max\":\"&readStall_max\",\n \"Unit\":\"pct\"\n },\n {\n \"Metric\": \"Write Stall\",\n \"Avg\": \"&writeStall_avg\",\n \"Min\":\"&writeStall_min\",\n \"Max\":\"&writeStall_max\",\n \"Unit\":\"pct\"\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "L2 - Fabric Transactions", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Unit 2": true + }, + "indexByName": { + "Avg 1": 3, + "Avg 2": 4, + "Max 1": 7, + "Max 2": 8, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Unit 1": 9, + "Unit 2": 2 + }, + "renameByName": { + "Avg 1": "Avg (Current)", + "Avg 2": "Avg (Baseline)", + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 178 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 128 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 121 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 126 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 128 + } + ] + } + ] + }, + "gridPos": { + "h": 20, + "w": 12, + "x": 0, + "y": 23 + }, + "id": 58, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_REQ_sum\", \"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [ \"&TCC_REQ_sum\", \"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [ \"&TCC_REQ_sum\", \"&denom\"] }},\n\n \"streamingReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_STREAMING_REQ_sum\", \"&denom\" ] }},\n \"streamingReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_STREAMING_REQ_sum\", \"&denom\" ] }},\n \"streamingReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_STREAMING_REQ_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_ATOMIC_sum\", \"&denom\" ]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_ATOMIC_sum\", \"&denom\" ]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_ATOMIC_sum\", \"&denom\" ]}},\n\n \"probeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_PROBE_sum\", \"&denom\" ]}},\n \"probeReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_PROBE_sum\", \"&denom\" ]}},\n \"probeReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_PROBE_sum\", \"&denom\" ]}},\n\n \"hits_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_HIT_sum\", \"&denom\"] }},\n \"hits_min\":{\"$min\": {\"$divide\": [ \"&TCC_HIT_sum\", \"&denom\"] }},\n \"hits_max\":{\"$max\": {\"$divide\": [ \"&TCC_HIT_sum\", \"&denom\"] }},\n\n \"misses_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_MISS_sum\", \"&denom\"] }},\n \"misses_min\":{\"$min\": { \"$divide\": [ \"&TCC_MISS_sum\", \"&denom\"] }},\n \"misses_max\":{\"$max\": { \"$divide\": [ \"&TCC_MISS_sum\", \"&denom\"] }},\n\n \"cacheHit_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n null\n ] \n }},\n \"cacheHit_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n null\n ] \n }},\n \"cacheHit_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n null\n ] \n }},\n\n\n \"writeback_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_WRITEBACK_sum\", \"&denom\"] }},\n \"writeback_min\":{\"$min\": {\"$divide\": [ \"&TCC_WRITEBACK_sum\", \"&denom\"] }},\n \"writeback_max\":{\"$max\": {\"$divide\": [ \"&TCC_WRITEBACK_sum\", \"&denom\"] }},\n\n \"nc_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_NC_REQ_sum\", \"&denom\" ] }},\n \"nc_min\":{\"$min\": {\"$divide\": [ \"&TCC_NC_REQ_sum\", \"&denom\" ] }},\n \"nc_max\":{\"$max\": {\"$divide\": [ \"&TCC_NC_REQ_sum\", \"&denom\" ] }},\n\n \"uc_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_UC_REQ_sum\", \"&denom\" ] }},\n \"uc_min\":{\"$min\": {\"$divide\": [ \"&TCC_UC_REQ_sum\", \"&denom\" ] }},\n \"uc_max\":{\"$max\": {\"$divide\": [ \"&TCC_UC_REQ_sum\", \"&denom\" ] }},\n\n \"cc_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_CC_REQ_sum\", \"&denom\" ] }},\n \"cc_min\":{\"$min\": {\"$divide\": [ \"&TCC_CC_REQ_sum\", \"&denom\" ] }},\n \"cc_max\":{\"$max\": {\"$divide\": [ \"&TCC_CC_REQ_sum\", \"&denom\" ] }},\n\n \"rw_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_RW_REQ_sum\", \"&denom\" ] }},\n \"rw_min\":{\"$min\": {\"$divide\": [ \"&TCC_RW_REQ_sum\", \"&denom\" ] }},\n \"rw_max\":{\"$max\": {\"$divide\": [ \"&TCC_RW_REQ_sum\", \"&denom\" ] }},\n\n \"writebackNorm_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_NORMAL_WRITEBACK_sum\", \"&denom\" ]}},\n \"writebackNorm_min\":{\"$min\": {\"$divide\": [ \"&TCC_NORMAL_WRITEBACK_sum\", \"&denom\" ]}},\n \"writebackNorm_max\":{\"$max\": {\"$divide\": [ \"&TCC_NORMAL_WRITEBACK_sum\", \"&denom\" ]}},\n\n \"writebackTC_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_ALL_TC_OP_WB_WRITEBACK_sum\", \"&denom\" ] }},\n \"writebackTC_min\":{\"$min\": {\"$divide\": [ \"&TCC_ALL_TC_OP_WB_WRITEBACK_sum\", \"&denom\" ] }},\n \"writebackTC_max\":{\"$max\": {\"$divide\": [ \"&TCC_ALL_TC_OP_WB_WRITEBACK_sum\", \"&denom\" ] }},\n\n \"evictNorm_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_NORMAL_EVICT_sum\", \"&denom\" ] }},\n \"evictNorm_min\":{\"$min\": { \"$divide\": [ \"&TCC_NORMAL_EVICT_sum\", \"&denom\" ] }},\n \"evictNorm_max\":{\"$max\": { \"$divide\": [ \"&TCC_NORMAL_EVICT_sum\", \"&denom\" ] }},\n\n \"evictTC_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_ALL_TC_OP_INV_EVICT_sum\", \"&denom\" ] }},\n \"evictTC_min\":{\"$min\": { \"$divide\": [ \"&TCC_ALL_TC_OP_INV_EVICT_sum\", \"&denom\" ] }},\n \"evictTC_max\":{\"$max\": { \"$divide\": [ \"&TCC_ALL_TC_OP_INV_EVICT_sum\", \"&denom\" ] }},\n\n\n \"readReq128_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCR_REQ_XFER128B_COMBINING_sum\", \"&denom\" ] }},\n \"readReq128_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCR_REQ_XFER128B_COMBINING_sum\", \"&denom\" ] }},\n \"readReq128_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCR_REQ_XFER128B_COMBINING_sum\", \"&denom\" ] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Req\",\n \"avg\": \"&req_avg\",\n \"min\": \"&req_min\",\n \"max\": \"&req_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Streaming Req\",\n \"avg\": \"&streamingReq_avg\",\n \"min\": \"&streamingReq_min\",\n \"max\": \"&streamingReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n \n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&atomicReq_avg\",\n \"min\": \"&atomicReq_min\",\n \"max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Probe Req\",\n \"avg\": \"&probeReq_avg\",\n \"min\": \"&probeReq_min\",\n \"max\": \"&probeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Hits\",\n \"avg\": \"&hits_avg\",\n \"min\": \"&hits_min\",\n \"max\": \"&hits_max\",\n \"Unit\": {\"$concat\": [\"Hits \", $normUnit]}\n }, \n {\n \"metric\": \"Misses\",\n \"avg\": \"&misses_avg\",\n \"min\": \"&misses_min\",\n \"max\": \"&misses_max\",\n \"Unit\": {\"$concat\": [\"Misses \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit\",\n \"avg\": \"&cacheHit_avg\",\n \"min\": \"&cacheHit_min\",\n \"max\": \"&cacheHit_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Writeback\",\n \"avg\": \"&writeback_avg\",\n \"min\": \"&writeback_min\",\n \"max\": \"&writeback_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"NC Req\",\n \"avg\": \"&nc_avg\",\n \"min\": \"&nc_min\",\n \"max\": \"&nc_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"UC Req\",\n \"avg\": \"&uc_avg\",\n \"min\": \"&uc_min\",\n \"max\": \"&uc_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"CC Req\",\n \"avg\": \"&cc_avg\",\n \"min\": \"&cc_min\",\n \"max\": \"&cc_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"RW Req\",\n \"avg\": \"&rw_avg\",\n \"min\": \"&rw_min\",\n \"max\": \"&rw_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Writeback (Normal)\",\n \"avg\": \"&writebackNorm_avg\",\n \"min\": \"&writebackNorm_min\",\n \"max\": \"&writebackNorm_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"Writeback (TC Req)\",\n \"avg\": \"&writebackTC_avg\",\n \"min\": \"&writebackTC_min\",\n \"max\": \"&writebackTC_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"Evict (Normal)\",\n \"avg\": \"&evictNorm_avg\",\n \"min\": \"&evictNorm_min\",\n \"max\": \"&evictNorm_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"Evict (TC Req)\",\n \"avg\": \"&evictTC_avg\",\n \"min\": \"&evictTC_min\",\n \"max\": \"&evictTC_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n }\n\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(L2 Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_REQ_sum\", \"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [ \"&TCC_REQ_sum\", \"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [ \"&TCC_REQ_sum\", \"&denom\"] }},\n\n \"streamingReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_STREAMING_REQ_sum\", \"&denom\" ] }},\n \"streamingReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_STREAMING_REQ_sum\", \"&denom\" ] }},\n \"streamingReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_STREAMING_REQ_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_ATOMIC_sum\", \"&denom\" ]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_ATOMIC_sum\", \"&denom\" ]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_ATOMIC_sum\", \"&denom\" ]}},\n\n \"probeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_PROBE_sum\", \"&denom\" ]}},\n \"probeReq_min\":{\"$min\": {\"$divide\": [ \"&TCC_PROBE_sum\", \"&denom\" ]}},\n \"probeReq_max\":{\"$max\": {\"$divide\": [ \"&TCC_PROBE_sum\", \"&denom\" ]}},\n\n \"hits_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_HIT_sum\", \"&denom\"] }},\n \"hits_min\":{\"$min\": {\"$divide\": [ \"&TCC_HIT_sum\", \"&denom\"] }},\n \"hits_max\":{\"$max\": {\"$divide\": [ \"&TCC_HIT_sum\", \"&denom\"] }},\n\n \"misses_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_MISS_sum\", \"&denom\"] }},\n \"misses_min\":{\"$min\": { \"$divide\": [ \"&TCC_MISS_sum\", \"&denom\"] }},\n \"misses_max\":{\"$max\": { \"$divide\": [ \"&TCC_MISS_sum\", \"&denom\"] }},\n\n \"cacheHit_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n null\n ] \n }},\n \"cacheHit_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n null\n ] \n }},\n \"cacheHit_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{ \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] }, 0]},\n { \"$divide\": [ { \"$multiply\": [100, \"&TCC_HIT_sum\"] }, { \"$add\": [ \"&TCC_HIT_sum\", \"&TCC_MISS_sum\" ] } ] },\n null\n ] \n }},\n\n\n \"writeback_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_WRITEBACK_sum\", \"&denom\"] }},\n \"writeback_min\":{\"$min\": {\"$divide\": [ \"&TCC_WRITEBACK_sum\", \"&denom\"] }},\n \"writeback_max\":{\"$max\": {\"$divide\": [ \"&TCC_WRITEBACK_sum\", \"&denom\"] }},\n\n \"nc_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_NC_REQ_sum\", \"&denom\" ] }},\n \"nc_min\":{\"$min\": {\"$divide\": [ \"&TCC_NC_REQ_sum\", \"&denom\" ] }},\n \"nc_max\":{\"$max\": {\"$divide\": [ \"&TCC_NC_REQ_sum\", \"&denom\" ] }},\n\n \"uc_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_UC_REQ_sum\", \"&denom\" ] }},\n \"uc_min\":{\"$min\": {\"$divide\": [ \"&TCC_UC_REQ_sum\", \"&denom\" ] }},\n \"uc_max\":{\"$max\": {\"$divide\": [ \"&TCC_UC_REQ_sum\", \"&denom\" ] }},\n\n \"cc_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_CC_REQ_sum\", \"&denom\" ] }},\n \"cc_min\":{\"$min\": {\"$divide\": [ \"&TCC_CC_REQ_sum\", \"&denom\" ] }},\n \"cc_max\":{\"$max\": {\"$divide\": [ \"&TCC_CC_REQ_sum\", \"&denom\" ] }},\n\n \"rw_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_RW_REQ_sum\", \"&denom\" ] }},\n \"rw_min\":{\"$min\": {\"$divide\": [ \"&TCC_RW_REQ_sum\", \"&denom\" ] }},\n \"rw_max\":{\"$max\": {\"$divide\": [ \"&TCC_RW_REQ_sum\", \"&denom\" ] }},\n\n \"writebackNorm_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_NORMAL_WRITEBACK_sum\", \"&denom\" ]}},\n \"writebackNorm_min\":{\"$min\": {\"$divide\": [ \"&TCC_NORMAL_WRITEBACK_sum\", \"&denom\" ]}},\n \"writebackNorm_max\":{\"$max\": {\"$divide\": [ \"&TCC_NORMAL_WRITEBACK_sum\", \"&denom\" ]}},\n\n \"writebackTC_avg\":{\"$avg\": {\"$divide\": [ \"&TCC_ALL_TC_OP_WB_WRITEBACK_sum\", \"&denom\" ] }},\n \"writebackTC_min\":{\"$min\": {\"$divide\": [ \"&TCC_ALL_TC_OP_WB_WRITEBACK_sum\", \"&denom\" ] }},\n \"writebackTC_max\":{\"$max\": {\"$divide\": [ \"&TCC_ALL_TC_OP_WB_WRITEBACK_sum\", \"&denom\" ] }},\n\n \"evictNorm_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_NORMAL_EVICT_sum\", \"&denom\" ] }},\n \"evictNorm_min\":{\"$min\": { \"$divide\": [ \"&TCC_NORMAL_EVICT_sum\", \"&denom\" ] }},\n \"evictNorm_max\":{\"$max\": { \"$divide\": [ \"&TCC_NORMAL_EVICT_sum\", \"&denom\" ] }},\n\n \"evictTC_avg\":{\"$avg\": { \"$divide\": [ \"&TCC_ALL_TC_OP_INV_EVICT_sum\", \"&denom\" ] }},\n \"evictTC_min\":{\"$min\": { \"$divide\": [ \"&TCC_ALL_TC_OP_INV_EVICT_sum\", \"&denom\" ] }},\n \"evictTC_max\":{\"$max\": { \"$divide\": [ \"&TCC_ALL_TC_OP_INV_EVICT_sum\", \"&denom\" ] }},\n\n \"readReq128_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCR_REQ_XFER128B_COMBINING_sum\", \"&denom\" ] }},\n \"readReq128_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCR_REQ_XFER128B_COMBINING_sum\", \"&denom\" ] }},\n \"readReq128_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCR_REQ_XFER128B_COMBINING_sum\", \"&denom\" ] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Req\",\n \"avg\": \"&req_avg\",\n \"min\": \"&req_min\",\n \"max\": \"&req_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Streaming Req\",\n \"avg\": \"&streamingReq_avg\",\n \"min\": \"&streamingReq_min\",\n \"max\": \"&streamingReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n \n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&atomicReq_avg\",\n \"min\": \"&atomicReq_min\",\n \"max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Probe Req\",\n \"avg\": \"&probeReq_avg\",\n \"min\": \"&probeReq_min\",\n \"max\": \"&probeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Hits\",\n \"avg\": \"&hits_avg\",\n \"min\": \"&hits_min\",\n \"max\": \"&hits_max\",\n \"Unit\": {\"$concat\": [\"Hits \", $normUnit]}\n }, \n {\n \"metric\": \"Misses\",\n \"avg\": \"&misses_avg\",\n \"min\": \"&misses_min\",\n \"max\": \"&misses_max\",\n \"Unit\": {\"$concat\": [\"Misses \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit\",\n \"avg\": \"&cacheHit_avg\",\n \"min\": \"&cacheHit_min\",\n \"max\": \"&cacheHit_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Writeback\",\n \"avg\": \"&writeback_avg\",\n \"min\": \"&writeback_min\",\n \"max\": \"&writeback_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"NC Req\",\n \"avg\": \"&nc_avg\",\n \"min\": \"&nc_min\",\n \"max\": \"&nc_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"UC Req\",\n \"avg\": \"&uc_avg\",\n \"min\": \"&uc_min\",\n \"max\": \"&uc_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"CC Req\",\n \"avg\": \"&cc_avg\",\n \"min\": \"&cc_min\",\n \"max\": \"&cc_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"RW Req\",\n \"avg\": \"&rw_avg\",\n \"min\": \"&rw_min\",\n \"max\": \"&rw_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Writeback (Normal)\",\n \"avg\": \"&writebackNorm_avg\",\n \"min\": \"&writebackNorm_min\",\n \"max\": \"&writebackNorm_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"Writeback (TC Req)\",\n \"avg\": \"&writebackTC_avg\",\n \"min\": \"&writebackTC_min\",\n \"max\": \"&writebackTC_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"Evict (Normal)\",\n \"avg\": \"&evictNorm_avg\",\n \"min\": \"&evictNorm_min\",\n \"max\": \"&evictNorm_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"Evict (TC Req)\",\n \"avg\": \"&evictTC_avg\",\n \"min\": \"&evictTC_min\",\n \"max\": \"&evictTC_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n\n]);", + "type": "table" + } + ], + "title": "L2 Cache Accesses", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Unit 2": true, + "metric 2": true + }, + "indexByName": { + "Unit 1": 9, + "Unit 2": 2, + "avg 1": 3, + "avg 2": 4, + "max 1": 7, + "max 2": 8, + "metric 1": 0, + "metric 2": 1, + "min 1": 5, + "min 2": 6 + }, + "renameByName": { + "avg 1": "Avg (Current)", + "avg 2": "Avg (Baseline)", + "max 1": "Max (Current)", + "max 2": "Max (Baseline)", + "min 1": "Min (Current)", + "min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "Aggregate": "last", + "BarPadding": 30, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupColName": "Transaction", + "GroupCols": 1, + "GroupGap": 5, + "GroupLabelColor": "#FADE2A", + "GroupLabelFontSize": "120%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 0, + "Horizontal": true, + "LabelColName": "Metric", + "LabelColor": "#ffffff", + "LabelFontSize": "80%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 0, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#FF9830", + "ValueDecimals": 0, + "ValueFontSize": "100%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:81", + "Col": 3, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Selected": true + } + ], + "datasource": {}, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 32 + }, + "id": 60, + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "$Workload1.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n \"ioStall_READ_avg\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"ioStall_READ_min\": {\n \"$min\": { \"$divide\": [\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"ioStall_READ_max\": {\n \"$max\": { \"$divide\": [\"&TCC_EA_RDREQ_IO_CREDIT_STALL_sum\", \"&denom\"] }\n },\n\n \"gmiStall_READ_avg\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"gmiStall_READ_min\": {\n \"$min\": { \"$divide\": [\"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"gmiStall_READ_max\": {\n \"$max\": { \"$divide\": [\"&TCC_EA_RDREQ_GMI_CREDIT_STALL_sum\", \"&denom\"] }\n },\n\n \"hbmStall_READ_avg\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"hbmStall_READ_min\": {\n \"$min\": { \"$divide\": [\"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"hbmStall_READ_max\": {\n \"$max\": { \"$divide\": [\"&TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum\", \"&denom\"] }\n },\n\n \"ioStall_WRITE_avg\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"ioStall_WRITE_min\": {\n \"$min\": { \"$divide\": [\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"ioStall_WRITE_max\": {\n \"$max\": { \"$divide\": [\"&TCC_EA_WRREQ_IO_CREDIT_STALL_sum\", \"&denom\"] }\n },\n\n \"gmiStall_WRITE_avg\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"gmiStall_WRITE_min\": {\n \"$min\": { \"$divide\": [\"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"gmiStall_WRITE_max\": {\n \"$max\": { \"$divide\": [\"&TCC_EA_WRREQ_GMI_CREDIT_STALL_sum\", \"&denom\"] }\n },\n\n \"hbmStall_WRITE_avg\": {\n \"$avg\": { \"$divide\": [\"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"hbmStall_WRITE_min\": {\n \"$min\": { \"$divide\": [\"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\", \"&denom\"] }\n },\n \"hbmStall_WRITE_max\": {\n \"$max\": { \"$divide\": [\"&TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum\", \"&denom\"] }\n },\n\n \"creditStarvation_avg\": {\n \"$avg\": { \"$divide\": [\"&TCC_TOO_MANY_EA_WRREQS_STALL_sum\", \"&denom\"] }\n },\n \"creditStarvation_min\": {\n \"$min\": { \"$divide\": [\"&TCC_TOO_MANY_EA_WRREQS_STALL_sum\", \"&denom\"] }\n },\n \"creditStarvation_max\": {\n \"$max\": { \"$divide\": [\"&TCC_TOO_MANY_EA_WRREQS_STALL_sum\", \"&denom\"] }\n } \n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Remote Socket Stall\",\n \"Transaction\": \"Read\",\n \"Target\": \"I/O\",\n \"Avg\": \"&ioStall_READ_avg\",\n \"Min\": \"&ioStall_READ_min\",\n \"Max\": \"&ioStall_READ_max\", \n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Peer GCD Stall\",\n \"Transaction\": \"Read\",\n \"Target\": \"GMI\",\n \"Avg\": \"&gmiStall_READ_avg\",\n \"Min\": \"&gmiStall_READ_min\",\n \"Max\": \"&gmiStall_READ_max\", \n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"HBM Stall\",\n \"Transaction\": \"Read\",\n \"Target\": \"HBM\",\n \"Avg\": \"&hbmStall_READ_avg\",\n \"Min\": \"&hbmStall_READ_min\",\n \"Max\": \"&hbmStall_READ_max\", \n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Remote Socket Stall\",\n \"Transaction\": \"Write\",\n \"Target\": \"I/O\",\n \"Avg\": \"&ioStall_WRITE_avg\",\n \"Min\": \"&ioStall_WRITE_min\",\n \"Max\": \"&ioStall_WRITE_max\", \n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Peer GCD Stall\",\n \"Transaction\": \"Write\",\n \"Target\": \"GMI\",\n \"Avg\": \"&gmiStall_WRITE_avg\",\n \"Min\": \"&gmiStall_WRITE_min\",\n \"Max\": \"&gmiStall_WRITE_max\", \n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"HBM Stall\",\n \"Transaction\": \"Write\",\n \"Target\": \"HBM\",\n \"Avg\": \"&hbmStall_WRITE_avg\",\n \"Min\": \"&hbmStall_WRITE_min\",\n \"Max\": \"&hbmStall_WRITE_max\", \n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Metric\": \"Credit Starvation\",\n \"Transaction\": \"Write\",\n \"Target\": \"Fabric\",\n \"Avg\": \"&creditStarvation_avg\",\n \"Min\": \"&creditStarvation_min\",\n \"Max\": \"&creditStarvation_max\", \n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "L2 - Fabric Interface Stalls (Cycles $normUnit)", + "transparent": true, + "type": "michaeldmoore-multistat-panel" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "L2 Cache", + "type": "row" + }, + { + "collapsed": true, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 66, + "panels": [ + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLimitValue": 100, + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineValue": 105, + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": true, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "light", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:850", + "Col": 1, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Hit Rate", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "description": "", + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 17 + }, + "id": 87, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 Cache Hit Rate (Percent) (Channel 0 - 15) ", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLimitValue": 100, + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineValue": 105, + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": true, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "light", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:850", + "Col": 1, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Hit Rate", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "description": "", + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 17 + }, + "id": 92, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "Cache Hit Rate % (Channel 16 - 31) ", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 80, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:565", + "Col": 3, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Read Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 25 + }, + "id": 81, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L1 - L2 Read Requests(Channel 0-15) : $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:656", + "Col": 3, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Read Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 25 + }, + "id": 82, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L1 - L 2 Read Requests (Channel 16-31): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 80, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:697", + "Col": 4, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Write Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 33 + }, + "id": 83, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L1 - L2 Write Requests (Channel 0-15): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 0, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:750", + "Col": 4, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Write Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 33 + }, + "id": 84, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L1 - L2 Write Requests (Channel 16-31): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLimitValue": 100, + "HighLmitLineWidth": 1, + "HighSideMargin": 0, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "100%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 80, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineValue": 105, + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": true, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:791", + "Col": 5, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "AtomicReq", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 41 + }, + "id": 85, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L1 - L2 Atomic Requests (Channel 0-15): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLimitValue": 100, + "HighLmitLineWidth": 1, + "HighSideMargin": 0, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "100%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 80, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineValue": 105, + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": true, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:791", + "Col": 5, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "AtomicReq", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 41 + }, + "id": 91, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L1 - L2 Atomic Requests (Channel 16-31): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 6, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 49 + }, + "id": 189, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Read Requests (Channel 0 - 15) : $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:341", + "Col": 6, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 49 + }, + "id": 195, + "maxDataPoints": 10, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Read Requests (Channel 16-31): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 7, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 57 + }, + "id": 191, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Write Requests (Channel 0 - 15) : $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:341", + "Col": 7, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Req", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 57 + }, + "id": 197, + "maxDataPoints": 10, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Write Requests (Channel 16-31): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 8, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA AtomicReq", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 65 + }, + "id": 193, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Atomic Request (Channel 0 - 15): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": false, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 2, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:341", + "Col": 8, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA AtomicReq", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 65 + }, + "id": 199, + "maxDataPoints": 10, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Atomic Requests (Channel 16-31): $normUnit", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupColName": "", + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 9, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Lat - cycles", + "Selected": true + } + ], + "datasource": {}, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 73 + }, + "hideTimeOverride": false, + "id": 68, + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n \"b0_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[0]\", \"&TCC_MISS[0]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[0]\"]}, \n { \"$add\": [\"&TCC_HIT[0]\", \"&TCC_MISS[0]\"] }\n ] \n },\n null \n ] \n }\n },\n \"b0_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[0]\"}, \"&denom\"] } \n },\n \"b0_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[0]\"}, \"&denom\"] } \n },\n \"b0_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[0]\"}, \"&denom\"] } \n },\n \"b0_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[0]\"}, \"&denom\"] } \n },\n \"b0_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[0]\"}, \"&denom\"] }\n },\n \"b0_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[0]\"}, \"&denom\"] } \n },\n \"b0_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[0]\"}, \"&denom\"] } \n },\n\n \"b0_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[0]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[0]\", \"&TCC_EA_RDREQ[0]\"]}, null] } },\n \"b0_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[0]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[0]\", \"&TCC_EA_WRREQ[0]\"]}, null] } },\n \"b0_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[0]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[0]\", \"&TCC_EA_ATOMIC[0]\"]}, null]}},\n\n \"b0_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[0]\"}, \"&denom\"] }},\n \"b0_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[0]\"}, \"&denom\"] }},\n \"b0_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[0]\"}, \"&denom\"] }},\n \"b0_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[0]\"}, \"&denom\"] }},\n \"b0_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[0]\"}, \"&denom\"] }},\n \"b0_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[0]\"}, \"&denom\"] }},\n \"b0_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[0]\"}, \"&denom\"] }},\n\n \n \"b1_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[1]\", \"&TCC_MISS[1]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[1]\"]}, \n { \"$add\": [\"&TCC_HIT[1]\", \"&TCC_MISS[1]\"] }\n ] \n },\n null \n ] \n }\n },\n \"b1_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[1]\"}, \"&denom\"] } \n },\n \"b1_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[1]\"}, \"&denom\"] } \n },\n \"b1_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[1]\"}, \"&denom\"] } \n },\n \"b1_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[1]\"}, \"&denom\"] } \n },\n \"b1_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[1]\"}, \"&denom\"] }\n },\n \"b1_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[1]\"}, \"&denom\"] } \n },\n \"b1_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[1]\"}, \"&denom\"] } \n },\n \"b1_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[1]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[1]\", \"&TCC_EA_RDREQ[1]\"]}, null] } },\n \"b1_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[1]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[1]\", \"&TCC_EA_WRREQ[1]\"]}, null] } },\n \"b1_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[1]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[1]\", \"&TCC_EA_ATOMIC[1]\"]}, null]}},\n\n \"b1_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[1]\"}, \"&denom\"] }},\n \"b1_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[1]\"}, \"&denom\"] }},\n \"b1_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[1]\"}, \"&denom\"] }},\n \"b1_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[1]\"}, \"&denom\"] }},\n \"b1_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[1]\"}, \"&denom\"] }},\n \"b1_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[1]\"}, \"&denom\"] }},\n \"b1_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[1]\"}, \"&denom\"] }},\n\n\n \"b2_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[2]\", \"&TCC_MISS[2]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[2]\"]}, \n { \"$add\": [\"&TCC_HIT[2]\", \"&TCC_MISS[2]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b2_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[2]\"}, \"&denom\"] }\n },\n \"b2_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[2]\"}, \"&denom\"] } \n },\n \"b2_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[2]\"}, \"&denom\"] }\n },\n \"b2_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[2]\"}, \"&denom\"] }\n },\n \"b2_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[2]\"}, \"&denom\"] }\n },\n \"b2_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[2]\"}, \"&denom\"] }\n },\n \"b2_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[2]\"}, \"&denom\"] }\n },\n \"b2_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[2]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[2]\", \"&TCC_EA_RDREQ[2]\"]}, null] } },\n \"b2_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[2]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[2]\", \"&TCC_EA_WRREQ[2]\"]}, null] } },\n \"b2_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[2]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[2]\", \"&TCC_EA_ATOMIC[2]\"]}, null]}},\n\n \"b2_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[2]\"}, \"&denom\"] }},\n \"b2_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[2]\"}, \"&denom\"] }},\n \"b2_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[2]\"}, \"&denom\"] }},\n \"b2_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[2]\"}, \"&denom\"] }},\n \"b2_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[2]\"}, \"&denom\"] }},\n \"b2_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[2]\"}, \"&denom\"] }},\n \"b2_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[2]\"}, \"&denom\"] }},\n\n\n \n \"b3_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[3]\", \"&TCC_MISS[3]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[3]\"]}, \n { \"$add\": [\"&TCC_HIT[3]\", \"&TCC_MISS[3]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b3_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[3]\"}, \"&denom\"] } \n },\n \"b3_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[3]\"}, \"&denom\"] } \n },\n \"b3_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[3]\"}, \"&denom\"] }\n },\n \"b3_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[3]\"}, \"&denom\"] }\n },\n \"b3_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[3]\"}, \"&denom\"] }\n },\n \"b3_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[3]\"}, \"&denom\"] }\n },\n \"b3_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[3]\"}, \"&denom\"] } \n },\n \"b3_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[3]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[3]\", \"&TCC_EA_RDREQ[3]\"]}, null] } },\n \"b3_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[3]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[3]\", \"&TCC_EA_WRREQ[3]\"]}, null] } },\n \"b3_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[3]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[3]\", \"&TCC_EA_ATOMIC[3]\"]}, null]}},\n\n \"b3_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[3]\"}, \"&denom\"] }},\n \"b3_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[3]\"}, \"&denom\"] }},\n \"b3_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[3]\"}, \"&denom\"] }},\n \"b3_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[3]\"}, \"&denom\"] }},\n \"b3_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[3]\"}, \"&denom\"] }},\n \"b3_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[3]\"}, \"&denom\"] }},\n \"b3_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[3]\"}, \"&denom\"] }},\n\n\n \n \"b4_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[4]\", \"&TCC_MISS[4]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[4]\"]}, \n { \"$add\": [\"&TCC_HIT[4]\", \"&TCC_MISS[4]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b4_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[4]\"}, \"&denom\"] } \n },\n \"b4_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[4]\"}, \"&denom\"] } \n },\n \"b4_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[4]\"}, \"&denom\"] }\n },\n \"b4_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[4]\"}, \"&denom\"] } \n },\n \"b4_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[4]\"}, \"&denom\"] } \n },\n \"b4_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[4]\"}, \"&denom\"] } \n },\n \"b4_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[4]\"}, \"&denom\"] } \n },\n \"b4_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[4]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[4]\", \"&TCC_EA_RDREQ[4]\"]}, null] } },\n \"b4_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[4]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[4]\", \"&TCC_EA_WRREQ[4]\"]}, null] } },\n \"b4_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[4]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[4]\", \"&TCC_EA_ATOMIC[4]\"]}, null]}},\n\n \"b4_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[4]\"}, \"&denom\"] }},\n \"b4_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[4]\"}, \"&denom\"] }},\n \"b4_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[4]\"}, \"&denom\"] }},\n \"b4_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[4]\"}, \"&denom\"] }},\n \"b4_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[4]\"}, \"&denom\"] }},\n \"b4_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[4]\"}, \"&denom\"] }},\n \"b4_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[4]\"}, \"&denom\"] }},\n\n\n \n \"b5_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[5]\", \"&TCC_MISS[5]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[5]\"]}, \n { \"$add\": [\"&TCC_HIT[5]\", \"&TCC_MISS[5]\"] }\n ] \n },\n null \n ] \n }\n },\n \"b5_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[5]\"}, \"&denom\"] } \n },\n \"b5_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[5]\"}, \"&denom\"] } \n },\n \"b5_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[5]\"}, \"&denom\"] } \n },\n \"b5_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[5]\"}, \"&denom\"] } \n },\n \"b5_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[5]\"}, \"&denom\"] } \n },\n \"b5_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[5]\"}, \"&denom\"] } \n },\n \"b5_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[5]\"}, \"&denom\"] } \n },\n \"b5_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[5]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[5]\", \"&TCC_EA_RDREQ[5]\"]}, null] } },\n \"b5_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[5]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[5]\", \"&TCC_EA_WRREQ[5]\"]}, null] } },\n \"b5_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[5]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[5]\", \"&TCC_EA_ATOMIC[5]\"]}, null]}},\n\n \"b5_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[5]\"}, \"&denom\"] }},\n \"b5_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[5]\"}, \"&denom\"] }},\n \"b5_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[5]\"}, \"&denom\"] }},\n \"b5_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[5]\"}, \"&denom\"] }},\n \"b5_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[5]\"}, \"&denom\"] }},\n \"b5_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[5]\"}, \"&denom\"] }},\n \"b5_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[5]\"}, \"&denom\"] }},\n\n\n \n \"b6_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[6]\", \"&TCC_MISS[6]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[6]\"]}, \n { \"$add\": [\"&TCC_HIT[6]\", \"&TCC_MISS[6]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b6_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[6]\"}, \"&denom\"] } \n },\n \"b6_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[6]\"}, \"&denom\"] } \n },\n \"b6_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[6]\"}, \"&denom\"] } \n },\n \"b6_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[6]\"}, \"&denom\"] } \n },\n \"b6_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[6]\"}, \"&denom\"] } \n },\n \"b6_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[6]\"}, \"&denom\"] }\n },\n \"b6_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[6]\"}, \"&denom\"] } \n },\n \"b6_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[6]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[6]\", \"&TCC_EA_RDREQ[6]\"]}, null] } },\n \"b6_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[6]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[6]\", \"&TCC_EA_WRREQ[6]\"]}, null] } },\n \"b6_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[6]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[6]\", \"&TCC_EA_ATOMIC[6]\"]}, null]}},\n\n \"b6_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[6]\"}, \"&denom\"] }},\n \"b6_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[6]\"}, \"&denom\"] }},\n \"b6_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[6]\"}, \"&denom\"] }},\n \"b6_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[6]\"}, \"&denom\"] }},\n \"b6_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[6]\"}, \"&denom\"] }},\n \"b6_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[6]\"}, \"&denom\"] }},\n \"b6_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[6]\"}, \"&denom\"] }},\n\n\n \n \"b7_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[7]\", \"&TCC_MISS[7]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[7]\"]}, \n { \"$add\": [\"&TCC_HIT[7]\", \"&TCC_MISS[7]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b7_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[7]\"}, \"&denom\"] } \n },\n \"b7_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[7]\"}, \"&denom\"] } \n },\n \"b7_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[7]\"}, \"&denom\"] } \n },\n \"b7_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[7]\"}, \"&denom\"] } \n },\n \"b7_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[7]\"}, \"&denom\"] } \n },\n \"b7_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[7]\"}, \"&denom\"] }\n },\n \"b7_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[7]\"}, \"&denom\"] } \n },\n \"b7_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[7]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[7]\", \"&TCC_EA_RDREQ[7]\"]}, null] } },\n \"b7_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[7]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[7]\", \"&TCC_EA_WRREQ[7]\"]}, null] } },\n \"b7_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[7]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[7]\", \"&TCC_EA_ATOMIC[7]\"]}, null]}},\n\n \"b7_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[7]\"}, \"&denom\"] }},\n \"b7_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[7]\"}, \"&denom\"] }},\n \"b7_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[7]\"}, \"&denom\"] }},\n \"b7_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[7]\"}, \"&denom\"] }},\n \"b7_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[7]\"}, \"&denom\"] }},\n \"b7_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[7]\"}, \"&denom\"] }},\n \"b7_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[7]\"}, \"&denom\"] }},\n\n\n \n \"b8_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[8]\", \"&TCC_MISS[8]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[8]\"]}, \n { \"$add\": [\"&TCC_HIT[8]\", \"&TCC_MISS[8]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b8_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[8]\"}, \"&denom\"] } \n },\n \"b8_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[8]\"}, \"&denom\"] } \n },\n \"b8_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[8]\"}, \"&denom\"] } \n },\n \"b8_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[8]\"}, \"&denom\"] } \n },\n \"b8_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[8]\"}, \"&denom\"] } \n },\n \"b8_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[8]\"}, \"&denom\"] } \n },\n \"b8_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[8]\"}, \"&denom\"] } \n },\n \"b8_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[8]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[8]\", \"&TCC_EA_RDREQ[8]\"]}, null] } },\n \"b8_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[8]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[8]\", \"&TCC_EA_WRREQ[8]\"]}, null] } },\n \"b8_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[8]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[8]\", \"&TCC_EA_ATOMIC[8]\"]}, null]}},\n\n \"b8_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[8]\"}, \"&denom\"] }},\n \"b8_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[8]\"}, \"&denom\"] }},\n \"b8_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[8]\"}, \"&denom\"] }},\n \"b8_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[8]\"}, \"&denom\"] }},\n \"b8_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[8]\"}, \"&denom\"] }},\n \"b8_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[8]\"}, \"&denom\"] }},\n \"b8_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[8]\"}, \"&denom\"] }},\n\n\n \n \"b9_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[9]\", \"&TCC_MISS[9]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[9]\"]}, \n { \"$add\": [\"&TCC_HIT[9]\", \"&TCC_MISS[9]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b9_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[9]\"}, \"&denom\"] } \n },\n \"b9_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[9]\"}, \"&denom\"] } \n },\n \"b9_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[9]\"}, \"&denom\"] } \n },\n \"b9_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[9]\"}, \"&denom\"] } \n },\n \"b9_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[9]\"}, \"&denom\"] } \n },\n \"b9_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[9]\"}, \"&denom\"] } \n },\n \"b9_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[9]\"}, \"&denom\"] } \n },\n \"b9_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[9]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[9]\", \"&TCC_EA_RDREQ[9]\"]}, null] } },\n \"b9_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[9]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[9]\", \"&TCC_EA_WRREQ[9]\"]}, null] } },\n \"b9_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[9]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[9]\", \"&TCC_EA_ATOMIC[9]\"]}, null]}},\n\n \"b9_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[9]\"}, \"&denom\"] }},\n \"b9_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[9]\"}, \"&denom\"] }},\n \"b9_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[9]\"}, \"&denom\"] }},\n \"b9_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[9]\"}, \"&denom\"] }},\n \"b9_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[9]\"}, \"&denom\"] }},\n \"b9_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[9]\"}, \"&denom\"] }},\n \"b9_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[9]\"}, \"&denom\"] }},\n\n\n \n \"b10_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[10]\", \"&TCC_MISS[10]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[10]\"]}, \n { \"$add\": [\"&TCC_HIT[10]\", \"&TCC_MISS[10]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b10_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[10]\"}, \"&denom\"] } \n },\n \"b10_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[10]\"}, \"&denom\"] } \n },\n \"b10_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[10]\"}, \"&denom\"] } \n },\n \"b10_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[10]\"}, \"&denom\"] } \n },\n \"b10_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[10]\"}, \"&denom\"] } \n },\n \"b10_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[10]\"}, \"&denom\"] } \n },\n \"b10_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[10]\"}, \"&denom\"] } \n },\n \"b10_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[10]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[10]\", \"&TCC_EA_RDREQ[10]\"]}, null] } },\n \"b10_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[10]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[10]\", \"&TCC_EA_WRREQ[10]\"]}, null] } },\n \"b10_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[10]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[10]\", \"&TCC_EA_ATOMIC[10]\"]}, null]}},\n\n \"b10_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[10]\"}, \"&denom\"] }},\n \"b10_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[10]\"}, \"&denom\"] }},\n \"b10_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[10]\"}, \"&denom\"] }},\n \"b10_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[10]\"}, \"&denom\"] }},\n \"b10_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[10]\"}, \"&denom\"] }},\n \"b10_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[10]\"}, \"&denom\"] }},\n \"b10_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[10]\"}, \"&denom\"] }},\n\n\n \n \"b11_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[11]\", \"&TCC_MISS[11]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[11]\"]}, \n { \"$add\": [\"&TCC_HIT[11]\", \"&TCC_MISS[11]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b11_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[11]\"}, \"&denom\"] } \n },\n \"b11_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[11]\"}, \"&denom\"] } \n },\n \"b11_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[11]\"}, \"&denom\"] } \n },\n \"b11_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[11]\"}, \"&denom\"] } \n },\n \"b11_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[11]\"}, \"&denom\"] } \n },\n \"b11_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[11]\"}, \"&denom\"] } \n },\n \"b11_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[11]\"}, \"&denom\"] } \n },\n \"b11_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[11]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[11]\", \"&TCC_EA_RDREQ[11]\"]}, null] } },\n \"b11_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[11]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[11]\", \"&TCC_EA_WRREQ[11]\"]}, null] } },\n \"b11_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[11]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[11]\", \"&TCC_EA_ATOMIC[11]\"]}, null]}},\n\n \"b11_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[11]\"}, \"&denom\"] }},\n \"b11_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[11]\"}, \"&denom\"] }},\n \"b11_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[11]\"}, \"&denom\"] }},\n \"b11_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[11]\"}, \"&denom\"] }},\n \"b11_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[11]\"}, \"&denom\"] }},\n \"b11_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[11]\"}, \"&denom\"] }},\n \"b11_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[11]\"}, \"&denom\"] }},\n\n\n \n \"b12_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[12]\", \"&TCC_MISS[12]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[12]\"]}, \n { \"$add\": [\"&TCC_HIT[12]\", \"&TCC_MISS[12]\"] }\n ] \n },\n null \n ] \n }\n },\n \"b12_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[12]\"}, \"&denom\"] } \n },\n \"b12_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[12]\"}, \"&denom\"] } \n },\n \"b12_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[12]\"}, \"&denom\"] } \n },\n \"b12_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[12]\"}, \"&denom\"] } \n },\n \"b12_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[12]\"}, \"&denom\"] } \n },\n \"b12_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[12]\"}, \"&denom\"] } \n },\n \"b12_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[12]\"}, \"&denom\"] } \n },\n \"b12_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[12]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[12]\", \"&TCC_EA_RDREQ[12]\"]}, null] } },\n \"b12_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[12]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[12]\", \"&TCC_EA_WRREQ[12]\"]}, null] } },\n \"b12_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[12]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[12]\", \"&TCC_EA_ATOMIC[12]\"]}, null]}},\n\n \"b12_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[12]\"}, \"&denom\"] }},\n \"b12_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[12]\"}, \"&denom\"] }},\n \"b12_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[12]\"}, \"&denom\"] }},\n \"b12_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[12]\"}, \"&denom\"] }},\n \"b12_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[12]\"}, \"&denom\"] }},\n \"b12_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[12]\"}, \"&denom\"] }},\n \"b12_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[12]\"}, \"&denom\"] }},\n\n\n \n \"b13_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[13]\", \"&TCC_MISS[13]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[13]\"]}, \n { \"$add\": [\"&TCC_HIT[13]\", \"&TCC_MISS[13]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b13_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[13]\"}, \"&denom\"] } \n },\n \"b13_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[13]\"}, \"&denom\"] } \n },\n \"b13_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[13]\"}, \"&denom\"] } \n },\n \"b13_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[13]\"}, \"&denom\"] } \n },\n \"b13_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[13]\"}, \"&denom\"] } \n },\n \"b13_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[13]\"}, \"&denom\"] }\n },\n \"b13_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[13]\"}, \"&denom\"] } \n },\n \"b13_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[13]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[13]\", \"&TCC_EA_RDREQ[13]\"]}, null] } },\n \"b13_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[13]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[13]\", \"&TCC_EA_WRREQ[13]\"]}, null] } },\n \"b13_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[13]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[13]\", \"&TCC_EA_ATOMIC[13]\"]}, null]}},\n\n \"b13_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[13]\"}, \"&denom\"] }},\n \"b13_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[13]\"}, \"&denom\"] }},\n \"b13_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[13]\"}, \"&denom\"] }},\n \"b13_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[13]\"}, \"&denom\"] }},\n \"b13_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[13]\"}, \"&denom\"] }},\n \"b13_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[13]\"}, \"&denom\"] }},\n \"b13_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[13]\"}, \"&denom\"] }},\n\n\n \n \"b14_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[14]\", \"&TCC_MISS[14]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[14]\"]}, \n { \"$add\": [\"&TCC_HIT[14]\", \"&TCC_MISS[14]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b14_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[14]\"}, \"&denom\"] } \n },\n \"b14_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[14]\"}, \"&denom\"] } \n },\n \"b14_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[14]\"}, \"&denom\"] } \n },\n \"b14_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[14]\"}, \"&denom\"] } \n },\n \"b14_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[14]\"}, \"&denom\"] } \n },\n \"b14_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[14]\"}, \"&denom\"] } \n },\n \"b14_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[14]\"}, \"&denom\"] } \n },\n \"b14_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[14]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[14]\", \"&TCC_EA_RDREQ[14]\"]}, null] } },\n \"b14_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[14]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[14]\", \"&TCC_EA_WRREQ[14]\"]}, null] } },\n \"b14_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[14]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[14]\", \"&TCC_EA_ATOMIC[14]\"]}, null]}},\n\n \"b14_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[14]\"}, \"&denom\"] }},\n \"b14_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[14]\"}, \"&denom\"] }},\n \"b14_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[14]\"}, \"&denom\"] }},\n \"b14_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[14]\"}, \"&denom\"] }},\n \"b14_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[14]\"}, \"&denom\"] }},\n \"b14_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[14]\"}, \"&denom\"] }},\n \"b14_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[14]\"}, \"&denom\"] }},\n\n\n \n \"b15_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[15]\", \"&TCC_MISS[15]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[15]\"]}, \n { \"$add\": [\"&TCC_HIT[15]\", \"&TCC_MISS[15]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b15_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[15]\"}, \"&denom\"] } \n },\n \"b15_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[15]\"}, \"&denom\"] } \n },\n \"b15_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[15]\"}, \"&denom\"] } \n },\n \"b15_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[15]\"}, \"&denom\"] } \n },\n \"b15_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[15]\"}, \"&denom\"] } \n },\n \"b15_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[15]\"}, \"&denom\"] } \n },\n \"b15_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[15]\"}, \"&denom\"] }\n },\n \"b15_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[15]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[15]\", \"&TCC_EA_RDREQ[15]\"]}, null] } },\n \"b15_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[15]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[15]\", \"&TCC_EA_WRREQ[15]\"]}, null] } },\n \"b15_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[15]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[15]\", \"&TCC_EA_ATOMIC[15]\"]}, null]}},\n\n \"b15_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[15]\"}, \"&denom\"] }},\n \"b15_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[15]\"}, \"&denom\"] }},\n \"b15_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[15]\"}, \"&denom\"] }},\n \"b15_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[15]\"}, \"&denom\"] }},\n \"b15_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[15]\"}, \"&denom\"] }},\n \"b15_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[15]\"}, \"&denom\"] }},\n \"b15_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[15]\"}, \"&denom\"] }}\n \n }},\n {\"$set\": {\n \"array\": [\n {\n \"Channel\": \"0\",\n \"Hit Rate\": \"&b0_hitRate\",\n \"Req\": \"&b0_req\",\n \"Read Req\": \"&b0_readReq\",\n \"Write Req\": \"&b0_writeReq\",\n \"AtomicReq\": \"&b0_atomicReq\",\n \"EA Read Req\": \"&b0_eaReadReq\",\n \"EA Write Req\": \"&b0_eaWriteReq\",\n \"EA AtomicReq\": \"&b0_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b0_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b0_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b0_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b0_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b0_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b0_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b0_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b0_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b0_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b0_ea_write_stall_too_many\"\n },\n {\n \"Channel\": \"1\",\n \"Hit Rate\": \"&b1_hitRate\",\n \"Req\": \"&b1_req\",\n \"Read Req\": \"&b1_readReq\",\n \"Write Req\": \"&b1_writeReq\",\n \"AtomicReq\": \"&b1_atomicReq\",\n \"EA Read Req\": \"&b1_eaReadReq\",\n \"EA Write Req\": \"&b1_eaWriteReq\",\n \"EA AtomicReq\": \"&b1_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b1_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b1_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b1_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b1_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b1_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b1_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b1_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b1_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b1_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b1_ea_write_stall_too_many\"\n },\n {\n \"Channel\": \"2\",\n \"Hit Rate\": \"&b2_hitRate\",\n \"Req\": \"&b2_req\",\n \"Read Req\": \"&b2_readReq\",\n \"Write Req\": \"&b2_writeReq\",\n \"AtomicReq\": \"&b2_atomicReq\",\n \"EA Read Req\": \"&b2_eaReadReq\",\n \"EA Write Req\": \"&b2_eaWriteReq\",\n \"EA AtomicReq\": \"&b2_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b2_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b2_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b2_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b2_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b2_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b2_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b2_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b2_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b2_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b2_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"3\",\n \"Hit Rate\": \"&b3_hitRate\",\n \"Req\": \"&b3_req\",\n \"Read Req\": \"&b3_readReq\",\n \"Write Req\": \"&b3_writeReq\",\n \"AtomicReq\": \"&b3_atomicReq\",\n \"EA Read Req\": \"&b3_eaReadReq\",\n \"EA Write Req\": \"&b3_eaWriteReq\",\n \"EA AtomicReq\": \"&b3_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b3_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b3_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b3_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b3_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b3_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b3_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b3_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b3_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b3_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b3_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"4\",\n \"Hit Rate\": \"&b4_hitRate\",\n \"Req\": \"&b4_req\",\n \"Read Req\": \"&b4_readReq\",\n \"Write Req\": \"&b4_writeReq\",\n \"AtomicReq\": \"&b4_atomicReq\",\n \"EA Read Req\": \"&b4_eaReadReq\",\n \"EA Write Req\": \"&b4_eaWriteReq\",\n \"EA AtomicReq\": \"&b4_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b4_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b4_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b4_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b4_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b4_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b4_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b4_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b4_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b4_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b4_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"5\",\n \"Hit Rate\": \"&b5_hitRate\",\n \"Req\": \"&b5_req\",\n \"Read Req\": \"&b5_readReq\",\n \"Write Req\": \"&b5_writeReq\",\n \"AtomicReq\": \"&b5_atomicReq\",\n \"EA Read Req\": \"&b5_eaReadReq\",\n \"EA Write Req\": \"&b5_eaWriteReq\",\n \"EA AtomicReq\": \"&b5_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b5_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b5_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b5_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b5_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b5_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b5_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b5_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b5_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b5_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b5_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"6\",\n \"Hit Rate\": \"&b6_hitRate\",\n \"Req\": \"&b6_req\",\n \"Read Req\": \"&b6_readReq\",\n \"Write Req\": \"&b6_writeReq\",\n \"AtomicReq\": \"&b6_atomicReq\",\n \"EA Read Req\": \"&b6_eaReadReq\",\n \"EA Write Req\": \"&b6_eaWriteReq\",\n \"EA AtomicReq\": \"&b6_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b6_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b6_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b6_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b6_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b6_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b6_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b6_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b6_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b6_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b6_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"7\",\n \"Hit Rate\": \"&b7_hitRate\",\n \"Req\": \"&b7_req\",\n \"Read Req\": \"&b7_readReq\",\n \"Write Req\": \"&b7_writeReq\",\n \"AtomicReq\": \"&b7_atomicReq\",\n \"EA Read Req\": \"&b7_eaReadReq\",\n \"EA Write Req\": \"&b7_eaWriteReq\",\n \"EA AtomicReq\": \"&b7_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b7_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b7_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b7_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b7_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b7_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b7_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b7_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b7_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b7_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b7_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"8\",\n \"Hit Rate\": \"&b8_hitRate\",\n \"Req\": \"&b8_req\",\n \"Read Req\": \"&b8_readReq\",\n \"Write Req\": \"&b8_writeReq\",\n \"AtomicReq\": \"&b8_atomicReq\",\n \"EA Read Req\": \"&b8_eaReadReq\",\n \"EA Write Req\": \"&b8_eaWriteReq\",\n \"EA AtomicReq\": \"&b8_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b8_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b8_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b8_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b8_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b8_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b8_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b8_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b8_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b8_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b8_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"9\",\n \"Hit Rate\": \"&b9_hitRate\",\n \"Req\": \"&b9_req\",\n \"Read Req\": \"&b9_readReq\",\n \"Write Req\": \"&b9_writeReq\",\n \"AtomicReq\": \"&b9_atomicReq\",\n \"EA Read Req\": \"&b9_eaReadReq\",\n \"EA Write Req\": \"&b9_eaWriteReq\",\n \"EA AtomicReq\": \"&b9_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b9_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b9_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b9_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b9_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b9_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b9_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b9_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b9_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b9_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b9_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"10\",\n \"Hit Rate\": \"&b10_hitRate\",\n \"Req\": \"&b10_req\",\n \"Read Req\": \"&b10_readReq\",\n \"Write Req\": \"&b10_writeReq\",\n \"AtomicReq\": \"&b10_atomicReq\",\n \"EA Read Req\": \"&b10_eaReadReq\",\n \"EA Write Req\": \"&b10_eaWriteReq\",\n \"EA AtomicReq\": \"&b10_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b10_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b10_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b10_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b10_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b10_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b10_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b10_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b10_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b10_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b10_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"11\",\n \"Hit Rate\": \"&b11_hitRate\",\n \"Req\": \"&b11_req\",\n \"Read Req\": \"&b11_readReq\",\n \"Write Req\": \"&b11_writeReq\",\n \"AtomicReq\": \"&b11_atomicReq\",\n \"EA Read Req\": \"&b11_eaReadReq\",\n \"EA Write Req\": \"&b11_eaWriteReq\",\n \"EA AtomicReq\": \"&b11_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b11_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b11_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b11_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b11_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b11_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b11_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b11_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b11_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b11_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b11_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"12\",\n \"Hit Rate\": \"&b12_hitRate\",\n \"Req\": \"&b12_req\",\n \"Read Req\": \"&b12_readReq\",\n \"Write Req\": \"&b12_writeReq\",\n \"AtomicReq\": \"&b12_atomicReq\",\n \"EA Read Req\": \"&b12_eaReadReq\",\n \"EA Write Req\": \"&b12_eaWriteReq\",\n \"EA AtomicReq\": \"&b12_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b12_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b12_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b12_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b12_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b12_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b12_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b12_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b12_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b12_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b12_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"13\",\n \"Hit Rate\": \"&b13_hitRate\",\n \"Req\": \"&b13_req\",\n \"Read Req\": \"&b13_readReq\",\n \"Write Req\": \"&b13_writeReq\",\n \"AtomicReq\": \"&b13_atomicReq\",\n \"EA Read Req\": \"&b13_eaReadReq\",\n \"EA Write Req\": \"&b13_eaWriteReq\",\n \"EA AtomicReq\": \"&b13_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b13_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b13_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b13_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b13_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b13_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b13_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b13_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b13_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b13_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b13_ea_write_stall_too_many\"\n\n\n },\n {\n \"Channel\": \"14\",\n \"Hit Rate\": \"&b14_hitRate\",\n \"Req\": \"&b14_req\",\n \"Read Req\": \"&b14_readReq\",\n \"Write Req\": \"&b14_writeReq\",\n \"AtomicReq\": \"&b14_atomicReq\",\n \"EA Read Req\": \"&b14_eaReadReq\",\n \"EA Write Req\": \"&b14_eaWriteReq\",\n \"EA AtomicReq\": \"&b14_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b14_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b14_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b14_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b14_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b14_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b14_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b14_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b14_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b14_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b14_ea_write_stall_too_many\"\n\n\n },\n {\n \"Channel\": \"15\",\n \"Hit Rate\": \"&b15_hitRate\",\n \"Req\": \"&b15_req\",\n \"Read Req\": \"&b15_readReq\",\n \"Write Req\": \"&b15_writeReq\",\n \"AtomicReq\": \"&b15_atomicReq\",\n \"EA Read Req\": \"&b15_eaReadReq\",\n \"EA Write Req\": \"&b15_eaWriteReq\",\n \"EA AtomicReq\": \"&b15_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b15_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b15_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b15_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b15_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b15_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b15_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b15_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b15_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b15_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b15_ea_write_stall_too_many\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"$array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"$array\"\n }}\n]);", + "type": "table" + } + ], + "title": "L2 - EA Read Latency (Channel 0 - 15) (Cycles)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:341", + "Col": 9, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Lat - cycles", + "Selected": true + } + ], + "datasource": {}, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 73 + }, + "id": 70, + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n \"b16_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[16]\", \"&TCC_MISS[16]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[16]\"]}, \n { \"$add\": [\"&TCC_HIT[16]\", \"&TCC_MISS[16]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b16_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[16]\"}, \"&denom\"] } \n },\n \"b16_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[16]\"}, \"&denom\"] } \n },\n \"b16_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[16]\"}, \"&denom\"] } \n },\n \"b16_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[16]\"}, \"&denom\"] } \n },\n \"b16_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[16]\"}, \"&denom\"] }\n },\n \"b16_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[16]\"}, \"&denom\"] } \n },\n \"b16_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[16]\"}, \"&denom\"] } \n },\n\n \"b16_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[16]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[16]\", \"&TCC_EA_RDREQ[16]\"]}, null] } },\n \"b16_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[16]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[16]\", \"&TCC_EA_WRREQ[16]\"]}, null] } },\n \"b16_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[16]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[16]\", \"&TCC_EA_ATOMIC[16]\"]}, null]}},\n \"b16_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[16]\"}, \"&denom\"] }},\n \"b16_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[16]\"}, \"&denom\"] }},\n \"b16_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[16]\"}, \"&denom\"] }},\n \"b16_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[16]\"}, \"&denom\"] }},\n \"b16_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[16]\"}, \"&denom\"] }},\n \"b16_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[16]\"}, \"&denom\"] }},\n \"b16_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[16]\"}, \"&denom\"] }},\n\n \n \"b17_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[17]\", \"&TCC_MISS[17]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[17]\"]}, \n { \"$add\": [\"&TCC_HIT[17]\", \"&TCC_MISS[17]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b17_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[17]\"}, \"&denom\"] } \n },\n \"b17_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[17]\"}, \"&denom\"] } \n },\n \"b17_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[17]\"}, \"&denom\"] } \n },\n \"b17_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[17]\"}, \"&denom\"] } \n },\n \"b17_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[17]\"}, \"&denom\"] }\n },\n \"b17_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[17]\"}, \"&denom\"] } \n },\n \"b17_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[17]\"}, \"&denom\"] } \n },\n \"b17_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[17]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[17]\", \"&TCC_EA_RDREQ[17]\"]}, null] } },\n \"b17_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[17]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[17]\", \"&TCC_EA_WRREQ[17]\"]}, null] } },\n \"b17_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[17]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[17]\", \"&TCC_EA_ATOMIC[17]\"]}, null]}},\n \"b17_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[17]\"}, \"&denom\"] }},\n \"b17_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[17]\"}, \"&denom\"] }},\n \"b17_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[17]\"}, \"&denom\"] }},\n \"b17_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[17]\"}, \"&denom\"] }},\n \"b17_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[17]\"}, \"&denom\"] }},\n \"b17_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[17]\"}, \"&denom\"] }},\n \"b17_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[17]\"}, \"&denom\"] }},\n\n \n \"b18_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[18]\", \"&TCC_MISS[18]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[18]\"]}, \n { \"$add\": [\"&TCC_HIT[18]\", \"&TCC_MISS[18]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b18_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[18]\"}, \"&denom\"] }\n },\n \"b18_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[18]\"}, \"&denom\"] } \n },\n \"b18_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[18]\"}, \"&denom\"] }\n },\n \"b18_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[18]\"}, \"&denom\"] }\n },\n \"b18_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[18]\"}, \"&denom\"] }\n },\n \"b18_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[18]\"}, \"&denom\"] }\n },\n \"b18_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[18]\"}, \"&denom\"] }\n },\n \"b18_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[18]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[18]\", \"&TCC_EA_RDREQ[18]\"]}, null] } },\n \"b18_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[18]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[18]\", \"&TCC_EA_WRREQ[18]\"]}, null] } },\n \"b18_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[18]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[18]\", \"&TCC_EA_ATOMIC[18]\"]}, null]}},\n \"b18_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[18]\"}, \"&denom\"] }},\n \"b18_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[18]\"}, \"&denom\"] }},\n \"b18_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[18]\"}, \"&denom\"] }},\n \"b18_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[18]\"}, \"&denom\"] }},\n \"b18_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[18]\"}, \"&denom\"] }},\n \"b18_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[18]\"}, \"&denom\"] }},\n \"b18_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[18]\"}, \"&denom\"] }},\n\n \n \"b19_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[19]\", \"&TCC_MISS[19]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[19]\"]}, \n { \"$add\": [\"&TCC_HIT[19]\", \"&TCC_MISS[19]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b19_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[19]\"}, \"&denom\"] } \n },\n \"b19_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[19]\"}, \"&denom\"] } \n },\n \"b19_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[19]\"}, \"&denom\"] }\n },\n \"b19_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[19]\"}, \"&denom\"] }\n },\n \"b19_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[19]\"}, \"&denom\"] }\n },\n \"b19_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[19]\"}, \"&denom\"] }\n },\n \"b19_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[19]\"}, \"&denom\"] } \n },\n \"b19_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[19]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[19]\", \"&TCC_EA_RDREQ[19]\"]}, null] } },\n \"b19_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[19]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[19]\", \"&TCC_EA_WRREQ[19]\"]}, null] } },\n \"b19_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[19]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[19]\", \"&TCC_EA_ATOMIC[19]\"]}, null]}},\n \"b19_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[19]\"}, \"&denom\"] }},\n \"b19_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[19]\"}, \"&denom\"] }},\n \"b19_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[19]\"}, \"&denom\"] }},\n \"b19_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[19]\"}, \"&denom\"] }},\n \"b19_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[19]\"}, \"&denom\"] }},\n \"b19_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[19]\"}, \"&denom\"] }},\n \"b19_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[19]\"}, \"&denom\"] }},\n\n \n \"b20_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[20]\", \"&TCC_MISS[20]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[20]\"]}, \n { \"$add\": [\"&TCC_HIT[20]\", \"&TCC_MISS[20]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b20_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[20]\"}, \"&denom\"] } \n },\n \"b20_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[20]\"}, \"&denom\"] } \n },\n \"b20_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[20]\"}, \"&denom\"] }\n },\n \"b20_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[20]\"}, \"&denom\"] } \n },\n \"b20_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[20]\"}, \"&denom\"] } \n },\n \"b20_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[20]\"}, \"&denom\"] } \n },\n \"b20_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[20]\"}, \"&denom\"] } \n },\n \"b20_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[20]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[20]\", \"&TCC_EA_RDREQ[20]\"]}, null] } },\n \"b20_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[20]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[20]\", \"&TCC_EA_WRREQ[20]\"]}, null] } },\n \"b20_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[20]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[20]\", \"&TCC_EA_ATOMIC[20]\"]}, null]}},\n \"b20_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[20]\"}, \"&denom\"] }},\n \"b20_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[20]\"}, \"&denom\"] }},\n \"b20_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[20]\"}, \"&denom\"] }},\n \"b20_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[20]\"}, \"&denom\"] }},\n \"b20_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[20]\"}, \"&denom\"] }},\n \"b20_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[20]\"}, \"&denom\"] }},\n \"b20_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[20]\"}, \"&denom\"] }},\n\n \n\n \"b21_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[21]\", \"&TCC_MISS[21]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[21]\"]}, \n { \"$add\": [\"&TCC_HIT[21]\", \"&TCC_MISS[21]\"] }\n ] \n },\n null \n ] \n }\n },\n \"b21_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[21]\"}, \"&denom\"] } \n },\n \"b21_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[21]\"}, \"&denom\"] } \n },\n \"b21_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[21]\"}, \"&denom\"] } \n },\n \"b21_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[21]\"}, \"&denom\"] } \n },\n \"b21_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[21]\"}, \"&denom\"] } \n },\n \"b21_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[21]\"}, \"&denom\"] } \n },\n \"b21_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[21]\"}, \"&denom\"] } \n },\n \"b21_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[21]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[21]\", \"&TCC_EA_RDREQ[21]\"]}, null] } },\n \"b21_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[21]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[21]\", \"&TCC_EA_WRREQ[21]\"]}, null] } },\n \"b21_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[21]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[21]\", \"&TCC_EA_ATOMIC[21]\"]}, null]}},\n \"b21_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[21]\"}, \"&denom\"] }},\n \"b21_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[21]\"}, \"&denom\"] }},\n \"b21_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[21]\"}, \"&denom\"] }},\n \"b21_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[21]\"}, \"&denom\"] }},\n \"b21_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[21]\"}, \"&denom\"] }},\n \"b21_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[21]\"}, \"&denom\"] }},\n \"b21_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[21]\"}, \"&denom\"] }},\n\n \n\n \"b22_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[22]\", \"&TCC_MISS[22]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[22]\"]}, \n { \"$add\": [\"&TCC_HIT[22]\", \"&TCC_MISS[22]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b22_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[22]\"}, \"&denom\"] } \n },\n \"b22_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[22]\"}, \"&denom\"] } \n },\n \"b22_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[22]\"}, \"&denom\"] } \n },\n \"b22_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[22]\"}, \"&denom\"] } \n },\n \"b22_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[22]\"}, \"&denom\"] } \n },\n \"b22_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[22]\"}, \"&denom\"] }\n },\n \"b22_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[22]\"}, \"&denom\"] } \n },\n \"b22_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[22]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[22]\", \"&TCC_EA_RDREQ[22]\"]}, null] } },\n \"b22_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[22]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[22]\", \"&TCC_EA_WRREQ[22]\"]}, null] } },\n \"b22_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[22]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[22]\", \"&TCC_EA_ATOMIC[22]\"]}, null]}},\n \"b22_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[22]\"}, \"&denom\"] }},\n \"b22_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[22]\"}, \"&denom\"] }},\n \"b22_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[22]\"}, \"&denom\"] }},\n \"b22_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[22]\"}, \"&denom\"] }},\n \"b22_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[22]\"}, \"&denom\"] }},\n \"b22_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[22]\"}, \"&denom\"] }},\n \"b22_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[22]\"}, \"&denom\"] }},\n\n \n\n \"b23_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[23]\", \"&TCC_MISS[23]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[23]\"]}, \n { \"$add\": [\"&TCC_HIT[23]\", \"&TCC_MISS[23]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b23_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[23]\"}, \"&denom\"] } \n },\n \"b23_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[23]\"}, \"&denom\"] } \n },\n \"b23_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[23]\"}, \"&denom\"] } \n },\n \"b23_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[23]\"}, \"&denom\"] } \n },\n \"b23_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[23]\"}, \"&denom\"] } \n },\n \"b23_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[23]\"}, \"&denom\"] }\n },\n \"b23_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[23]\"}, \"&denom\"] } \n },\n \"b23_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[23]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[23]\", \"&TCC_EA_RDREQ[23]\"]}, null] } },\n \"b23_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[23]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[23]\", \"&TCC_EA_WRREQ[23]\"]}, null] } },\n \"b23_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[23]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[23]\", \"&TCC_EA_ATOMIC[23]\"]}, null]}},\n \"b23_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[23]\"}, \"&denom\"] }},\n \"b23_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[23]\"}, \"&denom\"] }},\n \"b23_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[23]\"}, \"&denom\"] }},\n \"b23_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[23]\"}, \"&denom\"] }},\n \"b23_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[23]\"}, \"&denom\"] }},\n \"b23_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[23]\"}, \"&denom\"] }},\n \"b23_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[23]\"}, \"&denom\"] }},\n\n \n \"b24_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[24]\", \"&TCC_MISS[24]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[24]\"]}, \n { \"$add\": [\"&TCC_HIT[24]\", \"&TCC_MISS[24]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b24_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[24]\"}, \"&denom\"] } \n },\n \"b24_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[24]\"}, \"&denom\"] } \n },\n \"b24_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[24]\"}, \"&denom\"] } \n },\n \"b24_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[24]\"}, \"&denom\"] } \n },\n \"b24_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[24]\"}, \"&denom\"] } \n },\n \"b24_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[24]\"}, \"&denom\"] } \n },\n \"b24_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[24]\"}, \"&denom\"] } \n },\n \"b24_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[24]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[24]\", \"&TCC_EA_RDREQ[24]\"]}, null] } },\n \"b24_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[24]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[24]\", \"&TCC_EA_WRREQ[24]\"]}, null] } },\n \"b24_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[24]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[24]\", \"&TCC_EA_ATOMIC[24]\"]}, null]}},\n \"b24_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[24]\"}, \"&denom\"] }},\n \"b24_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[24]\"}, \"&denom\"] }},\n \"b24_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[24]\"}, \"&denom\"] }},\n \"b24_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[24]\"}, \"&denom\"] }},\n \"b24_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[24]\"}, \"&denom\"] }},\n \"b24_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[24]\"}, \"&denom\"] }},\n \"b24_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[24]\"}, \"&denom\"] }},\n\n \n \"b25_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[25]\", \"&TCC_MISS[25]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[25]\"]}, \n { \"$add\": [\"&TCC_HIT[25]\", \"&TCC_MISS[25]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b25_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[25]\"}, \"&denom\"] } \n },\n \"b25_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[25]\"}, \"&denom\"] } \n },\n \"b25_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[25]\"}, \"&denom\"] } \n },\n \"b25_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[25]\"}, \"&denom\"] } \n },\n \"b25_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[25]\"}, \"&denom\"] } \n },\n \"b25_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[25]\"}, \"&denom\"] } \n },\n \"b25_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[25]\"}, \"&denom\"] } \n },\n \"b25_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[25]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[25]\", \"&TCC_EA_RDREQ[25]\"]}, null] } },\n \"b25_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[25]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[25]\", \"&TCC_EA_WRREQ[25]\"]}, null] } },\n \"b25_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[25]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[25]\", \"&TCC_EA_ATOMIC[25]\"]}, null]}},\n \"b25_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[25]\"}, \"&denom\"] }},\n \"b25_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[25]\"}, \"&denom\"] }},\n \"b25_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[25]\"}, \"&denom\"] }},\n \"b25_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[25]\"}, \"&denom\"] }},\n \"b25_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[25]\"}, \"&denom\"] }},\n \"b25_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[25]\"}, \"&denom\"] }},\n \"b25_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[25]\"}, \"&denom\"] }},\n\n \n \"b26_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[26]\", \"&TCC_MISS[26]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[26]\"]}, \n { \"$add\": [\"&TCC_HIT[26]\", \"&TCC_MISS[26]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b26_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[26]\"}, \"&denom\"] } \n },\n \"b26_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[26]\"}, \"&denom\"] } \n },\n \"b26_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[26]\"}, \"&denom\"] } \n },\n \"b26_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[26]\"}, \"&denom\"] } \n },\n \"b26_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[26]\"}, \"&denom\"] } \n },\n \"b26_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[26]\"}, \"&denom\"] } \n },\n \"b26_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[26]\"}, \"&denom\"] } \n },\n \"b26_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[26]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[26]\", \"&TCC_EA_RDREQ[26]\"]}, null] } },\n \"b26_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[26]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[26]\", \"&TCC_EA_WRREQ[26]\"]}, null] } },\n \"b26_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[26]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[26]\", \"&TCC_EA_ATOMIC[26]\"]}, null]}},\n \"b26_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[26]\"}, \"&denom\"] }},\n \"b26_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[26]\"}, \"&denom\"] }},\n \"b26_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[26]\"}, \"&denom\"] }},\n \"b26_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[26]\"}, \"&denom\"] }},\n \"b26_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[26]\"}, \"&denom\"] }},\n \"b26_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[26]\"}, \"&denom\"] }},\n \"b26_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[26]\"}, \"&denom\"] }},\n\n \n \"b27_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[27]\", \"&TCC_MISS[27]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[27]\"]}, \n { \"$add\": [\"&TCC_HIT[27]\", \"&TCC_MISS[27]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b27_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[27]\"}, \"&denom\"] } \n },\n \"b27_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[27]\"}, \"&denom\"] } \n },\n \"b27_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[27]\"}, \"&denom\"] } \n },\n \"b27_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[27]\"}, \"&denom\"] } \n },\n \"b27_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[27]\"}, \"&denom\"] } \n },\n \"b27_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[27]\"}, \"&denom\"] } \n },\n \"b27_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[27]\"}, \"&denom\"] } \n },\n \"b27_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[27]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[27]\", \"&TCC_EA_RDREQ[27]\"]}, null] } },\n \"b27_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[27]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[27]\", \"&TCC_EA_WRREQ[27]\"]}, null] } },\n \"b27_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[27]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[27]\", \"&TCC_EA_ATOMIC[27]\"]}, null]}},\n \"b27_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[27]\"}, \"&denom\"] }},\n \"b27_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[27]\"}, \"&denom\"] }},\n \"b27_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[27]\"}, \"&denom\"] }},\n \"b27_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[27]\"}, \"&denom\"] }},\n \"b27_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[27]\"}, \"&denom\"] }},\n \"b27_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[27]\"}, \"&denom\"] }},\n \"b27_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[27]\"}, \"&denom\"] }},\n\n \n \"b28_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[28]\", \"&TCC_MISS[28]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[28]\"]}, \n { \"$add\": [\"&TCC_HIT[28]\", \"&TCC_MISS[28]\"] }\n ] \n },\n null \n ] \n }\n },\n \"b28_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[28]\"}, \"&denom\"] } \n },\n \"b28_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[28]\"}, \"&denom\"] } \n },\n \"b28_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[28]\"}, \"&denom\"] } \n },\n \"b28_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[28]\"}, \"&denom\"] } \n },\n \"b28_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[28]\"}, \"&denom\"] } \n },\n \"b28_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[28]\"}, \"&denom\"] } \n },\n \"b28_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[28]\"}, \"&denom\"] } \n },\n \"b28_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[28]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[28]\", \"&TCC_EA_RDREQ[28]\"]}, null] } },\n \"b28_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[28]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[28]\", \"&TCC_EA_WRREQ[28]\"]}, null] } },\n \"b28_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[28]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[28]\", \"&TCC_EA_ATOMIC[28]\"]}, null]}},\n \"b28_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[28]\"}, \"&denom\"] }},\n \"b28_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[28]\"}, \"&denom\"] }},\n \"b28_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[28]\"}, \"&denom\"] }},\n \"b28_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[28]\"}, \"&denom\"] }},\n \"b28_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[28]\"}, \"&denom\"] }},\n \"b28_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[28]\"}, \"&denom\"] }},\n \"b28_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[28]\"}, \"&denom\"] }},\n\n \n \"b29_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[29]\", \"&TCC_MISS[29]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[29]\"]}, \n { \"$add\": [\"&TCC_HIT[29]\", \"&TCC_MISS[29]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b29_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[29]\"}, \"&denom\"] } \n },\n \"b29_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[29]\"}, \"&denom\"] } \n },\n \"b29_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[29]\"}, \"&denom\"] } \n },\n \"b29_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[29]\"}, \"&denom\"] } \n },\n \"b29_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[29]\"}, \"&denom\"] } \n },\n \"b29_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[29]\"}, \"&denom\"] }\n },\n \"b29_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[29]\"}, \"&denom\"] } \n },\n \"b29_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[29]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[29]\", \"&TCC_EA_RDREQ[29]\"]}, null] } },\n \"b29_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[29]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[29]\", \"&TCC_EA_WRREQ[29]\"]}, null] } },\n \"b29_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[29]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[29]\", \"&TCC_EA_ATOMIC[29]\"]}, null]}},\n \"b29_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[29]\"}, \"&denom\"] }},\n \"b29_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[29]\"}, \"&denom\"] }},\n \"b29_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[29]\"}, \"&denom\"] }},\n \"b29_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[29]\"}, \"&denom\"] }},\n \"b29_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[29]\"}, \"&denom\"] }},\n \"b29_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[29]\"}, \"&denom\"] }},\n \"b29_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[29]\"}, \"&denom\"] }},\n\n \n \"b30_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[30]\", \"&TCC_MISS[30]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[30]\"]}, \n { \"$add\": [\"&TCC_HIT[30]\", \"&TCC_MISS[30]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b30_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[30]\"}, \"&denom\"] } \n },\n \"b30_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[30]\"}, \"&denom\"] } \n },\n \"b30_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[30]\"}, \"&denom\"] } \n },\n \"b30_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[30]\"}, \"&denom\"] } \n },\n \"b30_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[30]\"}, \"&denom\"] } \n },\n \"b30_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[30]\"}, \"&denom\"] } \n },\n \"b30_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[30]\"}, \"&denom\"] } \n },\n \"b30_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[30]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[30]\", \"&TCC_EA_RDREQ[30]\"]}, null] } },\n \"b30_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[30]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[30]\", \"&TCC_EA_WRREQ[30]\"]}, null] } },\n \"b30_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[30]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[30]\", \"&TCC_EA_ATOMIC[30]\"]}, null]}},\n \"b30_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[30]\"}, \"&denom\"] }},\n \"b30_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[30]\"}, \"&denom\"] }},\n \"b30_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[30]\"}, \"&denom\"] }},\n \"b30_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[30]\"}, \"&denom\"] }},\n \"b30_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[30]\"}, \"&denom\"] }},\n \"b30_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[30]\"}, \"&denom\"] }},\n \"b30_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[30]\"}, \"&denom\"] }},\n\n \n \"b31_hitRate\": {\n \"$avg\":{ \n \"$cond\": [ \n {\"$ne\": [{ \"$add\": [\"&TCC_HIT[31]\", \"&TCC_MISS[31]\"] }, 0]}, \n {\"$divide\": [\n { \"$multiply\": [100, \"&TCC_HIT[31]\"]}, \n { \"$add\": [\"&TCC_HIT[31]\", \"&TCC_MISS[31]\"] }\n ] \n },\n null\n ] \n }\n },\n \"b31_req\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_REQ[31]\"}, \"&denom\"] } \n },\n \"b31_readReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_READ[31]\"}, \"&denom\"] } \n },\n \"b31_writeReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_WRITE[31]\"}, \"&denom\"] } \n },\n \"b31_atomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_ATOMIC[31]\"}, \"&denom\"] } \n },\n \"b31_eaReadReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ[31]\"}, \"&denom\"] } \n },\n \"b31_eaWriteReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ[31]\"}, \"&denom\"] } \n },\n \"b31_eaAtomicReq\": {\n \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_ATOMIC[31]\"}, \"&denom\"] }\n },\n \"b31_eaReadLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_RDREQ[31]\", 0]}, {\"$divide\": [\"&TCC_EA_RDREQ_LEVEL[31]\", \"&TCC_EA_RDREQ[31]\"]}, null] } },\n \"b31_eaWriteLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_WRREQ[31]\", 0]}, {\"$divide\": [\"&TCC_EA_WRREQ_LEVEL[31]\", \"&TCC_EA_WRREQ[31]\"]}, null] } },\n \"b31_eaAtomicLat\": { \"$avg\": {\"$cond\": [{\"$ne\": [\"&TCC_EA_ATOMIC[31]\", 0]}, {\"$divide\": [\"&TCC_EA_ATOMIC_LEVEL[31]\", \"&TCC_EA_ATOMIC[31]\"]}, null]}},\n \"b31_ea_read_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_IO_CREDIT_STALL[31]\"}, \"&denom\"] }},\n \"b31_ea_read_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_GMI_CREDIT_STALL[31]\"}, \"&denom\"] }},\n \"b31_ea_read_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_RDREQ_DRAM_CREDIT_STALL[31]\"}, \"&denom\"] }},\n \"b31_ea_write_stall_io_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_IO_CREDIT_STALL[31]\"}, \"&denom\"] }},\n \"b31_ea_write_stall_gmi_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_GMI_CREDIT_STALL[31]\"}, \"&denom\"] }},\n \"b31_ea_write_stall_dram_credit\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_EA_WRREQ_DRAM_CREDIT_STALL[31]\"}, \"&denom\"] }},\n \"b31_ea_write_stall_too_many\": { \"$avg\":{ \"$divide\":[{\"$toInt\": \"&TCC_TOO_MANY_EA_WRREQS_STALL[31]\"}, \"&denom\"] }}\n\n \n }},\n {\"$set\": {\n \"array\": [\n {\n \"Channel\": \"16\",\n \"Hit Rate\": \"&b16_hitRate\",\n \"Req\": \"&b16_req\",\n \"Read Req\": \"&b16_readReq\",\n \"Write Req\": \"&b16_writeReq\",\n \"AtomicReq\": \"&b16_atomicReq\",\n \"EA Read Req\": \"&b16_eaReadReq\",\n \"EA Write Req\": \"&b16_eaWriteReq\",\n \"EA AtomicReq\": \"&b16_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b16_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b16_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b16_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b16_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b16_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b16_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b16_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b16_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b16_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b16_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"17\",\n \"Hit Rate\": \"&b17_hitRate\",\n \"Req\": \"&b17_req\",\n \"Read Req\": \"&b17_readReq\",\n \"Write Req\": \"&b17_writeReq\",\n \"AtomicReq\": \"&b17_atomicReq\",\n \"EA Read Req\": \"&b17_eaReadReq\",\n \"EA Write Req\": \"&b17_eaWriteReq\",\n \"EA AtomicReq\": \"&b17_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b17_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b17_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b17_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b17_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b17_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b17_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b17_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b17_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b17_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b17_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"18\",\n \"Hit Rate\": \"&b18_hitRate\",\n \"Req\": \"&b18_req\",\n \"Read Req\": \"&b18_readReq\",\n \"Write Req\": \"&b18_writeReq\",\n \"AtomicReq\": \"&b18_atomicReq\",\n \"EA Read Req\": \"&b18_eaReadReq\",\n \"EA Write Req\": \"&b18_eaWriteReq\",\n \"EA AtomicReq\": \"&b18_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b18_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b18_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b18_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b18_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b18_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b18_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b18_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b18_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b18_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b18_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"19\",\n \"Hit Rate\": \"&b19_hitRate\",\n \"Req\": \"&b19_req\",\n \"Read Req\": \"&b19_readReq\",\n \"Write Req\": \"&b19_writeReq\",\n \"AtomicReq\": \"&b19_atomicReq\",\n \"EA Read Req\": \"&b19_eaReadReq\",\n \"EA Write Req\": \"&b19_eaWriteReq\",\n \"EA AtomicReq\": \"&b19_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b19_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b19_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b19_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b19_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b19_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b19_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b19_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b19_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b19_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b19_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"20\",\n \"Hit Rate\": \"&b20_hitRate\",\n \"Req\": \"&b20_req\",\n \"Read Req\": \"&b20_readReq\",\n \"Write Req\": \"&b20_writeReq\",\n \"AtomicReq\": \"&b20_atomicReq\",\n \"EA Read Req\": \"&b20_eaReadReq\",\n \"EA Write Req\": \"&b20_eaWriteReq\",\n \"EA AtomicReq\": \"&b20_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b20_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b20_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b20_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b20_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b20_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b20_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b20_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b20_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b20_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b20_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"21\",\n \"Hit Rate\": \"&b21_hitRate\",\n \"Req\": \"&b21_req\",\n \"Read Req\": \"&b21_readReq\",\n \"Write Req\": \"&b21_writeReq\",\n \"AtomicReq\": \"&b21_atomicReq\",\n \"EA Read Req\": \"&b21_eaReadReq\",\n \"EA Write Req\": \"&b21_eaWriteReq\",\n \"EA AtomicReq\": \"&b21_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b21_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b21_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b21_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b21_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b21_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b21_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b21_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b21_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b21_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b21_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"22\",\n \"Hit Rate\": \"&b22_hitRate\",\n \"Req\": \"&b22_req\",\n \"Read Req\": \"&b22_readReq\",\n \"Write Req\": \"&b22_writeReq\",\n \"AtomicReq\": \"&b22_atomicReq\",\n \"EA Read Req\": \"&b22_eaReadReq\",\n \"EA Write Req\": \"&b22_eaWriteReq\",\n \"EA AtomicReq\": \"&b22_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b22_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b22_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b22_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b22_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b22_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b22_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b22_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b22_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b22_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b22_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"23\",\n \"Hit Rate\": \"&b23_hitRate\",\n \"Req\": \"&b23_req\",\n \"Read Req\": \"&b23_readReq\",\n \"Write Req\": \"&b23_writeReq\",\n \"AtomicReq\": \"&b23_atomicReq\",\n \"EA Read Req\": \"&b23_eaReadReq\",\n \"EA Write Req\": \"&b23_eaWriteReq\",\n \"EA AtomicReq\": \"&b23_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b23_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b23_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b23_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b23_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b23_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b23_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b23_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b23_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b23_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b23_ea_write_stall_too_many\"\n\n\n },\n {\n \"Channel\": \"24\",\n \"Hit Rate\": \"&b24_hitRate\",\n \"Req\": \"&b24_req\",\n \"Read Req\": \"&b24_readReq\",\n \"Write Req\": \"&b24_writeReq\",\n \"AtomicReq\": \"&b24_atomicReq\",\n \"EA Read Req\": \"&b24_eaReadReq\",\n \"EA Write Req\": \"&b24_eaWriteReq\",\n \"EA AtomicReq\": \"&b24_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b24_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b24_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b24_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b24_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b24_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b24_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b24_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b24_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b24_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b24_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"25\",\n \"Hit Rate\": \"&b25_hitRate\",\n \"Req\": \"&b25_req\",\n \"Read Req\": \"&b25_readReq\",\n \"Write Req\": \"&b25_writeReq\",\n \"AtomicReq\": \"&b25_atomicReq\",\n \"EA Read Req\": \"&b25_eaReadReq\",\n \"EA Write Req\": \"&b25_eaWriteReq\",\n \"EA AtomicReq\": \"&b25_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b25_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b25_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b25_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b25_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b25_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b25_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b25_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b25_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b25_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b25_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"26\",\n \"Hit Rate\": \"&b26_hitRate\",\n \"Req\": \"&b26_req\",\n \"Read Req\": \"&b26_readReq\",\n \"Write Req\": \"&b26_writeReq\",\n \"AtomicReq\": \"&b26_atomicReq\",\n \"EA Read Req\": \"&b26_eaReadReq\",\n \"EA Write Req\": \"&b26_eaWriteReq\",\n \"EA AtomicReq\": \"&b26_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b26_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b26_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b26_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b26_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b26_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b26_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b26_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b26_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b26_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b26_ea_write_stall_too_many\"\n\n\n },\n {\n \"Channel\": \"27\",\n \"Hit Rate\": \"&b27_hitRate\",\n \"Req\": \"&b27_req\",\n \"Read Req\": \"&b27_readReq\",\n \"Write Req\": \"&b27_writeReq\",\n \"AtomicReq\": \"&b27_atomicReq\",\n \"EA Read Req\": \"&b27_eaReadReq\",\n \"EA Write Req\": \"&b27_eaWriteReq\",\n \"EA AtomicReq\": \"&b27_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b27_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b27_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b27_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b27_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b27_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b27_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b27_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b27_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b27_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b27_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"28\",\n \"Hit Rate\": \"&b28_hitRate\",\n \"Req\": \"&b28_req\",\n \"Read Req\": \"&b28_readReq\",\n \"Write Req\": \"&b28_writeReq\",\n \"AtomicReq\": \"&b28_atomicReq\",\n \"EA Read Req\": \"&b28_eaReadReq\",\n \"EA Write Req\": \"&b28_eaWriteReq\",\n \"EA AtomicReq\": \"&b28_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b28_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b28_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b28_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b28_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b28_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b28_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b28_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b28_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b28_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b28_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"29\",\n \"Hit Rate\": \"&b29_hitRate\",\n \"Req\": \"&b29_req\",\n \"Read Req\": \"&b29_readReq\",\n \"Write Req\": \"&b29_writeReq\",\n \"AtomicReq\": \"&b29_atomicReq\",\n \"EA Read Req\": \"&b29_eaReadReq\",\n \"EA Write Req\": \"&b29_eaWriteReq\",\n \"EA AtomicReq\": \"&b29_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b29_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b29_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b29_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b29_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b29_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b29_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b29_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b29_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b29_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b29_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"30\",\n \"Hit Rate\": \"&b30_hitRate\",\n \"Req\": \"&b30_req\",\n \"Read Req\": \"&b30_readReq\",\n \"Write Req\": \"&b30_writeReq\",\n \"AtomicReq\": \"&b30_atomicReq\",\n \"EA Read Req\": \"&b30_eaReadReq\",\n \"EA Write Req\": \"&b30_eaWriteReq\",\n \"EA AtomicReq\": \"&b30_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b30_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b30_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b30_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b30_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b30_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b30_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b30_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b30_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b30_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b30_ea_write_stall_too_many\"\n\n },\n {\n \"Channel\": \"31\",\n \"Hit Rate\": \"&b31_hitRate\",\n \"Req\": \"&b31_req\",\n \"Read Req\": \"&b31_readReq\",\n \"Write Req\": \"&b31_writeReq\",\n \"AtomicReq\": \"&b31_atomicReq\",\n \"EA Read Req\": \"&b31_eaReadReq\",\n \"EA Write Req\": \"&b31_eaWriteReq\",\n \"EA AtomicReq\": \"&b31_eaAtomicReq\",\n \"EA Read Lat - cycles\": \"&b31_eaReadLat\",\n \"EA Write Lat - cycles\": \"&b31_eaWriteLat\",\n \"EA Atomic Lat - cycles\": \"&b31_eaAtomicLat\",\n \"EA Read Stall - IO\": \"&b31_ea_read_stall_io_credit\",\n \"EA Read Stall - GMI\": \"&b31_ea_read_stall_gmi_credit\",\n \"EA Read Stall - DRAM\": \"&b31_ea_read_stall_dram_credit\",\n \"EA Write Stall - IO\": \"&b31_ea_write_stall_io_credit\",\n \"EA Write Stall - GMI\": \"&b31_ea_write_stall_gmi_credit\",\n \"EA Write Stall - DRAM\": \"&b31_ea_write_stall_dram_credit\",\n \"EA Write Stall - Starve\": \"&b31_ea_write_stall_too_many\"\n\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"$array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"$array\"\n }}\n]);", + "type": "table" + } + ], + "title": "L2 - EA Read Latency (Channel 16-31) (Cycles)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 10, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Lat - cycles", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 81 + }, + "id": 93, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Write Latency (Channel 0 - 15) (Cycles)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 10, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Lat - cycles", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 81 + }, + "id": 94, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Write Latency (Channel 16 - 31) (Cycles)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 11, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Atomic Lat - cycles", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 89 + }, + "id": 187, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Atomic Latency (Channel 0 - 15) (Cycles)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 11, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Atomic Lat - cycles", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 89 + }, + "id": 201, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Atomic Latency (Channel 16 - 31) (Cycles)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 12, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Stall - IO", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 97 + }, + "id": 220, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Read Stall - I/O (Channel 0 - 15) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 12, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Stall - IO", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 97 + }, + "id": 227, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Read Stall - I/O (Channel 16 - 31) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 13, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Stall - GMI", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 105 + }, + "id": 221, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Read Stall - GMI (Channel 0 - 15) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 13, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Stall - GMI", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 105 + }, + "id": 228, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Read Stall - GMI (Channel 16 - 31) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 14, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Stall - DRAM", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 113 + }, + "id": 222, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Read Stall - HBM (Channel 0 - 15) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 14, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Read Stall - DRAM", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 113 + }, + "id": 229, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Read Stall - HBM (Channel 16 - 31) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 15, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - IO", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 121 + }, + "id": 223, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Write Stall - I/O (Channel 0 - 15) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 15, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - IO", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 121 + }, + "id": 230, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Write Stall - I/O (Channel 16 - 31) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 16, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - GMI", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 129 + }, + "id": 225, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Write Stall - GMI (Channel 0 - 15) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 16, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - GMI", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 129 + }, + "id": 231, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Write Stall - GMI (Channel 16 - 31) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 17, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - DRAM", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 137 + }, + "id": 224, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Write Stall - HBM (Channel 0 - 15) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 17, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - DRAM", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 137 + }, + "id": 232, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Write Stall - HBM (Channel 16 - 31) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 18, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - Starve", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 145 + }, + "id": 226, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 68, + "refId": "A" + } + ], + "title": "L2 - EA Write Starve (Channel 0 - 15) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + }, + { + "Aggregate": "last", + "BarPadding": 10, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupCols": 0, + "GroupGap": 5, + "GroupLabelColor": "#ffffff", + "GroupLabelFontSize": "200%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 22, + "Horizontal": false, + "LabelColName": "Channel", + "LabelColor": "#ffffff", + "LabelFontSize": "70%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 50, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#ffffff", + "ValueDecimals": 0, + "ValueFontSize": "70%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:277", + "Col": 18, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "EA Write Stall - Starve", + "Selected": true + } + ], + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 145 + }, + "id": 233, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 70, + "refId": "A" + } + ], + "title": "L2 - EA Write Starve (Channel 16 - 31) (Cycles $normUnit)", + "type": "michaeldmoore-multistat-panel" + } + ], + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "refId": "A" + } + ], + "title": "L2 Cache (per Channel)", + "type": "row" + } + ], + "refresh": "", + "schemaVersion": 34, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": true, + "text": "\"per Wave\"", + "value": "\"per Wave\"" + }, + "hide": 0, + "includeAll": false, + "label": "Normalization", + "multi": false, + "name": "normUnit", + "options": [ + { + "selected": true, + "text": "\"per Wave\"", + "value": "\"per Wave\"" + }, + { + "selected": false, + "text": "\"per Cycle\"", + "value": "\"per Cycle\"" + }, + { + "selected": false, + "text": "\"per Sec\"", + "value": "\"per Sec\"" + }, + { + "selected": false, + "text": "\"per Kernel\"", + "value": "\"per Kernel\"" + } + ], + "query": "\"per Wave\",\n\"per Cycle\",\n\"per Sec\",\n\"per Kernel\"", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "32", + "value": "32" + }, + "definition": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&L2Banks\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "L2 Channels", + "multi": false, + "name": "L2Banks", + "options": [], + "query": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&L2Banks\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "8", + "value": "8" + }, + "definition": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSE\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "#SEs", + "multi": false, + "name": "numSE", + "options": [], + "query": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSE\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "110", + "value": "110" + }, + "definition": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numCU\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "#CUs", + "multi": false, + "name": "numCU", + "options": [], + "query": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numCU\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "32", + "value": "32" + }, + "definition": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&maxWavesPerCU\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Max Waves/CU", + "multi": false, + "name": "maxWavesPerCU", + "options": [], + "query": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&maxWavesPerCU\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "1700", + "value": "1700" + }, + "definition": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&sclk\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "SCLK (MHz)", + "multi": false, + "name": "sclk", + "options": [], + "query": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&sclk\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "56", + "value": "56" + }, + "definition": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSQC\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "#SQC", + "multi": false, + "name": "numSQC", + "options": [], + "query": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSQC\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "1638.4", + "value": "1638.4" + }, + "definition": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&hbmBW\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "HBM BW (GB/s)", + "multi": false, + "name": "hbmBW", + "options": [], + "query": "$Workload1.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&hbmBW\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": true, + "text": "omniperf_aasg_vcopy_all_mi200", + "value": "omniperf_aasg_vcopy_all_mi200" + }, + "definition": "workload_names.names.aggregate([\n {\"$group\": {\n \"_id\": \"&name\"\n }}\n]);", + "hide": 0, + "includeAll": false, + "label": "Workload", + "multi": false, + "name": "Workload1", + "options": [], + "query": "workload_names.names.aggregate([\n {\"$group\": {\n \"_id\": \"&name\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "579909", + "value": "579909" + }, + "definition": "$Workload1.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n {\"$group\": {\n \"_id\": null,\n \"myAvg\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }, 1000] }, $sclk] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": { \"$round\": [\"&myAvg\", 0] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Kernel Cycles", + "multi": false, + "name": "kernelBusyCycles", + "options": [], + "query": "$Workload1.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n {\"$group\": {\n \"_id\": null,\n \"myAvg\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }, 1000] }, $sclk] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": { \"$round\": [\"&myAvg\", 0] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "58", + "value": "58" + }, + "definition": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"theAvg\": {\n \"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&GRBM_GUI_ACTIVE\", 0]},\n {\"$divide\": [{ \"$multiply\": [4, \"&SQ_BUSY_CU_CYCLES\"] }, \"&GRBM_GUI_ACTIVE\"]},\n \"\"\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": {\"$toInt\": { \"$min\": [{ \"$add\": [{ \"$multiply\": [{ \"$divide\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU] },8] }, { \"$min\": [{ \"$mod\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU] }, 8] }] }, $numCU] }}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"$array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"$array\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Active CUs", + "multi": false, + "name": "numActiveCUs", + "options": [], + "query": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"theAvg\": {\n \"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&GRBM_GUI_ACTIVE\", 0]},\n {\"$divide\": [{ \"$multiply\": [4, \"&SQ_BUSY_CU_CYCLES\"] }, \"&GRBM_GUI_ACTIVE\"]},\n \"\"\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": {\"$toInt\": { \"$min\": [{ \"$add\": [{ \"$multiply\": [{ \"$divide\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU] },8] }, { \"$min\": [{ \"$mod\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU] }, 8] }] }, $numCU] }}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"$array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"$array\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "definition": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": \"&Index\"\n }},\n {\"$sort\": {\n \"_id\": 1\n }}\n]);", + "description": "Defaults to all DispatchIDs", + "hide": 2, + "includeAll": true, + "label": "Filtered Dispatch ID", + "multi": false, + "name": "DispatchIDFilter", + "options": [], + "query": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": \"&Index\"\n }},\n {\"$sort\": {\n \"_id\": 1\n }}\n]);", + "refresh": 1, + "regex": "${DispatchID:text}", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": true, + "text": "", + "value": "" + }, + "description": "Desired DispatchID filters as regex ex. (1|18)", + "hide": 0, + "label": "Dispatch Filter", + "name": "DispatchID", + "options": [ + { + "selected": true, + "text": "", + "value": "" + } + ], + "query": "", + "skipUrlSync": false, + "type": "textbox" + }, + { + "current": { + "selected": false, + "text": "0", + "value": "0" + }, + "definition": "$Workload1.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&gpu-id\"\n }}\n]);", + "hide": 0, + "includeAll": false, + "label": "GCD", + "multi": false, + "name": "gpuFilter", + "options": [], + "query": "$Workload1.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&gpu-id\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 3, + "type": "query" + }, + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "definition": "$Workload1.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&KernelName\"\n }}\n]);", + "hide": 0, + "includeAll": true, + "label": "Kernels", + "multi": true, + "name": "KernelNameFilter", + "options": [], + "query": "$Workload1.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&KernelName\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "miperf_asw_vcopy_mi200", + "value": "miperf_asw_vcopy_mi200" + }, + "definition": "workload_names.names.aggregate([\n {\"$group\": {\n \"_id\": \"&name\"\n }}\n]);", + "hide": 0, + "includeAll": false, + "label": "Baseline Workload", + "multi": false, + "name": "Workload2", + "options": [], + "query": "workload_names.names.aggregate([\n {\"$group\": {\n \"_id\": \"&name\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "84", + "value": "84" + }, + "definition": "$Workload2.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}}\n }},\n\n {\"$group\": {\n \"_id\": null,\n \"theAvg\": {\n \"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&GRBM_GUI_ACTIVE\", 0]},\n {\"$divide\": [{ \"$multiply\": [4, \"&SQ_BUSY_CU_CYCLES\"] }, \"&GRBM_GUI_ACTIVE\"]},\n \"\"\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": {\"$toInt\": { \"$min\": [{ \"$add\": [{ \"$multiply\": [{ \"$divide\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU2] },8] }, { \"$min\": [{ \"$mod\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU2] }, 8] }] }, $numCU2] }}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline ActiveCUs", + "multi": false, + "name": "numActiveCUs2", + "options": [], + "query": "$Workload2.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}}\n }},\n\n {\"$group\": {\n \"_id\": null,\n \"theAvg\": {\n \"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&GRBM_GUI_ACTIVE\", 0]},\n {\"$divide\": [{ \"$multiply\": [4, \"&SQ_BUSY_CU_CYCLES\"] }, \"&GRBM_GUI_ACTIVE\"]},\n \"\"\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": {\"$toInt\": { \"$min\": [{ \"$add\": [{ \"$multiply\": [{ \"$divide\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU2] },8] }, { \"$min\": [{ \"$mod\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU2] }, 8] }] }, $numCU2] }}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "definition": "$Workload2.pmc_perf.aggregate([\n {\"$match\": {\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}}\n }},\n {\"$group\": {\n \"_id\": \"&Index\"\n }},\n {\"$sort\": {\n \"_id\": 1\n }}\n]);", + "description": "Defaults to all DispatchIDs", + "hide": 2, + "includeAll": true, + "label": "Baseline Dispatch IDs", + "multi": false, + "name": "DispatchIDFilter2", + "options": [], + "query": "$Workload2.pmc_perf.aggregate([\n {\"$match\": {\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}}\n }},\n {\"$group\": {\n \"_id\": \"&Index\"\n }},\n {\"$sort\": {\n \"_id\": 1\n }}\n]);", + "refresh": 1, + "regex": "${DispatchID2:text}", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": true, + "text": "", + "value": "" + }, + "description": "Desired DispatchID filters as regex ex. (1|18)", + "hide": 0, + "label": "Baseline Dispatch Filter", + "name": "DispatchID2", + "options": [ + { + "selected": true, + "text": "", + "value": "" + } + ], + "query": "", + "skipUrlSync": false, + "type": "textbox" + }, + { + "current": { + "selected": false, + "text": "0", + "value": "0" + }, + "definition": "$Workload2.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&gpu-id\"\n }}\n]);", + "hide": 0, + "includeAll": false, + "label": "Baseline GCD", + "multi": false, + "name": "gpuFilter2", + "options": [], + "query": "$Workload2.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&gpu-id\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "oVK0I__nk" + }, + "definition": "$Workload2.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&KernelName\"\n }}\n]);", + "hide": 0, + "includeAll": true, + "label": "Baseline Kernels", + "multi": true, + "name": "KernelNameFilter2", + "options": [], + "query": "$Workload2.pmc_perf.aggregate([\n {\"$group\": {\n \"_id\": \"&KernelName\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": true, + "text": [ + "System Info" + ], + "value": [ + "System Info" + ] + }, + "hide": 0, + "includeAll": false, + "label": "Comparison Panels", + "multi": true, + "name": "select", + "options": [ + { + "selected": true, + "text": "System Info", + "value": "System Info" + }, + { + "selected": false, + "text": "System Speed-of-Light", + "value": "System Speed-of-Light" + }, + { + "selected": false, + "text": "Roofline", + "value": "Roofline" + }, + { + "selected": false, + "text": "Command Processor", + "value": "Command Processor" + }, + { + "selected": false, + "text": "Shader Processor Input", + "value": "Shader Processor Input" + }, + { + "selected": false, + "text": "Wavefront", + "value": "Wavefront" + }, + { + "selected": false, + "text": "Compute Pipeline", + "value": "Compute Pipeline" + }, + { + "selected": false, + "text": "Instruction Mix", + "value": "Instruction Mix" + }, + { + "selected": false, + "text": "Local Data Share", + "value": "Local Data Share" + }, + { + "selected": false, + "text": "Instruction Cache", + "value": "Instruction Cache" + }, + { + "selected": false, + "text": "Scalar L1D Cache", + "value": "Scalar L1D Cache" + }, + { + "selected": false, + "text": "Texture Addr and Data", + "value": "Texture Addr and Data" + }, + { + "selected": false, + "text": "Vector L1D Cache", + "value": "Vector L1D Cache" + }, + { + "selected": false, + "text": "L2 Cache", + "value": "L2 Cache" + } + ], + "query": "System Info, \nSystem Speed-of-Light, \nRoofline,\nCommand Processor, \nShader Processor Input, \nWavefront,\nCompute Pipeline, \nInstruction Mix,\nLocal Data Share, \nInstruction Cache, \nScalar L1D Cache, \nTexture Addr and Data, \nVector L1D Cache,\nL2 Cache", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "32", + "value": "32" + }, + "definition": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&L2Banks\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline L2 Channels", + "multi": false, + "name": "L2Banks2", + "options": [], + "query": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&L2Banks\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "8", + "value": "8" + }, + "definition": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSE\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline #SEs", + "multi": false, + "name": "numSE2", + "options": [], + "query": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSE\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "110", + "value": "110" + }, + "definition": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numCU\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline #CUs", + "multi": false, + "name": "numCU2", + "options": [], + "query": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numCU\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "32", + "value": "32" + }, + "definition": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&maxWavesPerCU\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline Max Waves/CU", + "multi": false, + "name": "maxWavesPerCU2", + "options": [], + "query": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&maxWavesPerCU\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "1700", + "value": "1700" + }, + "definition": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&sclk\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline SCLK (MHz)", + "multi": false, + "name": "sclk2", + "options": [], + "query": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&sclk\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "56", + "value": "56" + }, + "definition": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSQC\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline #SQC", + "multi": false, + "name": "numSQC2", + "options": [], + "query": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&numSQC\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "1638.4", + "value": "1638.4" + }, + "definition": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&hbmBW\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "Baseline HBM BW (GB/s)", + "multi": false, + "name": "hbmBW2", + "options": [], + "query": "$Workload2.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&hbmBW\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "mi200", + "value": "mi200" + }, + "definition": "${Workload1}.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&name\"\n }}\n]);", + "hide": 2, + "includeAll": false, + "label": "SOC", + "multi": false, + "name": "soc", + "options": [], + "query": "${Workload1}.sysinfo.aggregate([\n {\"$group\": {\n \"_id\": \"&name\"\n }}\n]);", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": { + "selected": true, + "text": "5", + "value": "5" + }, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "TopN", + "options": [ + { + "selected": false, + "text": "1", + "value": "1" + }, + { + "selected": true, + "text": "5", + "value": "5" + }, + { + "selected": false, + "text": "10", + "value": "10" + }, + { + "selected": false, + "text": "15", + "value": "15" + }, + { + "selected": false, + "text": "20", + "value": "20" + }, + { + "selected": false, + "text": "50", + "value": "50" + }, + { + "selected": false, + "text": "100", + "value": "100" + } + ], + "query": "1,5,10,15,20,50,100", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + } + ] + }, + "time": { + "from": "2021-11-04T14:21:39.749Z", + "to": "2021-11-08T14:21:39.749Z" + }, + "timepicker": {}, + "timezone": "", + "title": "Omniperf_v1.0.3_pub", + "uid": "MIPerf_v1_0_063020221", + "version": 4, + "weekStart": "" +} \ No newline at end of file diff --git a/src/omniperf_cli/configs/gfx906/1600_L1_cache.yaml b/src/omniperf_cli/configs/gfx906/1600_L1_cache.yaml index b2e950f476..d0b6c52e8c 100644 --- a/src/omniperf_cli/configs/gfx906/1600_L1_cache.yaml +++ b/src/omniperf_cli/configs/gfx906/1600_L1_cache.yaml @@ -25,8 +25,8 @@ Panel Config: != 0) else None)) tips: Cache BW: - value: AVG(((100 * TCP_TOTAL_CACHE_ACCESSES_sum) / ((GRBM_GUI_ACTIVE * $numCU) - * 4))) + value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) + / ((($sclk / 1000) * 64) * $numCU)) tips: Cache Hit: value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) diff --git a/src/omniperf_cli/configs/gfx908/1600_L1_cache.yaml b/src/omniperf_cli/configs/gfx908/1600_L1_cache.yaml index 704ec0b6bb..c19dcce97c 100644 --- a/src/omniperf_cli/configs/gfx908/1600_L1_cache.yaml +++ b/src/omniperf_cli/configs/gfx908/1600_L1_cache.yaml @@ -25,8 +25,8 @@ Panel Config: != 0) else None)) tips: Cache BW: - value: AVG(((100 * TCP_TOTAL_CACHE_ACCESSES_sum) / ((GRBM_GUI_ACTIVE * $numCU) - * 4))) + value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) + / ((($sclk / 1000) * 64) * $numCU)) tips: Cache Hit: value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) diff --git a/src/omniperf_cli/configs/gfx90a/1600_L1_cache.yaml b/src/omniperf_cli/configs/gfx90a/1600_L1_cache.yaml index d056c5883c..d54ff22c3e 100644 --- a/src/omniperf_cli/configs/gfx90a/1600_L1_cache.yaml +++ b/src/omniperf_cli/configs/gfx90a/1600_L1_cache.yaml @@ -25,8 +25,8 @@ Panel Config: != 0) else None)) tips: Cache BW: - value: AVG(((100 * TCP_TOTAL_CACHE_ACCESSES_sum) / ((GRBM_GUI_ACTIVE * $numCU) - * 4))) + value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs)))) + / ((($sclk / 1000) * 64) * $numCU)) tips: Cache Hit: value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) From c32e2f91416b60b1a5f5710029348bd03c9bbe76 Mon Sep 17 00:00:00 2001 From: colramos-amd Date: Thu, 1 Dec 2022 15:45:59 -0600 Subject: [PATCH 10/16] Lock Grafana UI dependencies to specific version Signed-off-by: colramos-amd --- grafana_plugins/svg_plugin/package.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/grafana_plugins/svg_plugin/package.json b/grafana_plugins/svg_plugin/package.json index 1908ef09ea..fb88025c1d 100644 --- a/grafana_plugins/svg_plugin/package.json +++ b/grafana_plugins/svg_plugin/package.json @@ -13,19 +13,19 @@ "author": "Audacious Software Group", "license": "MIT", "devDependencies": { - "@grafana/data": "latest", "@grafana/toolkit": "latest", - "@grafana/ui": "latest", - "emotion": "10.0.27" + "emotion": "10.0.27", + "react-monaco-editor": "^0.44.0", + "tslib": "^2.3.1" }, "engines": { "node": ">=14" }, "dependencies": { - "@grafana/runtime": "^8.1.1", - "@svgdotjs/svg.js": "^3.1.1", - "react-monaco-editor": "^0.44.0", - "tslib": "^2.3.1" + "@grafana/runtime": "9.1.2", + "@grafana/data": "9.1.2", + "@grafana/ui": "9.1.2", + "@svgdotjs/svg.js": "^3.1.1" }, "_comments": "Dependencies are not included as part of Omniperf. It's the user's responsibility to accept any licensing implications before building the project." } From f9f8b749c8dc489225d96573d3a07f809821ae8b Mon Sep 17 00:00:00 2001 From: colramos425 Date: Fri, 2 Dec 2022 11:56:56 -0600 Subject: [PATCH 11/16] Merge branch '30-multi-normalization' into dev Signed-off-by: colramos425 --- CMakeLists.txt | 6 +- pyproject.toml | 2 +- src/docs/standalone_gui_analyzer.md | 2 +- src/omniperf | 6 +- .../README.md | 2 +- .../assets/default.css | 0 .../assets/font-awesome/css/font-awesome.css | 0 .../font-awesome/css/font-awesome.min.css | 0 .../assets/font-awesome/fonts/FontAwesome.otf | Bin .../fonts/fontawesome-webfont.eot | Bin .../fonts/fontawesome-webfont.svg | 0 .../fonts/fontawesome-webfont.ttf | Bin .../fonts/fontawesome-webfont.woff | Bin .../font-awesome/less/bordered-pulled.less | 0 .../assets/font-awesome/less/core.less | 0 .../assets/font-awesome/less/fixed-width.less | 0 .../font-awesome/less/font-awesome.less | 0 .../assets/font-awesome/less/icons.less | 0 .../assets/font-awesome/less/larger.less | 0 .../assets/font-awesome/less/list.less | 0 .../assets/font-awesome/less/mixins.less | 0 .../assets/font-awesome/less/path.less | 0 .../font-awesome/less/rotated-flipped.less | 0 .../assets/font-awesome/less/spinning.less | 0 .../assets/font-awesome/less/stacked.less | 0 .../assets/font-awesome/less/variables.less | 0 .../font-awesome/scss/_bordered-pulled.scss | 0 .../assets/font-awesome/scss/_core.scss | 0 .../font-awesome/scss/_fixed-width.scss | 0 .../assets/font-awesome/scss/_icons.scss | 0 .../assets/font-awesome/scss/_larger.scss | 0 .../assets/font-awesome/scss/_list.scss | 0 .../assets/font-awesome/scss/_mixins.scss | 0 .../assets/font-awesome/scss/_path.scss | 0 .../font-awesome/scss/_rotated-flipped.scss | 0 .../assets/font-awesome/scss/_spinning.scss | 0 .../assets/font-awesome/scss/_stacked.scss | 0 .../assets/font-awesome/scss/_variables.scss | 0 .../font-awesome/scss/font-awesome.scss | 0 .../assets/fontello/css/animation.css | 0 .../assets/fontello/css/fontello-codes.css | 0 .../assets/fontello/css/fontello-embedded.css | 0 .../fontello/css/fontello-ie7-codes.css | 0 .../assets/fontello/css/fontello-ie7.css | 0 .../assets/fontello/css/fontello.css | 0 .../assets/fontello/font/fontello.eot | Bin .../assets/fontello/font/fontello.svg | 0 .../assets/fontello/font/fontello.ttf | Bin .../assets/fontello/font/fontello.woff | Bin .../assets/fonts.css | 0 .../librebaskerville-bold-webfont.eot | Bin .../librebaskerville-bold-webfont.svg | 0 .../librebaskerville-bold-webfont.ttf | Bin .../librebaskerville-bold-webfont.woff | Bin .../librebaskerville-italic-webfont.eot | Bin .../librebaskerville-italic-webfont.svg | 0 .../librebaskerville-italic-webfont.ttf | Bin .../librebaskerville-italic-webfont.woff | Bin .../librebaskerville-regular-webfont.eot | Bin .../librebaskerville-regular-webfont.svg | 0 .../librebaskerville-regular-webfont.ttf | Bin .../librebaskerville-regular-webfont.woff | Bin .../fonts/opensans/OpenSans-Bold-webfont.eot | Bin .../fonts/opensans/OpenSans-Bold-webfont.svg | 0 .../fonts/opensans/OpenSans-Bold-webfont.ttf | Bin .../fonts/opensans/OpenSans-Bold-webfont.woff | Bin .../opensans/OpenSans-BoldItalic-webfont.eot | Bin .../opensans/OpenSans-BoldItalic-webfont.svg | 0 .../opensans/OpenSans-BoldItalic-webfont.ttf | Bin .../opensans/OpenSans-BoldItalic-webfont.woff | Bin .../opensans/OpenSans-ExtraBold-webfont.eot | Bin .../opensans/OpenSans-ExtraBold-webfont.svg | 0 .../opensans/OpenSans-ExtraBold-webfont.ttf | Bin .../opensans/OpenSans-ExtraBold-webfont.woff | Bin .../OpenSans-ExtraBoldItalic-webfont.eot | Bin .../OpenSans-ExtraBoldItalic-webfont.svg | 0 .../OpenSans-ExtraBoldItalic-webfont.ttf | Bin .../OpenSans-ExtraBoldItalic-webfont.woff | Bin .../opensans/OpenSans-Italic-webfont.eot | Bin .../opensans/OpenSans-Italic-webfont.svg | 0 .../opensans/OpenSans-Italic-webfont.ttf | Bin .../opensans/OpenSans-Italic-webfont.woff | Bin .../fonts/opensans/OpenSans-Light-webfont.eot | Bin .../fonts/opensans/OpenSans-Light-webfont.svg | 0 .../fonts/opensans/OpenSans-Light-webfont.ttf | Bin .../opensans/OpenSans-Light-webfont.woff | Bin .../opensans/OpenSans-LightItalic-webfont.eot | Bin .../opensans/OpenSans-LightItalic-webfont.svg | 0 .../opensans/OpenSans-LightItalic-webfont.ttf | Bin .../OpenSans-LightItalic-webfont.woff | Bin .../opensans/OpenSans-Regular-webfont.eot | Bin .../opensans/OpenSans-Regular-webfont.svg | 0 .../opensans/OpenSans-Regular-webfont.ttf | Bin .../opensans/OpenSans-Regular-webfont.woff | Bin .../opensans/OpenSans-Semibold-webfont.eot | Bin .../opensans/OpenSans-Semibold-webfont.svg | 0 .../opensans/OpenSans-Semibold-webfont.ttf | Bin .../opensans/OpenSans-Semibold-webfont.woff | Bin .../OpenSans-SemiboldItalic-webfont.eot | Bin .../OpenSans-SemiboldItalic-webfont.svg | 0 .../OpenSans-SemiboldItalic-webfont.ttf | Bin .../OpenSans-SemiboldItalic-webfont.woff | Bin .../assets/layout.css | 0 .../assets/magnific-popup.css | 0 .../assets/media-queries.css | 0 .../configs/gfx906/0000_top_stat.yaml | 0 .../configs/gfx906/0100_system_info.yaml | 0 .../gfx906/0200_system-speed-of-light.yaml | 0 .../gfx906/0500_command-processor.yaml | 0 .../gfx906/0600_shader-processor-input.yaml | 0 .../configs/gfx906/0700_wavefront-launch.yaml | 0 .../1000_compute-unit-instruction-mix.yaml | 0 .../1100_compute-unit-compute-pipeline.yaml | 0 .../configs/gfx906/1200_lds.yaml | 0 .../gfx906/1300_instruction-cache.yaml | 0 .../configs/gfx906/1400_constant-cache.yaml | 0 .../configs/gfx906/1500_TA_and_TD.yaml | 0 .../configs/gfx906/1600_L1_cache.yaml | 0 .../configs/gfx906/1700_L2_cache.yaml | 0 .../gfx906/1800_L2_cache_per_channel.yaml | 0 .../configs/gfx906/1900_memory_chart.yaml | 0 .../configs/gfx906/2000_kernels.yaml | 0 .../configs/gfx908/0000_top_stat.yaml | 0 .../configs/gfx908/0100_system_info.yaml | 0 .../gfx908/0200_system-speed-of-light.yaml | 0 .../gfx908/0500_command-processor.yaml | 0 .../gfx908/0600_shader-processor-input.yaml | 0 .../configs/gfx908/0700_wavefront-launch.yaml | 0 .../1000_compute-unit-instruction-mix.yaml | 0 .../1100_compute-unit-compute-pipeline.yaml | 0 .../configs/gfx908/1200_lds.yaml | 0 .../gfx908/1300_instruction-cache.yaml | 0 .../configs/gfx908/1400_constant-cache.yaml | 0 .../configs/gfx908/1500_TA_and_TD.yaml | 0 .../configs/gfx908/1600_L1_cache.yaml | 0 .../configs/gfx908/1700_L2_cache.yaml | 0 .../gfx908/1800_L2_cache_per_channel.yaml | 0 .../configs/gfx908/1900_memory_chart.yaml | 0 .../configs/gfx908/2000_kernels.yaml | 0 .../configs/gfx90a/0000_top_stat.yaml | 0 .../configs/gfx90a/0100_system_info.yaml | 0 .../gfx90a/0200_system-speed-of-light.yaml | 0 .../gfx90a/0500_command-processor.yaml | 0 .../gfx90a/0600_shader-processor-input.yaml | 0 .../configs/gfx90a/0700_wavefront-launch.yaml | 0 .../1000_compute-unit-instruction-mix.yaml | 0 .../1100_compute-unit-compute-pipeline.yaml | 0 .../configs/gfx90a/1200_lds.yaml | 0 .../gfx90a/1300_instruction-cache.yaml | 0 .../configs/gfx90a/1400_constant-cache.yaml | 0 .../configs/gfx90a/1500_TA_and_TD.yaml | 0 .../configs/gfx90a/1600_L1_cache.yaml | 0 .../configs/gfx90a/1700_L2_cache.yaml | 0 .../gfx90a/1800_L2_cache_per_channel.yaml | 0 .../configs/gfx90a/1900_memory_chart.yaml | 0 .../configs/gfx90a/2000_kernels.yaml | 0 .../configs/panel_config_template.yaml | 0 .../convertor/mongodb/README.md | 6 +- .../convertor/mongodb/convert | 0 ..._id_159_SYSTEM-INFO.s0_original_query.json | 0 ..._110_SPEED-OF-LIGHT.s0_original_query.json | 0 ...ISPATCH-IDS-CURRENT.s0_original_query.json | 0 ...SPATCH-IDS-BASELINE.s0_original_query.json | 0 ...RNEL-TIME-HISTOGRAM.s0_original_query.json | 0 ..._id_213_TOP-KERNELS.s0_original_query.json | 0 ..._251_TOP-DISPATCHES.s0_original_query.json | 0 ...MALIZATION-NORMUNIT.s0_original_query.json | 0 ...LINE-FP32FP64-MI200.s0_original_query.json | 0 ...LINE-FP16INT8-MI200.s0_original_query.json | 0 ...D-PROCESSOR-FETCHER.s0_original_query.json | 0 ...D-PROCESSOR-COMPUTE.s0_original_query.json | 0 ...18_id_106_SPI-STATS.s0_original_query.json | 0 ...RESOURCE-ALLOCATION.s0_original_query.json | 0 ...EFRONT-LAUNCH-STATS.s0_original_query.json | 0 ...FRONT-RUNTIME-STATS.s0_original_query.json | 0 ..._12_INSTRUCTION-MIX.s0_original_query.json | 0 ...RITHMETIC-INSTR-MIX.s0_original_query.json | 0 ..._275_VMEM-INSTR-MIX.s0_original_query.json | 0 ...RITHMETIC-INSTR-MIX.s0_original_query.json | 0 ...HT-COMPUTE-PIPELINE.s0_original_query.json | 0 ..._257_PIPELINE-STATS.s0_original_query.json | 0 ...ITHMETIC-OPERATIONS.s0_original_query.json | 0 ...55_MEMORY-LATENCIES.s0_original_query.json | 0 ..._SPEED-OF-LIGHT-LDS.s0_original_query.json | 0 ...35_id_100_LDS-STATS.s0_original_query.json | 0 ...T-INSTRUCTION-CACHE.s0_original_query.json | 0 ...TION-CACHE-ACCESSES.s0_original_query.json | 0 ...HT-SCALAR-L1D-CACHE.s0_original_query.json | 0 ...-L1D-CACHE-ACCESSES.s0_original_query.json | 0 ...-CACHE-L2-INTERFACE.s0_original_query.json | 0 .../44_id_132_TA.s0_original_query.json | 0 .../45_id_134_TD.s0_original_query.json | 0 ...HT-VECTOR-L1D-CACHE.s0_original_query.json | 0 ...OR-L1D-CACHE-STALLS.s0_original_query.json | 0 ...-L1D-CACHE-ACCESSES.s0_original_query.json | 0 ...CTIONS-REQ-NORMUNIT.s0_original_query.json | 0 ...1D-ADDR-TRANSLATION.s0_original_query.json | 0 ...D-OF-LIGHT-L2-CACHE.s0_original_query.json | 0 ...FABRIC-TRANSACTIONS.s0_original_query.json | 0 ...8_L2-CACHE-ACCESSES.s0_original_query.json | 0 ...LLS-CYCLES-NORMUNIT.s0_original_query.json | 0 ...CHANNEL-0-15-CYCLES.s0_original_query.json | 0 ...HANNEL-16-31-CYCLES.s0_original_query.json | 0 ..._id_159_SYSTEM-INFO.s0_original_query.json | 0 ..._110_SPEED-OF-LIGHT.s0_original_query.json | 0 ...ISPATCH-IDS-CURRENT.s0_original_query.json | 0 ...SPATCH-IDS-BASELINE.s0_original_query.json | 0 ...RNEL-TIME-HISTOGRAM.s0_original_query.json | 0 ..._id_213_TOP-KERNELS.s0_original_query.json | 0 ..._251_TOP-DISPATCHES.s0_original_query.json | 0 ...MALIZATION-NORMUNIT.s0_original_query.json | 0 ...LINE-FP32FP64-MI200.s0_original_query.json | 0 ...LINE-FP16INT8-MI200.s0_original_query.json | 0 ...D-PROCESSOR-FETCHER.s0_original_query.json | 0 ...D-PROCESSOR-COMPUTE.s0_original_query.json | 0 ...18_id_106_SPI-STATS.s0_original_query.json | 0 ...RESOURCE-ALLOCATION.s0_original_query.json | 0 ...EFRONT-LAUNCH-STATS.s0_original_query.json | 0 ...FRONT-RUNTIME-STATS.s0_original_query.json | 0 ..._12_INSTRUCTION-MIX.s0_original_query.json | 0 ...RITHMETIC-INSTR-MIX.s0_original_query.json | 0 ..._275_VMEM-INSTR-MIX.s0_original_query.json | 0 ...RITHMETIC-INSTR-MIX.s0_original_query.json | 0 ...HT-COMPUTE-PIPELINE.s0_original_query.json | 0 ..._257_PIPELINE-STATS.s0_original_query.json | 0 ...ITHMETIC-OPERATIONS.s0_original_query.json | 0 ...55_MEMORY-LATENCIES.s0_original_query.json | 0 ..._SPEED-OF-LIGHT-LDS.s0_original_query.json | 0 ...35_id_100_LDS-STATS.s0_original_query.json | 0 ...T-INSTRUCTION-CACHE.s0_original_query.json | 0 ...TION-CACHE-ACCESSES.s0_original_query.json | 0 ...HT-SCALAR-L1D-CACHE.s0_original_query.json | 0 ...-L1D-CACHE-ACCESSES.s0_original_query.json | 0 ...-CACHE-L2-INTERFACE.s0_original_query.json | 0 .../44_id_132_TA.s0_original_query.json | 0 .../45_id_134_TD.s0_original_query.json | 0 ...HT-VECTOR-L1D-CACHE.s0_original_query.json | 0 ...OR-L1D-CACHE-STALLS.s0_original_query.json | 0 ...-L1D-CACHE-ACCESSES.s0_original_query.json | 0 ...CTIONS-REQ-NORMUNIT.s0_original_query.json | 0 ...1D-ADDR-TRANSLATION.s0_original_query.json | 0 ...D-OF-LIGHT-L2-CACHE.s0_original_query.json | 0 ...FABRIC-TRANSACTIONS.s0_original_query.json | 0 ...8_L2-CACHE-ACCESSES.s0_original_query.json | 0 ...LLS-CYCLES-NORMUNIT.s0_original_query.json | 0 ...CHANNEL-0-15-CYCLES.s0_original_query.json | 0 ...HANNEL-16-31-CYCLES.s0_original_query.json | 0 .../convertor/mongodb/sample.json | 0 .../convertor/sql/1001_TA.config | 0 .../convertor/sql/1002_TD.config | 0 .../sql/100_System-speed-of-light.config | 0 .../convertor/sql/401_CPF.config | 0 .../convertor/sql/402_CPC.config | 0 .../convertor/sql/501_SPI-Stats.config | 0 .../sql/502_SPI-Resource-Allocation.config | 0 .../convertor/sql/801_LDS.config | 0 .../convertor/sql/901_L1I_cache.config | 0 .../convertor/sql/902_L1K_cache.config | 0 .../convertor/sql/903_L1K_TC_Interface.config | 0 .../convertor/sql/convertor.py | 0 .../convertor/sql/convertor2.py | 0 .../customized/fft/panel_000_top_stat.yaml | 0 .../fft/panel_100_system-speed-of-light.yaml | 0 .../doc/baseline_comparison.png | Bin .../doc/classes.png | Bin .../doc/main_flow.png | Bin .../omniperf_analyze.py} | 200 ++++++++++-------- .../perfmon/gfx908_metrics.xml | 0 .../perfmon/gfx90a_metrics.xml | 0 .../perfmon/metrics.xml | 0 .../tests/unit/ast_parser_tester.py | 0 .../tests/unit/config/100_if_else.yaml | 0 .../tests/unit/config/100_more_cases.yaml | 0 ...build_in_variables.s4_converted_table.yaml | 0 .../tests/unit/config/expr_format_tester.py | 0 .../utils/file_io.py | 2 +- .../utils/gui.py | 50 +++-- .../utils/gui_components/header.py | 8 +- .../utils/gui_components/memchart.py | 0 .../utils/gui_components/roofline.py | 2 +- .../utils/parser.py | 3 +- .../utils/roofline_calc.py | 0 .../utils/schema.py | 0 .../utils/tty.py | 2 +- src/parser.py | 6 +- utils/build.sh | 6 +- 286 files changed, 164 insertions(+), 139 deletions(-) rename src/{omniperf_cli => omniperf_analyze}/README.md (93%) rename src/{omniperf_cli => omniperf_analyze}/assets/default.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/css/font-awesome.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/css/font-awesome.min.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/fonts/FontAwesome.otf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/fonts/fontawesome-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/fonts/fontawesome-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/fonts/fontawesome-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/fonts/fontawesome-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/bordered-pulled.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/core.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/fixed-width.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/font-awesome.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/icons.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/larger.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/list.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/mixins.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/path.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/rotated-flipped.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/spinning.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/stacked.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/less/variables.less (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_bordered-pulled.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_core.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_fixed-width.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_icons.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_larger.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_list.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_mixins.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_path.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_rotated-flipped.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_spinning.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_stacked.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/_variables.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/font-awesome/scss/font-awesome.scss (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/css/animation.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/css/fontello-codes.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/css/fontello-embedded.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/css/fontello-ie7-codes.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/css/fontello-ie7.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/css/fontello.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/font/fontello.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/font/fontello.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/font/fontello.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fontello/font/fontello.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Bold-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Bold-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Bold-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Bold-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Italic-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Italic-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Italic-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Italic-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Light-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Light-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Light-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Light-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Regular-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Regular-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Regular-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Regular-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Semibold-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Semibold-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-Semibold-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/layout.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/magnific-popup.css (100%) rename src/{omniperf_cli => omniperf_analyze}/assets/media-queries.css (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/0000_top_stat.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/0100_system_info.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/0200_system-speed-of-light.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/0500_command-processor.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/0600_shader-processor-input.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/0700_wavefront-launch.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1000_compute-unit-instruction-mix.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1100_compute-unit-compute-pipeline.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1200_lds.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1300_instruction-cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1400_constant-cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1500_TA_and_TD.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1600_L1_cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1700_L2_cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1800_L2_cache_per_channel.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/1900_memory_chart.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx906/2000_kernels.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/0000_top_stat.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/0100_system_info.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/0200_system-speed-of-light.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/0500_command-processor.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/0600_shader-processor-input.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/0700_wavefront-launch.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1000_compute-unit-instruction-mix.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1100_compute-unit-compute-pipeline.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1200_lds.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1300_instruction-cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1400_constant-cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1500_TA_and_TD.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1600_L1_cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1700_L2_cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1800_L2_cache_per_channel.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/1900_memory_chart.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx908/2000_kernels.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/0000_top_stat.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/0100_system_info.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/0200_system-speed-of-light.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/0500_command-processor.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/0600_shader-processor-input.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/0700_wavefront-launch.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1000_compute-unit-instruction-mix.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1100_compute-unit-compute-pipeline.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1200_lds.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1300_instruction-cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1400_constant-cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1500_TA_and_TD.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1600_L1_cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1700_L2_cache.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1800_L2_cache_per_channel.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/1900_memory_chart.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/gfx90a/2000_kernels.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/configs/panel_config_template.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/README.md (76%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/convert (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/00_id_159_SYSTEM-INFO.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/07_id_213_TOP-KERNELS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/08_id_251_TOP-DISPATCHES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/18_id_106_SPI-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/30_id_257_PIPELINE-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/35_id_100_LDS-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/44_id_132_TA.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/45_id_134_TD.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/modified_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/00_id_159_SYSTEM-INFO.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/07_id_213_TOP-KERNELS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/08_id_251_TOP-DISPATCHES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/18_id_106_SPI-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/30_id_257_PIPELINE-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/35_id_100_LDS-STATS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/44_id_132_TA.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/45_id_134_TD.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/original_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/mongodb/sample.json (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/1001_TA.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/1002_TD.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/100_System-speed-of-light.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/401_CPF.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/402_CPC.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/501_SPI-Stats.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/502_SPI-Resource-Allocation.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/801_LDS.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/901_L1I_cache.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/902_L1K_cache.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/903_L1K_TC_Interface.config (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/convertor.py (100%) rename src/{omniperf_cli => omniperf_analyze}/convertor/sql/convertor2.py (100%) rename src/{omniperf_cli => omniperf_analyze}/customized/fft/panel_000_top_stat.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/customized/fft/panel_100_system-speed-of-light.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/doc/baseline_comparison.png (100%) rename src/{omniperf_cli => omniperf_analyze}/doc/classes.png (100%) rename src/{omniperf_cli => omniperf_analyze}/doc/main_flow.png (100%) rename src/{omniperf_cli/omniperf_cli.py => omniperf_analyze/omniperf_analyze.py} (61%) rename src/{omniperf_cli => omniperf_analyze}/perfmon/gfx908_metrics.xml (100%) rename src/{omniperf_cli => omniperf_analyze}/perfmon/gfx90a_metrics.xml (100%) rename src/{omniperf_cli => omniperf_analyze}/perfmon/metrics.xml (100%) rename src/{omniperf_cli => omniperf_analyze}/tests/unit/ast_parser_tester.py (100%) rename src/{omniperf_cli => omniperf_analyze}/tests/unit/config/100_if_else.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/tests/unit/config/100_more_cases.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/tests/unit/config/build-in/00_id_00_build_in_variables.s4_converted_table.yaml (100%) rename src/{omniperf_cli => omniperf_analyze}/tests/unit/config/expr_format_tester.py (100%) rename src/{omniperf_cli => omniperf_analyze}/utils/file_io.py (99%) rename src/{omniperf_cli => omniperf_analyze}/utils/gui.py (91%) rename src/{omniperf_cli => omniperf_analyze}/utils/gui_components/header.py (98%) rename src/{omniperf_cli => omniperf_analyze}/utils/gui_components/memchart.py (100%) rename src/{omniperf_cli => omniperf_analyze}/utils/gui_components/roofline.py (99%) rename src/{omniperf_cli => omniperf_analyze}/utils/parser.py (99%) rename src/{omniperf_cli => omniperf_analyze}/utils/roofline_calc.py (100%) rename src/{omniperf_cli => omniperf_analyze}/utils/schema.py (100%) rename src/{omniperf_cli => omniperf_analyze}/utils/tty.py (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6628f2de54..8d2af0d9ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,11 +212,11 @@ install(PROGRAMS src/omniperf TYPE BIN) install(FILES src/parser.py TYPE BIN) install(FILES src/common.py TYPE BIN) install(FILES VERSION VERSION.sha DESTINATION ${CMAKE_INSTALL_PREFIX}) -# src/omniperf_cli +# src/omniperf_analyze install( - DIRECTORY src/omniperf_cli + DIRECTORY src/omniperf_analyze TYPE BIN - PATTERN src/omniperf_cli/tests EXCLUDE + PATTERN src/omniperf_analyze/tests EXCLUDE PATTERN "__pycache__" EXCLUDE) # src/utils install( diff --git a/pyproject.toml b/pyproject.toml index 08ec85685d..933c110895 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,5 +31,5 @@ pythonpath = [ ".", "src", "src/utils", - "src/omniperf_cli/utils" + "src/omniperf_analyze/utils" ] diff --git a/src/docs/standalone_gui_analyzer.md b/src/docs/standalone_gui_analyzer.md index 08d0b2bf4d..db46253a89 100644 --- a/src/docs/standalone_gui_analyzer.md +++ b/src/docs/standalone_gui_analyzer.md @@ -41,7 +41,7 @@ Analyze Dash is running on http://0.0.0.0:8050/ - * Serving Flask app 'omniperf_cli.omniperf_cli' (lazy loading) + * Serving Flask app 'omniperf_analyze.omniperf_analyze' (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. diff --git a/src/omniperf b/src/omniperf index 31fc166ce3..3053dc2119 100755 --- a/src/omniperf +++ b/src/omniperf @@ -37,7 +37,7 @@ from utils.perfagg import perfmon_filter, pmc_filter from utils import remove_workload from utils import csv_converter # Import workload from utils import plot_roofline # standalone roofline -from omniperf_cli.omniperf_cli import omniperf_cli # CLI analysis +from omniperf_analyze.omniperf_analyze import analyze # CLI analysis from common import ( OMNIPERF_HOME, @@ -608,7 +608,7 @@ def main(): ############## if args.mode == "analyze": if args.list_metrics: - omniperf_cli(args) + analyze(args) else: if args.path: if ".." in str(args.path): @@ -632,7 +632,7 @@ def main(): my_parser, dir[0] ) # Verify workload is valid before analyzing - omniperf_cli(args) + analyze(args) else: throw_parse_error( my_parser, diff --git a/src/omniperf_cli/README.md b/src/omniperf_analyze/README.md similarity index 93% rename from src/omniperf_cli/README.md rename to src/omniperf_analyze/README.md index 2b6b5586b8..9d544a48e7 100644 --- a/src/omniperf_cli/README.md +++ b/src/omniperf_analyze/README.md @@ -1,6 +1,6 @@ # Description -omniperf_cli.py is a post-processing profiling tool with the raw data collected from omniperf. +omniperf_analyze.py is a post-processing profiling tool with the raw data collected from omniperf. ## Features diff --git a/src/omniperf_cli/assets/default.css b/src/omniperf_analyze/assets/default.css similarity index 100% rename from src/omniperf_cli/assets/default.css rename to src/omniperf_analyze/assets/default.css diff --git a/src/omniperf_cli/assets/font-awesome/css/font-awesome.css b/src/omniperf_analyze/assets/font-awesome/css/font-awesome.css similarity index 100% rename from src/omniperf_cli/assets/font-awesome/css/font-awesome.css rename to src/omniperf_analyze/assets/font-awesome/css/font-awesome.css diff --git a/src/omniperf_cli/assets/font-awesome/css/font-awesome.min.css b/src/omniperf_analyze/assets/font-awesome/css/font-awesome.min.css similarity index 100% rename from src/omniperf_cli/assets/font-awesome/css/font-awesome.min.css rename to src/omniperf_analyze/assets/font-awesome/css/font-awesome.min.css diff --git a/src/omniperf_cli/assets/font-awesome/fonts/FontAwesome.otf b/src/omniperf_analyze/assets/font-awesome/fonts/FontAwesome.otf similarity index 100% rename from src/omniperf_cli/assets/font-awesome/fonts/FontAwesome.otf rename to src/omniperf_analyze/assets/font-awesome/fonts/FontAwesome.otf diff --git a/src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.eot b/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.eot rename to src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.eot diff --git a/src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.svg b/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.svg rename to src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.svg diff --git a/src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.ttf b/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.ttf rename to src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.ttf diff --git a/src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.woff b/src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/font-awesome/fonts/fontawesome-webfont.woff rename to src/omniperf_analyze/assets/font-awesome/fonts/fontawesome-webfont.woff diff --git a/src/omniperf_cli/assets/font-awesome/less/bordered-pulled.less b/src/omniperf_analyze/assets/font-awesome/less/bordered-pulled.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/bordered-pulled.less rename to src/omniperf_analyze/assets/font-awesome/less/bordered-pulled.less diff --git a/src/omniperf_cli/assets/font-awesome/less/core.less b/src/omniperf_analyze/assets/font-awesome/less/core.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/core.less rename to src/omniperf_analyze/assets/font-awesome/less/core.less diff --git a/src/omniperf_cli/assets/font-awesome/less/fixed-width.less b/src/omniperf_analyze/assets/font-awesome/less/fixed-width.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/fixed-width.less rename to src/omniperf_analyze/assets/font-awesome/less/fixed-width.less diff --git a/src/omniperf_cli/assets/font-awesome/less/font-awesome.less b/src/omniperf_analyze/assets/font-awesome/less/font-awesome.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/font-awesome.less rename to src/omniperf_analyze/assets/font-awesome/less/font-awesome.less diff --git a/src/omniperf_cli/assets/font-awesome/less/icons.less b/src/omniperf_analyze/assets/font-awesome/less/icons.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/icons.less rename to src/omniperf_analyze/assets/font-awesome/less/icons.less diff --git a/src/omniperf_cli/assets/font-awesome/less/larger.less b/src/omniperf_analyze/assets/font-awesome/less/larger.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/larger.less rename to src/omniperf_analyze/assets/font-awesome/less/larger.less diff --git a/src/omniperf_cli/assets/font-awesome/less/list.less b/src/omniperf_analyze/assets/font-awesome/less/list.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/list.less rename to src/omniperf_analyze/assets/font-awesome/less/list.less diff --git a/src/omniperf_cli/assets/font-awesome/less/mixins.less b/src/omniperf_analyze/assets/font-awesome/less/mixins.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/mixins.less rename to src/omniperf_analyze/assets/font-awesome/less/mixins.less diff --git a/src/omniperf_cli/assets/font-awesome/less/path.less b/src/omniperf_analyze/assets/font-awesome/less/path.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/path.less rename to src/omniperf_analyze/assets/font-awesome/less/path.less diff --git a/src/omniperf_cli/assets/font-awesome/less/rotated-flipped.less b/src/omniperf_analyze/assets/font-awesome/less/rotated-flipped.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/rotated-flipped.less rename to src/omniperf_analyze/assets/font-awesome/less/rotated-flipped.less diff --git a/src/omniperf_cli/assets/font-awesome/less/spinning.less b/src/omniperf_analyze/assets/font-awesome/less/spinning.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/spinning.less rename to src/omniperf_analyze/assets/font-awesome/less/spinning.less diff --git a/src/omniperf_cli/assets/font-awesome/less/stacked.less b/src/omniperf_analyze/assets/font-awesome/less/stacked.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/stacked.less rename to src/omniperf_analyze/assets/font-awesome/less/stacked.less diff --git a/src/omniperf_cli/assets/font-awesome/less/variables.less b/src/omniperf_analyze/assets/font-awesome/less/variables.less similarity index 100% rename from src/omniperf_cli/assets/font-awesome/less/variables.less rename to src/omniperf_analyze/assets/font-awesome/less/variables.less diff --git a/src/omniperf_cli/assets/font-awesome/scss/_bordered-pulled.scss b/src/omniperf_analyze/assets/font-awesome/scss/_bordered-pulled.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_bordered-pulled.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_bordered-pulled.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_core.scss b/src/omniperf_analyze/assets/font-awesome/scss/_core.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_core.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_core.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_fixed-width.scss b/src/omniperf_analyze/assets/font-awesome/scss/_fixed-width.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_fixed-width.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_fixed-width.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_icons.scss b/src/omniperf_analyze/assets/font-awesome/scss/_icons.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_icons.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_icons.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_larger.scss b/src/omniperf_analyze/assets/font-awesome/scss/_larger.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_larger.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_larger.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_list.scss b/src/omniperf_analyze/assets/font-awesome/scss/_list.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_list.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_list.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_mixins.scss b/src/omniperf_analyze/assets/font-awesome/scss/_mixins.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_mixins.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_mixins.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_path.scss b/src/omniperf_analyze/assets/font-awesome/scss/_path.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_path.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_path.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_rotated-flipped.scss b/src/omniperf_analyze/assets/font-awesome/scss/_rotated-flipped.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_rotated-flipped.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_rotated-flipped.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_spinning.scss b/src/omniperf_analyze/assets/font-awesome/scss/_spinning.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_spinning.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_spinning.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_stacked.scss b/src/omniperf_analyze/assets/font-awesome/scss/_stacked.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_stacked.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_stacked.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/_variables.scss b/src/omniperf_analyze/assets/font-awesome/scss/_variables.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/_variables.scss rename to src/omniperf_analyze/assets/font-awesome/scss/_variables.scss diff --git a/src/omniperf_cli/assets/font-awesome/scss/font-awesome.scss b/src/omniperf_analyze/assets/font-awesome/scss/font-awesome.scss similarity index 100% rename from src/omniperf_cli/assets/font-awesome/scss/font-awesome.scss rename to src/omniperf_analyze/assets/font-awesome/scss/font-awesome.scss diff --git a/src/omniperf_cli/assets/fontello/css/animation.css b/src/omniperf_analyze/assets/fontello/css/animation.css similarity index 100% rename from src/omniperf_cli/assets/fontello/css/animation.css rename to src/omniperf_analyze/assets/fontello/css/animation.css diff --git a/src/omniperf_cli/assets/fontello/css/fontello-codes.css b/src/omniperf_analyze/assets/fontello/css/fontello-codes.css similarity index 100% rename from src/omniperf_cli/assets/fontello/css/fontello-codes.css rename to src/omniperf_analyze/assets/fontello/css/fontello-codes.css diff --git a/src/omniperf_cli/assets/fontello/css/fontello-embedded.css b/src/omniperf_analyze/assets/fontello/css/fontello-embedded.css similarity index 100% rename from src/omniperf_cli/assets/fontello/css/fontello-embedded.css rename to src/omniperf_analyze/assets/fontello/css/fontello-embedded.css diff --git a/src/omniperf_cli/assets/fontello/css/fontello-ie7-codes.css b/src/omniperf_analyze/assets/fontello/css/fontello-ie7-codes.css similarity index 100% rename from src/omniperf_cli/assets/fontello/css/fontello-ie7-codes.css rename to src/omniperf_analyze/assets/fontello/css/fontello-ie7-codes.css diff --git a/src/omniperf_cli/assets/fontello/css/fontello-ie7.css b/src/omniperf_analyze/assets/fontello/css/fontello-ie7.css similarity index 100% rename from src/omniperf_cli/assets/fontello/css/fontello-ie7.css rename to src/omniperf_analyze/assets/fontello/css/fontello-ie7.css diff --git a/src/omniperf_cli/assets/fontello/css/fontello.css b/src/omniperf_analyze/assets/fontello/css/fontello.css similarity index 100% rename from src/omniperf_cli/assets/fontello/css/fontello.css rename to src/omniperf_analyze/assets/fontello/css/fontello.css diff --git a/src/omniperf_cli/assets/fontello/font/fontello.eot b/src/omniperf_analyze/assets/fontello/font/fontello.eot similarity index 100% rename from src/omniperf_cli/assets/fontello/font/fontello.eot rename to src/omniperf_analyze/assets/fontello/font/fontello.eot diff --git a/src/omniperf_cli/assets/fontello/font/fontello.svg b/src/omniperf_analyze/assets/fontello/font/fontello.svg similarity index 100% rename from src/omniperf_cli/assets/fontello/font/fontello.svg rename to src/omniperf_analyze/assets/fontello/font/fontello.svg diff --git a/src/omniperf_cli/assets/fontello/font/fontello.ttf b/src/omniperf_analyze/assets/fontello/font/fontello.ttf similarity index 100% rename from src/omniperf_cli/assets/fontello/font/fontello.ttf rename to src/omniperf_analyze/assets/fontello/font/fontello.ttf diff --git a/src/omniperf_cli/assets/fontello/font/fontello.woff b/src/omniperf_analyze/assets/fontello/font/fontello.woff similarity index 100% rename from src/omniperf_cli/assets/fontello/font/fontello.woff rename to src/omniperf_analyze/assets/fontello/font/fontello.woff diff --git a/src/omniperf_cli/assets/fonts.css b/src/omniperf_analyze/assets/fonts.css similarity index 100% rename from src/omniperf_cli/assets/fonts.css rename to src/omniperf_analyze/assets/fonts.css diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-bold-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-italic-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff b/src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff rename to src/omniperf_analyze/assets/fonts/librebaskerville/librebaskerville-regular-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Bold-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Bold-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-BoldItalic-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBold-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Italic-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Italic-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Light-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Light-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-LightItalic-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Regular-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Regular-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-Semibold-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-Semibold-webfont.woff diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.eot diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.svg diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf diff --git a/src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff b/src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff similarity index 100% rename from src/omniperf_cli/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff rename to src/omniperf_analyze/assets/fonts/opensans/OpenSans-SemiboldItalic-webfont.woff diff --git a/src/omniperf_cli/assets/layout.css b/src/omniperf_analyze/assets/layout.css similarity index 100% rename from src/omniperf_cli/assets/layout.css rename to src/omniperf_analyze/assets/layout.css diff --git a/src/omniperf_cli/assets/magnific-popup.css b/src/omniperf_analyze/assets/magnific-popup.css similarity index 100% rename from src/omniperf_cli/assets/magnific-popup.css rename to src/omniperf_analyze/assets/magnific-popup.css diff --git a/src/omniperf_cli/assets/media-queries.css b/src/omniperf_analyze/assets/media-queries.css similarity index 100% rename from src/omniperf_cli/assets/media-queries.css rename to src/omniperf_analyze/assets/media-queries.css diff --git a/src/omniperf_cli/configs/gfx906/0000_top_stat.yaml b/src/omniperf_analyze/configs/gfx906/0000_top_stat.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/0000_top_stat.yaml rename to src/omniperf_analyze/configs/gfx906/0000_top_stat.yaml diff --git a/src/omniperf_cli/configs/gfx906/0100_system_info.yaml b/src/omniperf_analyze/configs/gfx906/0100_system_info.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/0100_system_info.yaml rename to src/omniperf_analyze/configs/gfx906/0100_system_info.yaml diff --git a/src/omniperf_cli/configs/gfx906/0200_system-speed-of-light.yaml b/src/omniperf_analyze/configs/gfx906/0200_system-speed-of-light.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/0200_system-speed-of-light.yaml rename to src/omniperf_analyze/configs/gfx906/0200_system-speed-of-light.yaml diff --git a/src/omniperf_cli/configs/gfx906/0500_command-processor.yaml b/src/omniperf_analyze/configs/gfx906/0500_command-processor.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/0500_command-processor.yaml rename to src/omniperf_analyze/configs/gfx906/0500_command-processor.yaml diff --git a/src/omniperf_cli/configs/gfx906/0600_shader-processor-input.yaml b/src/omniperf_analyze/configs/gfx906/0600_shader-processor-input.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/0600_shader-processor-input.yaml rename to src/omniperf_analyze/configs/gfx906/0600_shader-processor-input.yaml diff --git a/src/omniperf_cli/configs/gfx906/0700_wavefront-launch.yaml b/src/omniperf_analyze/configs/gfx906/0700_wavefront-launch.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/0700_wavefront-launch.yaml rename to src/omniperf_analyze/configs/gfx906/0700_wavefront-launch.yaml diff --git a/src/omniperf_cli/configs/gfx906/1000_compute-unit-instruction-mix.yaml b/src/omniperf_analyze/configs/gfx906/1000_compute-unit-instruction-mix.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1000_compute-unit-instruction-mix.yaml rename to src/omniperf_analyze/configs/gfx906/1000_compute-unit-instruction-mix.yaml diff --git a/src/omniperf_cli/configs/gfx906/1100_compute-unit-compute-pipeline.yaml b/src/omniperf_analyze/configs/gfx906/1100_compute-unit-compute-pipeline.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1100_compute-unit-compute-pipeline.yaml rename to src/omniperf_analyze/configs/gfx906/1100_compute-unit-compute-pipeline.yaml diff --git a/src/omniperf_cli/configs/gfx906/1200_lds.yaml b/src/omniperf_analyze/configs/gfx906/1200_lds.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1200_lds.yaml rename to src/omniperf_analyze/configs/gfx906/1200_lds.yaml diff --git a/src/omniperf_cli/configs/gfx906/1300_instruction-cache.yaml b/src/omniperf_analyze/configs/gfx906/1300_instruction-cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1300_instruction-cache.yaml rename to src/omniperf_analyze/configs/gfx906/1300_instruction-cache.yaml diff --git a/src/omniperf_cli/configs/gfx906/1400_constant-cache.yaml b/src/omniperf_analyze/configs/gfx906/1400_constant-cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1400_constant-cache.yaml rename to src/omniperf_analyze/configs/gfx906/1400_constant-cache.yaml diff --git a/src/omniperf_cli/configs/gfx906/1500_TA_and_TD.yaml b/src/omniperf_analyze/configs/gfx906/1500_TA_and_TD.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1500_TA_and_TD.yaml rename to src/omniperf_analyze/configs/gfx906/1500_TA_and_TD.yaml diff --git a/src/omniperf_cli/configs/gfx906/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1600_L1_cache.yaml rename to src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml diff --git a/src/omniperf_cli/configs/gfx906/1700_L2_cache.yaml b/src/omniperf_analyze/configs/gfx906/1700_L2_cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1700_L2_cache.yaml rename to src/omniperf_analyze/configs/gfx906/1700_L2_cache.yaml diff --git a/src/omniperf_cli/configs/gfx906/1800_L2_cache_per_channel.yaml b/src/omniperf_analyze/configs/gfx906/1800_L2_cache_per_channel.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1800_L2_cache_per_channel.yaml rename to src/omniperf_analyze/configs/gfx906/1800_L2_cache_per_channel.yaml diff --git a/src/omniperf_cli/configs/gfx906/1900_memory_chart.yaml b/src/omniperf_analyze/configs/gfx906/1900_memory_chart.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/1900_memory_chart.yaml rename to src/omniperf_analyze/configs/gfx906/1900_memory_chart.yaml diff --git a/src/omniperf_cli/configs/gfx906/2000_kernels.yaml b/src/omniperf_analyze/configs/gfx906/2000_kernels.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx906/2000_kernels.yaml rename to src/omniperf_analyze/configs/gfx906/2000_kernels.yaml diff --git a/src/omniperf_cli/configs/gfx908/0000_top_stat.yaml b/src/omniperf_analyze/configs/gfx908/0000_top_stat.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/0000_top_stat.yaml rename to src/omniperf_analyze/configs/gfx908/0000_top_stat.yaml diff --git a/src/omniperf_cli/configs/gfx908/0100_system_info.yaml b/src/omniperf_analyze/configs/gfx908/0100_system_info.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/0100_system_info.yaml rename to src/omniperf_analyze/configs/gfx908/0100_system_info.yaml diff --git a/src/omniperf_cli/configs/gfx908/0200_system-speed-of-light.yaml b/src/omniperf_analyze/configs/gfx908/0200_system-speed-of-light.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/0200_system-speed-of-light.yaml rename to src/omniperf_analyze/configs/gfx908/0200_system-speed-of-light.yaml diff --git a/src/omniperf_cli/configs/gfx908/0500_command-processor.yaml b/src/omniperf_analyze/configs/gfx908/0500_command-processor.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/0500_command-processor.yaml rename to src/omniperf_analyze/configs/gfx908/0500_command-processor.yaml diff --git a/src/omniperf_cli/configs/gfx908/0600_shader-processor-input.yaml b/src/omniperf_analyze/configs/gfx908/0600_shader-processor-input.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/0600_shader-processor-input.yaml rename to src/omniperf_analyze/configs/gfx908/0600_shader-processor-input.yaml diff --git a/src/omniperf_cli/configs/gfx908/0700_wavefront-launch.yaml b/src/omniperf_analyze/configs/gfx908/0700_wavefront-launch.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/0700_wavefront-launch.yaml rename to src/omniperf_analyze/configs/gfx908/0700_wavefront-launch.yaml diff --git a/src/omniperf_cli/configs/gfx908/1000_compute-unit-instruction-mix.yaml b/src/omniperf_analyze/configs/gfx908/1000_compute-unit-instruction-mix.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1000_compute-unit-instruction-mix.yaml rename to src/omniperf_analyze/configs/gfx908/1000_compute-unit-instruction-mix.yaml diff --git a/src/omniperf_cli/configs/gfx908/1100_compute-unit-compute-pipeline.yaml b/src/omniperf_analyze/configs/gfx908/1100_compute-unit-compute-pipeline.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1100_compute-unit-compute-pipeline.yaml rename to src/omniperf_analyze/configs/gfx908/1100_compute-unit-compute-pipeline.yaml diff --git a/src/omniperf_cli/configs/gfx908/1200_lds.yaml b/src/omniperf_analyze/configs/gfx908/1200_lds.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1200_lds.yaml rename to src/omniperf_analyze/configs/gfx908/1200_lds.yaml diff --git a/src/omniperf_cli/configs/gfx908/1300_instruction-cache.yaml b/src/omniperf_analyze/configs/gfx908/1300_instruction-cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1300_instruction-cache.yaml rename to src/omniperf_analyze/configs/gfx908/1300_instruction-cache.yaml diff --git a/src/omniperf_cli/configs/gfx908/1400_constant-cache.yaml b/src/omniperf_analyze/configs/gfx908/1400_constant-cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1400_constant-cache.yaml rename to src/omniperf_analyze/configs/gfx908/1400_constant-cache.yaml diff --git a/src/omniperf_cli/configs/gfx908/1500_TA_and_TD.yaml b/src/omniperf_analyze/configs/gfx908/1500_TA_and_TD.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1500_TA_and_TD.yaml rename to src/omniperf_analyze/configs/gfx908/1500_TA_and_TD.yaml diff --git a/src/omniperf_cli/configs/gfx908/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1600_L1_cache.yaml rename to src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml diff --git a/src/omniperf_cli/configs/gfx908/1700_L2_cache.yaml b/src/omniperf_analyze/configs/gfx908/1700_L2_cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1700_L2_cache.yaml rename to src/omniperf_analyze/configs/gfx908/1700_L2_cache.yaml diff --git a/src/omniperf_cli/configs/gfx908/1800_L2_cache_per_channel.yaml b/src/omniperf_analyze/configs/gfx908/1800_L2_cache_per_channel.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1800_L2_cache_per_channel.yaml rename to src/omniperf_analyze/configs/gfx908/1800_L2_cache_per_channel.yaml diff --git a/src/omniperf_cli/configs/gfx908/1900_memory_chart.yaml b/src/omniperf_analyze/configs/gfx908/1900_memory_chart.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/1900_memory_chart.yaml rename to src/omniperf_analyze/configs/gfx908/1900_memory_chart.yaml diff --git a/src/omniperf_cli/configs/gfx908/2000_kernels.yaml b/src/omniperf_analyze/configs/gfx908/2000_kernels.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx908/2000_kernels.yaml rename to src/omniperf_analyze/configs/gfx908/2000_kernels.yaml diff --git a/src/omniperf_cli/configs/gfx90a/0000_top_stat.yaml b/src/omniperf_analyze/configs/gfx90a/0000_top_stat.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/0000_top_stat.yaml rename to src/omniperf_analyze/configs/gfx90a/0000_top_stat.yaml diff --git a/src/omniperf_cli/configs/gfx90a/0100_system_info.yaml b/src/omniperf_analyze/configs/gfx90a/0100_system_info.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/0100_system_info.yaml rename to src/omniperf_analyze/configs/gfx90a/0100_system_info.yaml diff --git a/src/omniperf_cli/configs/gfx90a/0200_system-speed-of-light.yaml b/src/omniperf_analyze/configs/gfx90a/0200_system-speed-of-light.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/0200_system-speed-of-light.yaml rename to src/omniperf_analyze/configs/gfx90a/0200_system-speed-of-light.yaml diff --git a/src/omniperf_cli/configs/gfx90a/0500_command-processor.yaml b/src/omniperf_analyze/configs/gfx90a/0500_command-processor.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/0500_command-processor.yaml rename to src/omniperf_analyze/configs/gfx90a/0500_command-processor.yaml diff --git a/src/omniperf_cli/configs/gfx90a/0600_shader-processor-input.yaml b/src/omniperf_analyze/configs/gfx90a/0600_shader-processor-input.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/0600_shader-processor-input.yaml rename to src/omniperf_analyze/configs/gfx90a/0600_shader-processor-input.yaml diff --git a/src/omniperf_cli/configs/gfx90a/0700_wavefront-launch.yaml b/src/omniperf_analyze/configs/gfx90a/0700_wavefront-launch.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/0700_wavefront-launch.yaml rename to src/omniperf_analyze/configs/gfx90a/0700_wavefront-launch.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1000_compute-unit-instruction-mix.yaml b/src/omniperf_analyze/configs/gfx90a/1000_compute-unit-instruction-mix.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1000_compute-unit-instruction-mix.yaml rename to src/omniperf_analyze/configs/gfx90a/1000_compute-unit-instruction-mix.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1100_compute-unit-compute-pipeline.yaml b/src/omniperf_analyze/configs/gfx90a/1100_compute-unit-compute-pipeline.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1100_compute-unit-compute-pipeline.yaml rename to src/omniperf_analyze/configs/gfx90a/1100_compute-unit-compute-pipeline.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1200_lds.yaml b/src/omniperf_analyze/configs/gfx90a/1200_lds.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1200_lds.yaml rename to src/omniperf_analyze/configs/gfx90a/1200_lds.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1300_instruction-cache.yaml b/src/omniperf_analyze/configs/gfx90a/1300_instruction-cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1300_instruction-cache.yaml rename to src/omniperf_analyze/configs/gfx90a/1300_instruction-cache.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1400_constant-cache.yaml b/src/omniperf_analyze/configs/gfx90a/1400_constant-cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1400_constant-cache.yaml rename to src/omniperf_analyze/configs/gfx90a/1400_constant-cache.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1500_TA_and_TD.yaml b/src/omniperf_analyze/configs/gfx90a/1500_TA_and_TD.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1500_TA_and_TD.yaml rename to src/omniperf_analyze/configs/gfx90a/1500_TA_and_TD.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1600_L1_cache.yaml rename to src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1700_L2_cache.yaml b/src/omniperf_analyze/configs/gfx90a/1700_L2_cache.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1700_L2_cache.yaml rename to src/omniperf_analyze/configs/gfx90a/1700_L2_cache.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1800_L2_cache_per_channel.yaml b/src/omniperf_analyze/configs/gfx90a/1800_L2_cache_per_channel.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1800_L2_cache_per_channel.yaml rename to src/omniperf_analyze/configs/gfx90a/1800_L2_cache_per_channel.yaml diff --git a/src/omniperf_cli/configs/gfx90a/1900_memory_chart.yaml b/src/omniperf_analyze/configs/gfx90a/1900_memory_chart.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/1900_memory_chart.yaml rename to src/omniperf_analyze/configs/gfx90a/1900_memory_chart.yaml diff --git a/src/omniperf_cli/configs/gfx90a/2000_kernels.yaml b/src/omniperf_analyze/configs/gfx90a/2000_kernels.yaml similarity index 100% rename from src/omniperf_cli/configs/gfx90a/2000_kernels.yaml rename to src/omniperf_analyze/configs/gfx90a/2000_kernels.yaml diff --git a/src/omniperf_cli/configs/panel_config_template.yaml b/src/omniperf_analyze/configs/panel_config_template.yaml similarity index 100% rename from src/omniperf_cli/configs/panel_config_template.yaml rename to src/omniperf_analyze/configs/panel_config_template.yaml diff --git a/src/omniperf_cli/convertor/mongodb/README.md b/src/omniperf_analyze/convertor/mongodb/README.md similarity index 76% rename from src/omniperf_cli/convertor/mongodb/README.md rename to src/omniperf_analyze/convertor/mongodb/README.md index 7fedc3f759..755ef3fa68 100644 --- a/src/omniperf_cli/convertor/mongodb/README.md +++ b/src/omniperf_analyze/convertor/mongodb/README.md @@ -1,6 +1,6 @@ # Description -The convert is designed to convert major core metric definitions from Omniperf to omniperf_cli. It depends on the syntax and usage of Grafana and MongoDB query in Omniperf. We are not intending to write a full parser of Grafana/MongoDB. +The convert is designed to convert major core metric definitions from Omniperf to omniperf_analyze. It depends on the syntax and usage of Grafana and MongoDB query in Omniperf. We are not intending to write a full parser of Grafana/MongoDB. Originally, we hope to make it one-stop script, a.k.a, "convert -s 0". However, it seems 2 stages conversion is a good practice. @@ -15,7 +15,7 @@ Originally, we hope to make it one-stop script, a.k.a, "convert -s 0". However, - `./convert -s 2` - `diff ./converted ./converted_bak` to make sure all the changes as your expectation. - Copy all metric tables from ./converted to ../../configs/gfx90a/ manually ONE by ONE. -- Run a basic test to verify the config, i.e., `omniperf_cli.py -d sample/mi200` +- Run a basic test to verify the config, i.e., `omniperf_analyze.py -d sample/mi200` - `diff ../../configs/gfx90a/ ../../configs/gfx908/`, and update the gfx908 configs accordingly. - `diff ../../configs/gfx90a/ ../../configs/gfx906/`, and update the gfx906 configs accordingly. -- Run a basic test to verify the config, i.e., `omniperf_cli.py -d sample/mi50 -d sample/mi100 -d sample/mi200` +- Run a basic test to verify the config, i.e., `omniperf_analyze.py -d sample/mi50 -d sample/mi100 -d sample/mi200` diff --git a/src/omniperf_cli/convertor/mongodb/convert b/src/omniperf_analyze/convertor/mongodb/convert similarity index 100% rename from src/omniperf_cli/convertor/mongodb/convert rename to src/omniperf_analyze/convertor/mongodb/convert diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/00_id_159_SYSTEM-INFO.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/00_id_159_SYSTEM-INFO.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/00_id_159_SYSTEM-INFO.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/00_id_159_SYSTEM-INFO.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/07_id_213_TOP-KERNELS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/07_id_213_TOP-KERNELS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/07_id_213_TOP-KERNELS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/07_id_213_TOP-KERNELS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/08_id_251_TOP-DISPATCHES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/08_id_251_TOP-DISPATCHES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/08_id_251_TOP-DISPATCHES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/08_id_251_TOP-DISPATCHES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/18_id_106_SPI-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/18_id_106_SPI-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/18_id_106_SPI-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/18_id_106_SPI-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/30_id_257_PIPELINE-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/30_id_257_PIPELINE-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/30_id_257_PIPELINE-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/30_id_257_PIPELINE-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/35_id_100_LDS-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/35_id_100_LDS-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/35_id_100_LDS-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/35_id_100_LDS-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/44_id_132_TA.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/44_id_132_TA.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/44_id_132_TA.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/44_id_132_TA.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/45_id_134_TD.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/45_id_134_TD.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/45_id_134_TD.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/45_id_134_TD.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/modified_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/modified_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/modified_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/modified_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/00_id_159_SYSTEM-INFO.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/00_id_159_SYSTEM-INFO.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/00_id_159_SYSTEM-INFO.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/00_id_159_SYSTEM-INFO.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/02_id_110_SPEED-OF-LIGHT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/03_id_175_DISPATCH-IDS-CURRENT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/04_id_215_DISPATCH-IDS-BASELINE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/06_id_157_KERNEL-TIME-HISTOGRAM.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/07_id_213_TOP-KERNELS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/07_id_213_TOP-KERNELS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/07_id_213_TOP-KERNELS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/07_id_213_TOP-KERNELS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/08_id_251_TOP-DISPATCHES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/08_id_251_TOP-DISPATCHES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/08_id_251_TOP-DISPATCHES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/08_id_251_TOP-DISPATCHES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/10_id_285_MEMORY-CHART-NORMALIZATION-NORMUNIT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/12_id_253_EMPIRICAL-ROOFLINE-FP32FP64-MI200.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/13_id_312_EMPIRICAL-ROOFLINE-FP16INT8-MI200.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/15_id_6_COMMAND-PROCESSOR-FETCHER.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/16_id_4_COMMAND-PROCESSOR-COMPUTE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/18_id_106_SPI-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/18_id_106_SPI-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/18_id_106_SPI-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/18_id_106_SPI-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/19_id_104_SPI-RESOURCE-ALLOCATION.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/21_id_10_WAVEFRONT-LAUNCH-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/22_id_34_WAVEFRONT-RUNTIME-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/24_id_12_INSTRUCTION-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/25_id_24_VALU-ARITHMETIC-INSTR-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/26_id_275_VMEM-INSTR-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/27_id_16_MFMA-ARITHMETIC-INSTR-MIX.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/29_id_211_SPEED-OF-LIGHT-COMPUTE-PIPELINE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/30_id_257_PIPELINE-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/30_id_257_PIPELINE-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/30_id_257_PIPELINE-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/30_id_257_PIPELINE-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/31_id_96_ARITHMETIC-OPERATIONS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/32_id_255_MEMORY-LATENCIES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/34_id_205_SPEED-OF-LIGHT-LDS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/35_id_100_LDS-STATS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/35_id_100_LDS-STATS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/35_id_100_LDS-STATS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/35_id_100_LDS-STATS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/37_id_48_SPEED-OF-LIGHT-INSTRUCTION-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/38_id_259_INSTRUCTION-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/40_id_54_SPEED-OF-LIGHT-SCALAR-L1D-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/41_id_261_SCALAR-L1D-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/42_id_52_SCALAR-L1D-CACHE-L2-INTERFACE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/44_id_132_TA.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/44_id_132_TA.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/44_id_132_TA.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/44_id_132_TA.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/45_id_134_TD.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/45_id_134_TD.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/45_id_134_TD.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/45_id_134_TD.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/47_id_165_SPEED-OF-LIGHT-VECTOR-L1D-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/48_id_116_VECTOR-L1D-CACHE-STALLS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/49_id_128_VECTOR-L1D-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/50_id_120_VECTOR-L1D-L2-TRANSACTIONS-REQ-NORMUNIT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/51_id_124_VECTOR-L1D-ADDR-TRANSLATION.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/53_id_64_SPEED-OF-LIGHT-L2-CACHE.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/54_id_62_L2-FABRIC-TRANSACTIONS.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/55_id_58_L2-CACHE-ACCESSES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/56_id_60_L2-FABRIC-INTERFACE-STALLS-CYCLES-NORMUNIT.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/72_id_68_L2-EA-READ-LATENCY-CHANNEL-0-15-CYCLES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/original_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json b/src/omniperf_analyze/convertor/mongodb/original_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/original_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json rename to src/omniperf_analyze/convertor/mongodb/original_query/73_id_70_L2-EA-READ-LATENCY-CHANNEL-16-31-CYCLES.s0_original_query.json diff --git a/src/omniperf_cli/convertor/mongodb/sample.json b/src/omniperf_analyze/convertor/mongodb/sample.json similarity index 100% rename from src/omniperf_cli/convertor/mongodb/sample.json rename to src/omniperf_analyze/convertor/mongodb/sample.json diff --git a/src/omniperf_cli/convertor/sql/1001_TA.config b/src/omniperf_analyze/convertor/sql/1001_TA.config similarity index 100% rename from src/omniperf_cli/convertor/sql/1001_TA.config rename to src/omniperf_analyze/convertor/sql/1001_TA.config diff --git a/src/omniperf_cli/convertor/sql/1002_TD.config b/src/omniperf_analyze/convertor/sql/1002_TD.config similarity index 100% rename from src/omniperf_cli/convertor/sql/1002_TD.config rename to src/omniperf_analyze/convertor/sql/1002_TD.config diff --git a/src/omniperf_cli/convertor/sql/100_System-speed-of-light.config b/src/omniperf_analyze/convertor/sql/100_System-speed-of-light.config similarity index 100% rename from src/omniperf_cli/convertor/sql/100_System-speed-of-light.config rename to src/omniperf_analyze/convertor/sql/100_System-speed-of-light.config diff --git a/src/omniperf_cli/convertor/sql/401_CPF.config b/src/omniperf_analyze/convertor/sql/401_CPF.config similarity index 100% rename from src/omniperf_cli/convertor/sql/401_CPF.config rename to src/omniperf_analyze/convertor/sql/401_CPF.config diff --git a/src/omniperf_cli/convertor/sql/402_CPC.config b/src/omniperf_analyze/convertor/sql/402_CPC.config similarity index 100% rename from src/omniperf_cli/convertor/sql/402_CPC.config rename to src/omniperf_analyze/convertor/sql/402_CPC.config diff --git a/src/omniperf_cli/convertor/sql/501_SPI-Stats.config b/src/omniperf_analyze/convertor/sql/501_SPI-Stats.config similarity index 100% rename from src/omniperf_cli/convertor/sql/501_SPI-Stats.config rename to src/omniperf_analyze/convertor/sql/501_SPI-Stats.config diff --git a/src/omniperf_cli/convertor/sql/502_SPI-Resource-Allocation.config b/src/omniperf_analyze/convertor/sql/502_SPI-Resource-Allocation.config similarity index 100% rename from src/omniperf_cli/convertor/sql/502_SPI-Resource-Allocation.config rename to src/omniperf_analyze/convertor/sql/502_SPI-Resource-Allocation.config diff --git a/src/omniperf_cli/convertor/sql/801_LDS.config b/src/omniperf_analyze/convertor/sql/801_LDS.config similarity index 100% rename from src/omniperf_cli/convertor/sql/801_LDS.config rename to src/omniperf_analyze/convertor/sql/801_LDS.config diff --git a/src/omniperf_cli/convertor/sql/901_L1I_cache.config b/src/omniperf_analyze/convertor/sql/901_L1I_cache.config similarity index 100% rename from src/omniperf_cli/convertor/sql/901_L1I_cache.config rename to src/omniperf_analyze/convertor/sql/901_L1I_cache.config diff --git a/src/omniperf_cli/convertor/sql/902_L1K_cache.config b/src/omniperf_analyze/convertor/sql/902_L1K_cache.config similarity index 100% rename from src/omniperf_cli/convertor/sql/902_L1K_cache.config rename to src/omniperf_analyze/convertor/sql/902_L1K_cache.config diff --git a/src/omniperf_cli/convertor/sql/903_L1K_TC_Interface.config b/src/omniperf_analyze/convertor/sql/903_L1K_TC_Interface.config similarity index 100% rename from src/omniperf_cli/convertor/sql/903_L1K_TC_Interface.config rename to src/omniperf_analyze/convertor/sql/903_L1K_TC_Interface.config diff --git a/src/omniperf_cli/convertor/sql/convertor.py b/src/omniperf_analyze/convertor/sql/convertor.py similarity index 100% rename from src/omniperf_cli/convertor/sql/convertor.py rename to src/omniperf_analyze/convertor/sql/convertor.py diff --git a/src/omniperf_cli/convertor/sql/convertor2.py b/src/omniperf_analyze/convertor/sql/convertor2.py similarity index 100% rename from src/omniperf_cli/convertor/sql/convertor2.py rename to src/omniperf_analyze/convertor/sql/convertor2.py diff --git a/src/omniperf_cli/customized/fft/panel_000_top_stat.yaml b/src/omniperf_analyze/customized/fft/panel_000_top_stat.yaml similarity index 100% rename from src/omniperf_cli/customized/fft/panel_000_top_stat.yaml rename to src/omniperf_analyze/customized/fft/panel_000_top_stat.yaml diff --git a/src/omniperf_cli/customized/fft/panel_100_system-speed-of-light.yaml b/src/omniperf_analyze/customized/fft/panel_100_system-speed-of-light.yaml similarity index 100% rename from src/omniperf_cli/customized/fft/panel_100_system-speed-of-light.yaml rename to src/omniperf_analyze/customized/fft/panel_100_system-speed-of-light.yaml diff --git a/src/omniperf_cli/doc/baseline_comparison.png b/src/omniperf_analyze/doc/baseline_comparison.png similarity index 100% rename from src/omniperf_cli/doc/baseline_comparison.png rename to src/omniperf_analyze/doc/baseline_comparison.png diff --git a/src/omniperf_cli/doc/classes.png b/src/omniperf_analyze/doc/classes.png similarity index 100% rename from src/omniperf_cli/doc/classes.png rename to src/omniperf_analyze/doc/classes.png diff --git a/src/omniperf_cli/doc/main_flow.png b/src/omniperf_analyze/doc/main_flow.png similarity index 100% rename from src/omniperf_cli/doc/main_flow.png rename to src/omniperf_analyze/doc/main_flow.png diff --git a/src/omniperf_cli/omniperf_cli.py b/src/omniperf_analyze/omniperf_analyze.py similarity index 61% rename from src/omniperf_cli/omniperf_cli.py rename to src/omniperf_analyze/omniperf_analyze.py index 93b26bd618..72ed4adbd4 100644 --- a/src/omniperf_cli/omniperf_cli.py +++ b/src/omniperf_analyze/omniperf_analyze.py @@ -24,7 +24,7 @@ """ Quick run: - omniperf_cli.py -d 1st_run_dir -d 2nd_run_dir -b 2 + analyze.py -d 1st_run_dir -d 2nd_run_dir -b 2 Common abbreviations in the code: df - pandas.dataframe @@ -40,32 +40,21 @@ import sys import argparse import os.path from pathlib import Path +from omniperf_analyze.utils import parser, file_io -def omniperf_cli(args): - cur_root = Path(__file__).resolve() - - if args.dependency: - print("pip3 install astunparse numpy tabulate pandas pyyaml") - sys.exit(0) - +def initialize_run(args, normalization_filter=None): import pandas as pd from collections import OrderedDict - from dataclasses import dataclass, field + from omniperf_analyze.utils import schema from tabulate import tabulate - # from utils import schema, parser, file_io, tty, plot - from omniperf_cli.utils import schema, parser, file_io, tty - # Fixme: cur_root.parent.joinpath('soc_params') soc_params_dir = os.path.join(os.path.dirname(__file__), "..", "soc_params") - soc_spec_df = file_io.load_soc_params(soc_params_dir) - # NB: maybe create bak file for the old run before open it - output = open(args.output_file, "w+") if args.output_file else sys.stdout - single_panel_config = file_io.is_single_panel_config(Path(args.config_dir)) + global archConfigs archConfigs = {} for arch in file_io.supported_arch.keys(): ac = schema.ArchConfig() @@ -99,8 +88,13 @@ def omniperf_cli(args): ) sys.exit(0) - for k, v in archConfigs.items(): - parser.build_metric_value_string(v.dfs, v.dfs_type, args.normal_unit) + # Use original normalization or user input from GUI + if not normalization_filter: + for k, v in archConfigs.items(): + parser.build_metric_value_string(v.dfs, v.dfs_type, args.normal_unit) + else: + for k, v in archConfigs.items(): + parser.build_metric_value_string(v.dfs, v.dfs_type, normalization_filter) runs = OrderedDict() @@ -127,6 +121,100 @@ def omniperf_cli(args): w.dfs_type = archConfigs[arch].dfs_type w.soc_spec = file_io.get_soc_params(soc_spec_df, arch) runs[d[0]] = w + + # Return rather than referencing 'runs' globally (since used outside of file scope) + return runs + + +def run_gui(args, runs): + import dash + from omniperf_analyze.utils import gui + import dash_bootstrap_components as dbc + + app = dash.Dash(__name__, external_stylesheets=[dbc.themes.CYBORG]) + + if len(runs) == 1: + num_results = 10 + file_io.create_df_kernel_top_stats( + args.path[0][0], + runs[args.path[0][0]].filter_gpu_ids, + runs[args.path[0][0]].filter_dispatch_ids, + args.time_unit, + num_results, + ) + runs[args.path[0][0]].raw_pmc = file_io.create_df_pmc( + args.path[0][0] + ) # create mega df + parser.load_kernel_top(runs[args.path[0][0]], args.path[0][0]) + + input_filters = { + "kernel": runs[args.path[0][0]].filter_kernel_ids, + "gpu": runs[args.path[0][0]].filter_gpu_ids, + "dispatch": runs[args.path[0][0]].filter_dispatch_ids, + "normalization": args.normal_unit + } + + gui.build_layout( + app, + runs, + archConfigs["gfx90a"], + input_filters, + args.decimal, + args.time_unit, + args.cols, + str(args.path[0][0]), + args.g, + args.verbose, + args, + ) + app.run_server(debug=False, host="0.0.0.0", port=args.gui) + else: + print("Multiple runs not supported yet") + +def run_cli(args, runs): + from omniperf_analyze.utils import tty + # NB: + # If we assume the panel layout for all archs are similar, it doesn't matter + # which archConfig passed into show_all function. + # After decide to how to manage kernels display patterns, we can revisit it. + for d in args.path: + num_results = 10 + file_io.create_df_kernel_top_stats( + d[0], + runs[d[0]].filter_gpu_ids, + runs[d[0]].filter_dispatch_ids, + args.time_unit, + num_results, + ) + runs[d[0]].raw_pmc = file_io.create_df_pmc(d[0]) # creates mega dataframe + is_gui = False + parser.load_table_data( + runs[d[0]], d[0], is_gui, args.g, args.verbose + ) # create the loaded table + if args.list_kernels: + tty.show_kernels(runs, archConfigs["gfx90a"], output, args.decimal) + else: + tty.show_all( + runs, + archConfigs["gfx90a"], + output, + args.decimal, + args.time_unit, + args.cols, + ) + + +def analyze(args): + if args.dependency: + print("pip3 install astunparse numpy tabulate pandas pyyaml") + sys.exit(0) + + # NB: maybe create bak file for the old run before open it + global output + output = open(args.output_file, "w+") if args.output_file else sys.stdout + + # Initalize archConfigs and runs[] + runs = initialize_run(args) # Filtering if args.gpu_kernel: @@ -140,14 +228,12 @@ def omniperf_cli(args): ) sys.exit(2) runs[d[0]].filter_kernel_ids = gk - if args.gpu_id: if len(args.gpu_id) == 1 and len(args.path) != 1: for i in range(len(args.path) - 1): args.gpu_id.extend(args.gpu_id) for d, gi in zip(args.path, args.gpu_id): runs[d[0]].filter_gpu_ids = gi - # NOTE: INVALID DISPATCH IDS ARE NOT CAUGHT HERE. THEY CAUSE AN ERROR IN TABLE GENERATION!!!!!!!!! if args.gpu_dispatch_id: if len(args.gpu_dispatch_id) == 1 and len(args.path) != 1: for i in range(len(args.path) - 1): @@ -155,76 +241,8 @@ def omniperf_cli(args): for d, gd in zip(args.path, args.gpu_dispatch_id): runs[d[0]].filter_dispatch_ids = gd + # Launch CLI analysis or GUI if args.gui: - import dash - from omniperf_cli.utils import gui - import dash_bootstrap_components as dbc - - app = dash.Dash(__name__, external_stylesheets=[dbc.themes.CYBORG]) - - if len(runs) == 1: - num_results = 10 - file_io.create_df_kernel_top_stats( - args.path[0][0], - runs[args.path[0][0]].filter_gpu_ids, - runs[args.path[0][0]].filter_dispatch_ids, - args.time_unit, - num_results, - ) - runs[args.path[0][0]].raw_pmc = file_io.create_df_pmc( - args.path[0][0] - ) # create mega df - is_gui = False - parser.load_kernel_top(runs[args.path[0][0]], args.path[0][0]) - - input_filters = { - "kernel": runs[args.path[0][0]].filter_kernel_ids, - "gpu": runs[args.path[0][0]].filter_gpu_ids, - "dispatch": runs[args.path[0][0]].filter_dispatch_ids, - } - - gui.build_layout( - app, - runs, - archConfigs["gfx90a"], - input_filters, - args.decimal, - args.time_unit, - args.cols, - str(args.path[0][0]), - args.g, - args.verbose, - ) - app.run_server(debug=False, host="0.0.0.0", port=args.gui) - else: - print("Multiple runs not supported yet") + run_gui(args, runs) else: - # NB: - # If we assume the panel layout for all archs are similar, it doesn't matter - # which archConfig passed into show_all function. - # After decide to how to manage kernels display patterns, we can revisit it. - for d in args.path: - num_results = 10 - file_io.create_df_kernel_top_stats( - d[0], - runs[d[0]].filter_gpu_ids, - runs[d[0]].filter_dispatch_ids, - args.time_unit, - num_results, - ) - runs[d[0]].raw_pmc = file_io.create_df_pmc(d[0]) # creates mega dataframe - is_gui = False - parser.load_table_data( - runs[d[0]], d[0], is_gui, args.g, args.verbose - ) # create the loaded table - if args.list_kernels: - tty.show_kernels(runs, archConfigs["gfx90a"], output, args.decimal) - else: - tty.show_all( - runs, - archConfigs["gfx90a"], - output, - args.decimal, - args.time_unit, - args.cols, - ) + run_cli(args, runs) diff --git a/src/omniperf_cli/perfmon/gfx908_metrics.xml b/src/omniperf_analyze/perfmon/gfx908_metrics.xml similarity index 100% rename from src/omniperf_cli/perfmon/gfx908_metrics.xml rename to src/omniperf_analyze/perfmon/gfx908_metrics.xml diff --git a/src/omniperf_cli/perfmon/gfx90a_metrics.xml b/src/omniperf_analyze/perfmon/gfx90a_metrics.xml similarity index 100% rename from src/omniperf_cli/perfmon/gfx90a_metrics.xml rename to src/omniperf_analyze/perfmon/gfx90a_metrics.xml diff --git a/src/omniperf_cli/perfmon/metrics.xml b/src/omniperf_analyze/perfmon/metrics.xml similarity index 100% rename from src/omniperf_cli/perfmon/metrics.xml rename to src/omniperf_analyze/perfmon/metrics.xml diff --git a/src/omniperf_cli/tests/unit/ast_parser_tester.py b/src/omniperf_analyze/tests/unit/ast_parser_tester.py similarity index 100% rename from src/omniperf_cli/tests/unit/ast_parser_tester.py rename to src/omniperf_analyze/tests/unit/ast_parser_tester.py diff --git a/src/omniperf_cli/tests/unit/config/100_if_else.yaml b/src/omniperf_analyze/tests/unit/config/100_if_else.yaml similarity index 100% rename from src/omniperf_cli/tests/unit/config/100_if_else.yaml rename to src/omniperf_analyze/tests/unit/config/100_if_else.yaml diff --git a/src/omniperf_cli/tests/unit/config/100_more_cases.yaml b/src/omniperf_analyze/tests/unit/config/100_more_cases.yaml similarity index 100% rename from src/omniperf_cli/tests/unit/config/100_more_cases.yaml rename to src/omniperf_analyze/tests/unit/config/100_more_cases.yaml diff --git a/src/omniperf_cli/tests/unit/config/build-in/00_id_00_build_in_variables.s4_converted_table.yaml b/src/omniperf_analyze/tests/unit/config/build-in/00_id_00_build_in_variables.s4_converted_table.yaml similarity index 100% rename from src/omniperf_cli/tests/unit/config/build-in/00_id_00_build_in_variables.s4_converted_table.yaml rename to src/omniperf_analyze/tests/unit/config/build-in/00_id_00_build_in_variables.s4_converted_table.yaml diff --git a/src/omniperf_cli/tests/unit/config/expr_format_tester.py b/src/omniperf_analyze/tests/unit/config/expr_format_tester.py similarity index 100% rename from src/omniperf_cli/tests/unit/config/expr_format_tester.py rename to src/omniperf_analyze/tests/unit/config/expr_format_tester.py diff --git a/src/omniperf_cli/utils/file_io.py b/src/omniperf_analyze/utils/file_io.py similarity index 99% rename from src/omniperf_cli/utils/file_io.py rename to src/omniperf_analyze/utils/file_io.py index 45cb6708a8..802dd82bf0 100644 --- a/src/omniperf_cli/utils/file_io.py +++ b/src/omniperf_analyze/utils/file_io.py @@ -28,7 +28,7 @@ import yaml import collections from collections import OrderedDict from pathlib import Path -from omniperf_cli.utils import schema +from omniperf_analyze.utils import schema # TODO: use pandas chunksize or dask to read really large csv file # from dask import dataframe as dd diff --git a/src/omniperf_cli/utils/gui.py b/src/omniperf_analyze/utils/gui.py similarity index 91% rename from src/omniperf_cli/utils/gui.py rename to src/omniperf_analyze/utils/gui.py index 491e2d193f..0fdfa06275 100644 --- a/src/omniperf_cli/utils/gui.py +++ b/src/omniperf_analyze/utils/gui.py @@ -36,11 +36,12 @@ import plotly.express as px import colorlover -from omniperf_cli.utils import parser, file_io, schema +from omniperf_analyze.utils import parser, file_io, schema -from omniperf_cli.utils.gui_components.header import get_header -from omniperf_cli.utils.gui_components.roofline import get_roofline -from omniperf_cli.utils.gui_components.memchart import get_memchart +from omniperf_analyze.utils.gui_components.header import get_header +from omniperf_analyze.utils.gui_components.roofline import get_roofline +from omniperf_analyze.utils.gui_components.memchart import get_memchart +from omniperf_analyze.omniperf_analyze import initialize_run pd.set_option( "mode.chained_assignment", None @@ -303,6 +304,7 @@ def build_layout( path_to_dir, debug, verbose, + args, ): """ Build gui layout @@ -312,8 +314,8 @@ def build_layout( app.layout = html.Div(style={"backgroundColor": "rgb(50, 50, 50)" if IS_DARK else ""}) filt_kernel_names = [] - kernel_top_df = runs[path_to_dir].dfs[1] - for kernel_id in runs[path_to_dir].filter_kernel_ids: + kernel_top_df = base_data.dfs[1] + for kernel_id in base_data.filter_kernel_ids: filt_kernel_names.append(kernel_top_df.loc[kernel_id, "KernelName"]) app.layout.children = html.Div( @@ -321,7 +323,7 @@ def build_layout( dbc.Spinner( children=[ get_header( - runs[path_to_dir].raw_pmc, input_filters, filt_kernel_names + base_data.raw_pmc, input_filters, filt_kernel_names ), html.Div(id="container", children=[]), ], @@ -337,26 +339,30 @@ def build_layout( [Input("disp-filt", "value")], [Input("kernel-filt", "value")], [Input("gcd-filt", "value")], + [Input("norm-filt", "value")], [State("container", "children")], ) - def generate_from_filter(disp_filt, kernel_filter, gcd_filter, div_children): - runs[path_to_dir].dfs = copy.deepcopy(archConfigs.dfs) # reset the equations + def generate_from_filter(disp_filt, kernel_filter, gcd_filter, norm_filt, div_children): + if verbose <= 1: + print("normalization is ", norm_filt) + + base_data = initialize_run(args, norm_filt) # Re-initalize everything panel_configs = copy.deepcopy(archConfigs.panel_configs) # Generate original raw df - runs[path_to_dir].raw_pmc = file_io.create_df_pmc(path_to_dir) + base_data[base_run].raw_pmc = file_io.create_df_pmc(path_to_dir) if verbose >= 1: print("disp-filter is ", disp_filt) print("kernel-filter is ", kernel_filter) print("gpu-filter is ", gcd_filter, "\n") - runs[path_to_dir].filter_kernel_ids = kernel_filter - runs[path_to_dir].filter_gpu_ids = gcd_filter - runs[path_to_dir].filter_dispatch_ids = disp_filt + base_data[base_run].filter_kernel_ids = kernel_filter + base_data[base_run].filter_gpu_ids = gcd_filter + base_data[base_run].filter_dispatch_ids = disp_filt # Reload the pmc_kernel_top.csv for Top Stats panel num_results = 10 file_io.create_df_kernel_top_stats( path_to_dir, - runs[path_to_dir].filter_gpu_ids, - runs[path_to_dir].filter_dispatch_ids, + base_data[base_run].filter_gpu_ids, + base_data[base_run].filter_dispatch_ids, time_unit, num_results, ) @@ -365,11 +371,11 @@ def build_layout( if not (disp_filt or kernel_filter or gcd_filter): temp = {} keep = [1, 201, 101, 1901] - for key in runs[path_to_dir].dfs: + for key in base_data[base_run].dfs: if keep.count(key) != 0: - temp[key] = runs[path_to_dir].dfs[key] + temp[key] = base_data[base_run].dfs[key] - runs[path_to_dir].dfs = temp + base_data[base_run].dfs = temp temp = {} keep = [0, 100, 200, 1900] for key in panel_configs: @@ -378,18 +384,18 @@ def build_layout( panel_configs = temp parser.load_table_data( - runs[path_to_dir], path_to_dir, True, debug, verbose + base_data[base_run], path_to_dir, True, debug, verbose ) # Note: All the filtering happens in this function div_children = [] div_children.append( - get_memchart(archConfigs.panel_configs[1900]["data source"], base_data) + get_memchart(panel_configs[1900]["data source"], base_data[base_run]) ) # append roofline section div_children.append( get_roofline( path_to_dir, - parser.apply_filters(runs[path_to_dir], is_gui, debug), + parser.apply_filters(base_data[base_run], is_gui, debug), verbose, ) ) @@ -411,7 +417,7 @@ def build_layout( for data_source in panel["data source"]: for t_type, table_config in data_source.items(): content = [] - original_df = base_data.dfs[table_config["id"]] + original_df = base_data[base_run].dfs[table_config["id"]] # The sys info table need to add index back if t_type == "raw_csv_table" and "Info" in original_df.keys(): diff --git a/src/omniperf_cli/utils/gui_components/header.py b/src/omniperf_analyze/utils/gui_components/header.py similarity index 98% rename from src/omniperf_cli/utils/gui_components/header.py rename to src/omniperf_analyze/utils/gui_components/header.py index cf5897b308..0e61055b0a 100644 --- a/src/omniperf_cli/utils/gui_components/header.py +++ b/src/omniperf_analyze/utils/gui_components/header.py @@ -24,9 +24,9 @@ from dash import html, dash_table, dcc import dash_bootstrap_components as dbc from matplotlib.style import available -from omniperf_cli.utils import schema +from omniperf_analyze.utils import schema -avail_normalizations = ["per Wave", "per Cycle", "per Sec", "per Kernel"] +avail_normalizations = ["per_wave", "per_cycle", "per_second", "per_kernel"] # List all the unique column values for desired column in df, 'target_col' def list_unique(orig_list, is_numeric): @@ -152,10 +152,10 @@ def get_header(raw_pmc, input_filters, kernel_names): ), dcc.Dropdown( avail_normalizations, - value="per Wave", + id="norm-filt", + value=input_filters["normalization"], clearable=False, style={"width": "150px"}, - disabled=True, # TODO: Turn this off once multi normalization is enabled ), ] ) diff --git a/src/omniperf_cli/utils/gui_components/memchart.py b/src/omniperf_analyze/utils/gui_components/memchart.py similarity index 100% rename from src/omniperf_cli/utils/gui_components/memchart.py rename to src/omniperf_analyze/utils/gui_components/memchart.py diff --git a/src/omniperf_cli/utils/gui_components/roofline.py b/src/omniperf_analyze/utils/gui_components/roofline.py similarity index 99% rename from src/omniperf_cli/utils/gui_components/roofline.py rename to src/omniperf_analyze/utils/gui_components/roofline.py index ec33d7b231..6e4ce2c54c 100644 --- a/src/omniperf_cli/utils/gui_components/roofline.py +++ b/src/omniperf_analyze/utils/gui_components/roofline.py @@ -20,7 +20,7 @@ # THE SOFTWARE. ################################################################################ -from omniperf_cli.utils import roofline_calc +from omniperf_analyze.utils import roofline_calc import numpy as np from dash import html, dash_table diff --git a/src/omniperf_cli/utils/parser.py b/src/omniperf_analyze/utils/parser.py similarity index 99% rename from src/omniperf_cli/utils/parser.py rename to src/omniperf_analyze/utils/parser.py index d64988b17c..ce238c622d 100644 --- a/src/omniperf_cli/utils/parser.py +++ b/src/omniperf_analyze/utils/parser.py @@ -29,7 +29,7 @@ from matplotlib.pyplot import axis import pandas as pd import numpy as np from tabulate import tabulate -from omniperf_cli.utils import schema +from omniperf_analyze.utils import schema # ------------------------------------------------------------------------------ # Internal global definitions @@ -68,6 +68,7 @@ supported_denom = { "per_wave": "SQ_WAVES", "per_cycle": "GRBM_GUI_ACTIVE", "per_second": "((EndNs - BeginNs) / 1000000000)", + "per_kernel": "1" } # Build-in defined in mongodb variables: diff --git a/src/omniperf_cli/utils/roofline_calc.py b/src/omniperf_analyze/utils/roofline_calc.py similarity index 100% rename from src/omniperf_cli/utils/roofline_calc.py rename to src/omniperf_analyze/utils/roofline_calc.py diff --git a/src/omniperf_cli/utils/schema.py b/src/omniperf_analyze/utils/schema.py similarity index 100% rename from src/omniperf_cli/utils/schema.py rename to src/omniperf_analyze/utils/schema.py diff --git a/src/omniperf_cli/utils/tty.py b/src/omniperf_analyze/utils/tty.py similarity index 99% rename from src/omniperf_cli/utils/tty.py rename to src/omniperf_analyze/utils/tty.py index e57181ea85..0a8befbb98 100644 --- a/src/omniperf_cli/utils/tty.py +++ b/src/omniperf_analyze/utils/tty.py @@ -23,7 +23,7 @@ import pandas as pd from tabulate import tabulate -from omniperf_cli.utils import schema, parser +from omniperf_analyze.utils import schema, parser hidden_columns = ["Tips", "coll_level"] diff --git a/src/parser.py b/src/parser.py index a920b428bc..7e42d28ede 100644 --- a/src/parser.py +++ b/src/parser.py @@ -394,15 +394,15 @@ def parse(my_parser): dest="normal_unit", metavar="", default="per_wave", - choices=["per_wave", "per_cycle", "per_second"], - help="\t\tSpecify the normalization unit: (DEFAULT: per_wave)\n\t\t per_wave\n\t\t per_cycle\n\t\t per_second", + choices=["per_wave", "per_cycle", "per_second", "per_kernel"], + help="\t\tSpecify the normalization unit: (DEFAULT: per_wave)\n\t\t per_wave\n\t\t per_cycle\n\t\t per_second\n\t\t per_kernel", ) analyze_group.add_argument( "--config-dir", dest="config_dir", metavar="", help="\t\tSpecify the directory of customized configs.", - default=OMNIPERF_HOME.joinpath("omniperf_cli/configs"), + default=OMNIPERF_HOME.joinpath("omniperf_analyze/configs"), ) analyze_group.add_argument( "-t", diff --git a/utils/build.sh b/utils/build.sh index 45625a8d3d..e980aff882 100755 --- a/utils/build.sh +++ b/utils/build.sh @@ -5,7 +5,7 @@ pyinstaller src/omniperf.py \ --add-data "src/perfmon_pub/*:perfmon_pub" \ --add-data "src/utils/*:utils" \ --add-data "src/soc_params/*.csv:soc_params" \ - --add-data "src/omniperf_cli/*:omniperf_cli" \ + --add-data "src/omniperf_analyze/*:omniperf_analyze" \ --hidden-import matplotlib.backends.backend_pdf \ ${@} @@ -57,8 +57,8 @@ cp -r ${dash_loc:10}/dash_svg "$distpath"/omniperf/ echo "(build.sh) Fixing flattened directories" #TODO: Copy orig file structure from over to flattened packaged version -rm -rf "$distpath"/omniperf/omniperf_cli/ -cp -r src/omniperf_cli/ "$distpath"/omniperf/ +rm -rf "$distpath"/omniperf/omniperf_analyze/ +cp -r src/omniperf_analyze/ "$distpath"/omniperf/ rm -rf "$distpath"/omniperf/perfmon_pub/ cp -r src/perfmon_pub/ "$distpath"/omniperf/ From a2149871ff492975bd8f18d27be08fd6b664b323 Mon Sep 17 00:00:00 2001 From: colramos425 Date: Fri, 2 Dec 2022 12:02:00 -0600 Subject: [PATCH 12/16] Comply to Python formatting Signed-off-by: colramos425 --- src/omniperf_analyze/omniperf_analyze.py | 10 ++++++---- src/omniperf_analyze/utils/gui.py | 12 ++++++------ src/omniperf_analyze/utils/parser.py | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/omniperf_analyze/omniperf_analyze.py b/src/omniperf_analyze/omniperf_analyze.py index 72ed4adbd4..1d9c18028e 100644 --- a/src/omniperf_analyze/omniperf_analyze.py +++ b/src/omniperf_analyze/omniperf_analyze.py @@ -92,7 +92,7 @@ def initialize_run(args, normalization_filter=None): if not normalization_filter: for k, v in archConfigs.items(): parser.build_metric_value_string(v.dfs, v.dfs_type, args.normal_unit) - else: + else: for k, v in archConfigs.items(): parser.build_metric_value_string(v.dfs, v.dfs_type, normalization_filter) @@ -121,9 +121,9 @@ def initialize_run(args, normalization_filter=None): w.dfs_type = archConfigs[arch].dfs_type w.soc_spec = file_io.get_soc_params(soc_spec_df, arch) runs[d[0]] = w - + # Return rather than referencing 'runs' globally (since used outside of file scope) - return runs + return runs def run_gui(args, runs): @@ -151,7 +151,7 @@ def run_gui(args, runs): "kernel": runs[args.path[0][0]].filter_kernel_ids, "gpu": runs[args.path[0][0]].filter_gpu_ids, "dispatch": runs[args.path[0][0]].filter_dispatch_ids, - "normalization": args.normal_unit + "normalization": args.normal_unit, } gui.build_layout( @@ -171,8 +171,10 @@ def run_gui(args, runs): else: print("Multiple runs not supported yet") + def run_cli(args, runs): from omniperf_analyze.utils import tty + # NB: # If we assume the panel layout for all archs are similar, it doesn't matter # which archConfig passed into show_all function. diff --git a/src/omniperf_analyze/utils/gui.py b/src/omniperf_analyze/utils/gui.py index 0fdfa06275..b96bcea8a2 100644 --- a/src/omniperf_analyze/utils/gui.py +++ b/src/omniperf_analyze/utils/gui.py @@ -322,9 +322,7 @@ def build_layout( children=[ dbc.Spinner( children=[ - get_header( - base_data.raw_pmc, input_filters, filt_kernel_names - ), + get_header(base_data.raw_pmc, input_filters, filt_kernel_names), html.Div(id="container", children=[]), ], fullscreen=True, @@ -342,11 +340,13 @@ def build_layout( [Input("norm-filt", "value")], [State("container", "children")], ) - def generate_from_filter(disp_filt, kernel_filter, gcd_filter, norm_filt, div_children): + def generate_from_filter( + disp_filt, kernel_filter, gcd_filter, norm_filt, div_children + ): if verbose <= 1: print("normalization is ", norm_filt) - - base_data = initialize_run(args, norm_filt) # Re-initalize everything + + base_data = initialize_run(args, norm_filt) # Re-initalize everything panel_configs = copy.deepcopy(archConfigs.panel_configs) # Generate original raw df base_data[base_run].raw_pmc = file_io.create_df_pmc(path_to_dir) diff --git a/src/omniperf_analyze/utils/parser.py b/src/omniperf_analyze/utils/parser.py index ce238c622d..ec925cef1a 100644 --- a/src/omniperf_analyze/utils/parser.py +++ b/src/omniperf_analyze/utils/parser.py @@ -68,7 +68,7 @@ supported_denom = { "per_wave": "SQ_WAVES", "per_cycle": "GRBM_GUI_ACTIVE", "per_second": "((EndNs - BeginNs) / 1000000000)", - "per_kernel": "1" + "per_kernel": "1", } # Build-in defined in mongodb variables: From 0b01dc7ec7fa0a12628626a6f4b74412213df3b6 Mon Sep 17 00:00:00 2001 From: colramos425 Date: Tue, 6 Dec 2022 10:32:23 -0600 Subject: [PATCH 13/16] Add VL1D BW to the L1D Cache Accesses table Signed-off-by: colramos425 --- src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml | 6 ++++++ src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml | 8 +++++++- src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml | 8 +++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml index d0b6c52e8c..e7c3a12f44 100644 --- a/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml +++ b/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml @@ -130,6 +130,12 @@ Panel Config: / $denom)) unit: (Req + $normUnit) tips: + Cache BW: + avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + unit: GB/s + tips: Cache Accesses: avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) diff --git a/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml index c19dcce97c..9dcc069529 100644 --- a/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml +++ b/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml @@ -129,7 +129,13 @@ Panel Config: max: MAX(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) / $denom)) unit: (Req + $normUnit) - tips: + tips: + Cache BW: + avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + unit: GB/s + tips: Cache Accesses: avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) diff --git a/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml index d54ff22c3e..87b5610ae3 100644 --- a/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml +++ b/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml @@ -129,7 +129,13 @@ Panel Config: max: MAX(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) / $denom)) unit: (Req + $normUnit) - tips: + tips: + Cache BW: + avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (EndNs - BeginNs))) + unit: GB/s + tips: Cache Accesses: avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) From b0542923e24d29aa7596c660c53e9d80538f19a1 Mon Sep 17 00:00:00 2001 From: colramos-amd Date: Tue, 6 Dec 2022 13:44:00 -0600 Subject: [PATCH 14/16] Add L1-L2 BW metric to configs and dashboard #37 Signed-off-by: colramos-amd --- dashboards/Omniperf_v1.0.5_pub.json | 1494 ++++++++--------- .../configs/gfx906/1600_L1_cache.yaml | 8 +- .../configs/gfx908/1600_L1_cache.yaml | 8 +- .../configs/gfx90a/1600_L1_cache.yaml | 8 +- 4 files changed, 765 insertions(+), 753 deletions(-) diff --git a/dashboards/Omniperf_v1.0.5_pub.json b/dashboards/Omniperf_v1.0.5_pub.json index 472231bf88..4cbfd4a8ec 100644 --- a/dashboards/Omniperf_v1.0.5_pub.json +++ b/dashboards/Omniperf_v1.0.5_pub.json @@ -24,8 +24,8 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 39, - "iteration": 1669660765918, + "id": 41, + "iteration": 1670355676329, "links": [], "liveNow": false, "panels": [ @@ -190,8 +190,7 @@ "mode": "absolute", "steps": [ { - "color": "text", - "value": null + "color": "text" } ] }, @@ -214,8 +213,7 @@ "mode": "absolute", "steps": [ { - "color": "transparent", - "value": null + "color": "transparent" }, { "color": "orange", @@ -414,8 +412,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -500,8 +497,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -6967,7 +6963,7 @@ "type": "row" }, { - "collapsed": true, + "collapsed": false, "datasource": { "type": "amd-miperf-data-plugin", "uid": "oVK0I__nk" @@ -6979,729 +6975,7 @@ "y": 14 }, "id": 112, - "panels": [ - { - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 50 - }, - { - "color": "red", - "value": 90 - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 13, - "w": 12, - "x": 0, - "y": 15 - }, - "id": 165, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true, - "text": {} - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "rawQuery": true, - "refId": "A", - "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"bufferCoalescing_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_ACCESSES_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TA_TOTAL_WAVEFRONTS_sum\", 64, 100]}, {\"$multiply\": [\"&TCP_TOTAL_ACCESSES_sum\", 4]}] },\n null\n ]\n }\n },\n \"cacheUtil_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TCP_GATE_EN2_sum\", 100]}, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }\n },\n \n \"cacheBW_pct\": {\n \"$avg\": { \"$divide\": [ {\"$multiply\":[64, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"]}, \n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} \n ] \n }\n },\n \"cacheHit_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0] },\n { \"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]\n }] \n },\n null\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Buffer Coalescing\": \"&bufferCoalescing_pct\",\n \"Cache Util\": \"&cacheUtil_pct\",\n \"Cache BW\": { \"$divide\": [{ \"$multiply\": [100, \"&cacheBW_pct\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numCU]}] },\n \"Cache Hit\": \"&cacheHit_pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - }, - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "hide": false, - "rawQuery": true, - "refId": "B", - "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"bufferCoalescing_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_ACCESSES_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TA_TOTAL_WAVEFRONTS_sum\", 64, 100]}, {\"$multiply\": [\"&TCP_TOTAL_ACCESSES_sum\", 4]}] },\n null\n ]\n }\n },\n \"cacheUtil_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TCP_GATE_EN2_sum\", 100]}, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }\n },\n \"cacheBW_pct\": {\n \"$avg\": { \"$divide\": [ {\"$multiply\":[64, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"]}, \n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} \n ] \n }\n },\n \"cacheHit_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0] },\n { \"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]\n }] \n },\n null\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Buffer Coalescing\": \"&bufferCoalescing_pct\",\n \"Cache Util\": \"&cacheUtil_pct\",\n \"Cache BW\": { \"$divide\": [{ \"$multiply\": [100, \"&cacheBW_pct\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numCU2]}] },\n \"Cache Hit\": \"&cacheHit_pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - } - ], - "title": "Speed-of-Light: Vector L1D Cache", - "transformations": [ - { - "id": "concatenate", - "options": {} - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "128B Read Combining 1": 6, - "128B Read Combining 2": 7, - "Buffer Coalescing 1": 0, - "Buffer Coalescing 2": 1, - "Cache BW 1": 2, - "Cache BW 2": 3, - "Cache Hit 1": 4, - "Cache Hit 2": 5 - }, - "renameByName": { - "128B Read Combining 1": "128B Read Combining (Current)", - "128B Read Combining 2": "128B Read Combining(Baseline)", - "Buffer Coalescing 1": "Buf Coalescing (Current)", - "Buffer Coalescing 2": "Buf Coalescing (Baseline)", - "Cache BW 1": "Cache BW (Current)", - "Cache BW 2": "Cache BW (Baseline)", - "Cache Hit 1": "Cache Hit (Current)", - "Cache Hit 2": "Cache Hit (Baseline)", - "Cache Util 1": "Cache Util (Current)", - "Cache Util 2": "Cache Util (Baseline)" - } - } - } - ], - "transparent": true, - "type": "bargauge" - }, - { - "datasource": {}, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "color-background" - }, - "decimals": 1, - "mappings": [], - "max": 100, - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "transparent", - "value": null - }, - { - "color": "#EAB839", - "value": 50 - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "unit" - }, - "properties": [ - { - "id": "custom.width", - "value": 52 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Metric" - }, - "properties": [ - { - "id": "custom.width", - "value": 199 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Avg (Current)" - }, - "properties": [ - { - "id": "custom.width", - "value": 121 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Avg (Baseline)" - }, - "properties": [ - { - "id": "custom.width", - "value": 144 - } - ] - } - ] - }, - "gridPos": { - "h": 13, - "w": 12, - "x": 12, - "y": 15 - }, - "id": 116, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [] - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "rawQuery": true, - "refId": "A", - "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"l2Pending_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n\n\n \"tcr2tcp_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \"readTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \n \"writeTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \n \"atomicTagRam_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }} \n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Stalled on L2 Data\",\n \"Mean\": \"&l2Pending_avg\",\n \"Min\": \"&l2Pending_min\",\n \"Max\": \"&l2Pending_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Stalled on L2 Req\",\n \"Mean\": \"&tcr2tcp_Stall_avg\",\n \"Min\":\"&tcr2tcp_Stall_min\",\n \"Max\":\"&tcr2tcp_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Read)\",\n \"Mean\": \"&readTagRam_Stall_avg\",\n \"Min\": \"&readTagRam_Stall_min\",\n \"Max\": \"&readTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Write)\",\n \"Mean\": \"&writeTagRam_Stall_avg\",\n \"Min\": \"&writeTagRam_Stall_min\",\n \"Max\": \"&writeTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Atomic)\",\n \"Mean\": \"&atomicTagRam_Stall_avg\",\n \"Min\": \"&atomicTagRam_Stall_min\",\n \"Max\": \"&atomicTagRam_Stall_max\",\n \"unit\":\"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - }, - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "hide": false, - "rawQuery": true, - "refId": "B", - "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"l2Pending_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n\n \"tcr2tcp_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \"readTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \n \"writeTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \n \"atomicTagRam_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }} \n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Stalled on L2 Data\",\n \"Mean\": \"&l2Pending_avg\",\n \"Min\": \"&l2Pending_min\",\n \"Max\": \"&l2Pending_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Stalled on L2 Req\",\n \"Mean\": \"&tcr2tcp_Stall_avg\",\n \"Min\":\"&tcr2tcp_Stall_min\",\n \"Max\":\"&tcr2tcp_Stall_max\",\n \"unit\":\"pct\"\n },\n\n {\n \"Metric\": \"Tag RAM Stall (Read)\",\n \"Mean\": \"&readTagRam_Stall_avg\",\n \"Min\": \"&readTagRam_Stall_min\",\n \"Max\": \"&readTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Write)\",\n \"Mean\": \"&writeTagRam_Stall_avg\",\n \"Min\": \"&writeTagRam_Stall_min\",\n \"Max\": \"&writeTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Atomic)\",\n \"Mean\": \"&atomicTagRam_Stall_avg\",\n \"Min\": \"&atomicTagRam_Stall_min\",\n \"Max\": \"&atomicTagRam_Stall_max\",\n \"unit\":\"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - } - ], - "title": "Vector L1D Cache Stalls", - "transformations": [ - { - "id": "concatenate", - "options": {} - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Metric 2": true, - "Units 2": true, - "unit 2": true - }, - "indexByName": { - "Max 1": 6, - "Max 2": 7, - "Mean 1": 2, - "Mean 2": 3, - "Metric 1": 0, - "Metric 2": 1, - "Min 1": 4, - "Min 2": 5, - "unit 1": 9, - "unit 2": 8 - }, - "renameByName": { - "Max 1": "Max (Current)", - "Max 2": "Max (Baseline)", - "Mean 1": "Avg (Current)", - "Mean 2": "Avg (Baseline)", - "Min 1": "Min (Current)", - "Min 2": "Min (Baseline)", - "unit 1": "Unit" - } - } - } - ], - "type": "table" - }, - { - "datasource": {}, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto" - }, - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "locale" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Unit" - }, - "properties": [ - { - "id": "custom.width", - "value": 116 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Avg (Current)" - }, - "properties": [ - { - "id": "custom.width", - "value": 78 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Min (Current)" - }, - "properties": [ - { - "id": "custom.width", - "value": 139 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Max (Current)" - }, - "properties": [ - { - "id": "custom.width", - "value": 50 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "max" - }, - "properties": [ - { - "id": "custom.width", - "value": 148 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Avg (Baseline)" - }, - "properties": [ - { - "id": "custom.width", - "value": 127 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Min (Baseline)" - }, - "properties": [ - { - "id": "custom.width", - "value": 111 - } - ] - } - ] - }, - "gridPos": { - "h": 18, - "w": 12, - "x": 0, - "y": 28 - }, - "id": 128, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [] - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "hide": false, - "rawQuery": true, - "refId": "A", - "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n\n \"totalReq_avg\":{\"$avg\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_min\":{\"$min\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_max\":{\"$max\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n\n \"cacheAccess_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n\n \"cacheHits_avg\":{\"$avg\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_min\":{\"$min\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_max\":{\"$max\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \n \"cacheHitRate_avg\":{\"$avg\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_min\":{\"$min\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_max\":{\"$max\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n\n\n \"l2TCRRead_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n\n\n \"l2Write_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n\n \"l2Atomic_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n\n \"invalidate_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n\n\n \"l1Latency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n\n\n \"l2ReadLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n\n \"l2WriteLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }}\n\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Total Req\",\n \"avg\": \"&totalReq_avg\",\n \"min\": \"&totalReq_min\",\n \"max\": \"&totalReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&atomicReq_avg\",\n \"min\": \"&atomicReq_min\",\n \"max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Accesses\",\n \"avg\": \"&cacheAccess_avg\",\n \"min\": \"&cacheAccess_min\",\n \"max\": \"&cacheAccess_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hits\",\n \"avg\": \"&cacheHits_avg\",\n \"min\": \"&cacheHits_min\",\n \"max\": \"&cacheHits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit Rate\",\n \"avg\": \"&cacheHitRate_avg\",\n \"min\": \"&cacheHitRate_min\",\n \"max\": \"&cacheHitRate_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Invalidate\",\n \"avg\": \"&invalidate_avg\",\n \"min\": \"&invalidate_min\",\n \"max\": \"&invalidate_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"L1-TCR Read\",\n \"avg\": \"&l2TCRRead_avg\",\n \"min\": \"&l2TCRRead_min\",\n \"max\": \"&l2TCRRead_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Write\",\n \"avg\": \"&l2Write_avg\",\n \"min\": \"&l2Write_min\",\n \"max\": \"&l2Write_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Atomic\",\n \"avg\": \"&l2Atomic_avg\",\n \"min\": \"&l2Atomic_min\",\n \"max\": \"&l2Atomic_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1 Access Latency\",\n \"avg\": \"&l1Latency_avg\",\n \"min\": \"&l1Latency_min\",\n \"max\": \"&l1Latency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Read Latency\",\n \"avg\": \"&l2ReadLatency_avg\",\n \"min\": \"&l2ReadLatency_min\",\n \"max\": \"&l2ReadLatency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Write Latency\",\n \"avg\": \"&l2WriteLatency_avg\",\n \"min\": \"&l2WriteLatency_min\",\n \"max\": \"&l2WriteLatency_max\",\n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - }, - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "hide": false, - "rawQuery": true, - "refId": "B", - "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n\n \"totalReq_avg\":{\"$avg\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_min\":{\"$min\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_max\":{\"$max\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n\n \"cacheAccess_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n\n \"cacheHits_avg\":{\"$avg\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_min\":{\"$min\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_max\":{\"$max\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \n \"cacheHitRate_avg\":{\"$avg\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_min\":{\"$min\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_max\":{\"$max\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n\n\n \"l2TCRRead_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2TCRRead_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n\n\n \"l2Write_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2Write_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n\n \"l2Atomic_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2Atomic_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n\n\n\n \"invalidate_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n\n\n \"l1Latency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n\n\n \"l2ReadLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n\n \"l2WriteLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Total Req\",\n \"avg\": \"&totalReq_avg\",\n \"min\": \"&totalReq_min\",\n \"max\": \"&totalReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&atomicReq_avg\",\n \"min\": \"&atomicReq_min\",\n \"max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Accesses\",\n \"avg\": \"&cacheAccess_avg\",\n \"min\": \"&cacheAccess_min\",\n \"max\": \"&cacheAccess_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hits\",\n \"avg\": \"&cacheHits_avg\",\n \"min\": \"&cacheHits_min\",\n \"max\": \"&cacheHits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit Rate\",\n \"avg\": \"&cacheHitRate_avg\",\n \"min\": \"&cacheHitRate_min\",\n \"max\": \"&cacheHitRate_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Invalidate\",\n \"avg\": \"&invalidate_avg\",\n \"min\": \"&invalidate_min\",\n \"max\": \"&invalidate_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"L1-TCR Read\",\n \"avg\": \"&l2TCRRead_avg\",\n \"min\": \"&l2TCRRead_min\",\n \"max\": \"&l2TCRRead_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Write\",\n \"avg\": \"&l2Write_avg\",\n \"min\": \"&l2Write_min\",\n \"max\": \"&l2Write_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Atomic\",\n \"avg\": \"&l2Atomic_avg\",\n \"min\": \"&l2Atomic_min\",\n \"max\": \"&l2Atomic_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1 Access Latency\",\n \"avg\": \"&l1Latency_avg\",\n \"min\": \"&l1Latency_min\",\n \"max\": \"&l1Latency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Read Latency\",\n \"avg\": \"&l2ReadLatency_avg\",\n \"min\": \"&l2ReadLatency_min\",\n \"max\": \"&l2ReadLatency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Write Latency\",\n \"avg\": \"&l2WriteLatency_avg\",\n \"min\": \"&l2WriteLatency_min\",\n \"max\": \"&l2WriteLatency_max\",\n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - } - ], - "title": "Vector L1D Cache Accesses", - "transformations": [ - { - "id": "concatenate", - "options": {} - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Unit 2": true, - "metric 2": true - }, - "indexByName": { - "Unit 1": 9, - "Unit 2": 8, - "avg 1": 1, - "avg 2": 2, - "max 1": 5, - "max 2": 6, - "metric 1": 0, - "metric 2": 7, - "min 1": 3, - "min 2": 4 - }, - "renameByName": { - "avg 1": "Avg (Current)", - "avg 2": "Avg (Baseline)", - "max 1": "Max (Current)", - "max 2": "Max (Baseline)", - "min 1": "Min (Current)", - "min 2": "Min (Baseline)" - } - } - } - ], - "type": "table" - }, - { - "Aggregate": "last", - "BarPadding": 30, - "BaseLineColor": "#ff0000", - "BaseLineWidth": 1, - "CurveType": "Monotone", - "DateFormat": "YYYY-MM-DD HH:mm:ss", - "DateTimeColName": "date", - "DotColor": "white", - "DotSize": 10, - "EvenRowColor": "rgba(61, 61, 64, 0.78)", - "FlashHighLimitBar": false, - "FlashLowLimitBar": false, - "GroupColName": "Coherency", - "GroupCols": 2, - "GroupGap": 5, - "GroupLabelColor": "#FF9830", - "GroupLabelFontSize": "100%", - "GroupNameFilter": "", - "GroupRenamingRules": [], - "GroupSortString": "", - "HighAxisColor": "#ffffff", - "HighAxisWidth": 1, - "HighBarColor": "rgb(120, 128, 0)", - "HighLimitBarColor": "#ff0000", - "HighLimitBarFlashColor": "#ffa500", - "HighLimitBarFlashTimeout": 1000, - "HighLimitLineColor": "#ff0000", - "HighLmitLineWidth": 1, - "HighSideMargin": 0, - "Horizontal": true, - "LabelColName": "Xfer", - "LabelColor": "#ffffff", - "LabelFontSize": "100%", - "LabelNameFilter": "", - "LabelRenamingRules": [], - "LableAngle": 0, - "Legend": false, - "LineColor": "blue", - "LineWidth": 5, - "Links": [], - "LowAxisColor": "#ffffff", - "LowAxisWidth": 1, - "LowBarColor": "teal", - "LowLimitBarColor": "#ff0000", - "LowLimitBarFlashColor": "#ffa500", - "LowLimitBarFlashTimeout": 200, - "LowLimitLineColor": "#ff0000", - "LowLmitLineWidth": 1, - "LowSideMargin": 0, - "MaxLineColor": "rgb(74, 232, 12)", - "MaxLineWidth": 1, - "MinLineColor": "#ff0000", - "MinLineWidth": 1, - "MultiBarPadding": 10, - "OddRowColor": "rgba(33, 33, 34, 0.92)", - "OutOfRangeLabelColor": "#ffffff", - "OutlineColor": "rgba(245, 255, 0, 0.1)", - "RecolorHighLimitBar": false, - "RecolorLowLimitBar": false, - "RecolorRules": [], - "ScaleFactor": 1, - "ShowBars": true, - "ShowBaseLine": false, - "ShowDate": false, - "ShowGroupLabels": true, - "ShowHighLimitLine": false, - "ShowLabels": true, - "ShowLeftAxis": true, - "ShowLines": false, - "ShowLowLimitLine": false, - "ShowMaxLine": false, - "ShowMinLine": false, - "ShowRightAxis": true, - "ShowValues": true, - "SortColName": "value", - "SortDirection": "ascending", - "TZOffsetHours": 0, - "ToolTipFontSize": "100%", - "ToolTipType": "", - "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", - "VGroupGap": 5, - "ValueColName": "", - "ValueColor": "#FADE2A", - "ValueDecimals": 0, - "ValueFontSize": "100%", - "ValuePosition": "top", - "Values": [ - { - "$$hashKey": "object:172", - "Col": 2, - "HighBarColor": "rgb(120, 128, 0)", - "LowBarColor": "teal", - "Name": "Mean", - "Selected": true - } - ], - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 28 - }, - "id": 120, - "pluginVersion": "8.2.1", - "targets": [ - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "tlh8EwUnk" - }, - "rawQuery": true, - "refId": "A", - "target": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n\n \"readNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \n \"writeNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \n \"atomicNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&readNC_avg\",\n \"Min\": \"&readNC_min\",\n \"Max\": \"&readNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&readUC_avg\",\n \"Min\": \"&readUC_min\",\n \"Max\": \"&readUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&readCC_avg\",\n \"Min\": \"&readCC_min\",\n \"Max\": \"&readCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&readRW_avg\",\n \"Min\": \"&readRW_min\",\n \"Max\": \"&readRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&writeRW_avg\",\n \"Min\": \"&writeRW_min\",\n \"Max\": \"&writeRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&writeNC_avg\",\n \"Min\": \"&writeNC_min\",\n \"Max\": \"&writeNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&writeUC_avg\",\n \"Min\": \"&writeUC_min\",\n \"Max\": \"&writeUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&writeCC_avg\",\n \"Min\": \"&writeCC_min\",\n \"Max\": \"&writeCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&atomicNC_avg\",\n \"Min\": \"&atomicNC_min\",\n \"Max\": \"&atomicNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&atomicUC_avg\",\n \"Min\": \"&atomicUC_min\",\n \"Max\": \"&atomicUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&atomicCC_avg\",\n \"Min\": \"&atomicCC_min\",\n \"Max\": \"&atomicCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&atomicRW_avg\",\n \"Min\": \"&atomicRW_min\",\n \"Max\": \"&atomicRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - } - ], - "title": "Vector L1D - L2 Transactions Req $normUnit", - "transparent": true, - "type": "michaeldmoore-multistat-panel" - }, - { - "datasource": {}, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto" - }, - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "locale" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Units" - }, - "properties": [ - { - "id": "custom.width", - "value": 75 - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 36 - }, - "id": 124, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [] - }, - "pluginVersion": "8.3.4", - "targets": [ - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "rawQuery": true, - "refId": "A", - "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n\n\n \"hitRatio_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n\n \"hits_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n\n \"missesTrans_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n\n \"missesPermis_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&req_avg\",\n \"Min\":\"&req_min\",\n \"Max\":\"&req_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Hit Ratio\",\n \"Mean\": \"&hitRatio_avg\",\n \"Min\":\"&hitRatio_min\",\n \"Max\":\"&hitRatio_max\",\n \"Units\":\"pct\"\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&hits_avg\",\n \"Min\":\"&hits_min\",\n \"Max\":\"&hits_max\",\n \"Units\":{ \"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Translation)\",\n \"Mean\": \"&missesTrans_avg\",\n \"Min\":\"&missesTrans_min\",\n \"Max\":\"&missesTrans_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Permission)\",\n \"Mean\": \"&missesPermis_avg\",\n \"Min\":\"&missesPermis_min\",\n \"Max\":\"&missesPermis_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - }, - { - "datasource": { - "type": "amd-miperf-data-plugin", - "uid": "Zzw1yR27k" - }, - "hide": false, - "rawQuery": true, - "refId": "B", - "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n\n\n \"hitRatio_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n\n \"hits_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n\n \"missesTrans_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n\n \"missesPermis_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&req_avg\",\n \"Min\":\"&req_min\",\n \"Max\":\"&req_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Hit Ratio\",\n \"Mean\": \"&hitRatio_avg\",\n \"Min\":\"&hitRatio_min\",\n \"Max\":\"&hitRatio_max\",\n \"Units\":\"pct\"\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&hits_avg\",\n \"Min\":\"&hits_min\",\n \"Max\":\"&hits_max\",\n \"Units\":{ \"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Translation)\",\n \"Mean\": \"&missesTrans_avg\",\n \"Min\":\"&missesTrans_min\",\n \"Max\":\"&missesTrans_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Permission)\",\n \"Mean\": \"&missesPermis_avg\",\n \"Min\":\"&missesPermis_min\",\n \"Max\":\"&missesPermis_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", - "type": "table" - } - ], - "title": "Vector L1D Addr Translation", - "transformations": [ - { - "id": "concatenate", - "options": {} - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Metric 2": true, - "Units 2": true - }, - "indexByName": { - "Max 1": 7, - "Max 2": 8, - "Mean 1": 3, - "Mean 2": 4, - "Metric 1": 0, - "Metric 2": 1, - "Min 1": 5, - "Min 2": 6, - "Units 1": 9, - "Units 2": 2 - }, - "renameByName": { - "Max 1": "Max (Current)", - "Max 2": "Max (Baseline)", - "Mean 1": "Avg (Current)", - "Mean 2": "Avg (Baseline)", - "Min 1": "Min (Current)", - "Min 2": "Min (Baseline)" - } - } - } - ], - "type": "table" - } - ], + "panels": [], "targets": [ { "datasource": { @@ -7714,6 +6988,726 @@ "title": "Vector L1 Data Cache", "type": "row" }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 15 + }, + "id": 165, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"bufferCoalescing_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_ACCESSES_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TA_TOTAL_WAVEFRONTS_sum\", 64, 100]}, {\"$multiply\": [\"&TCP_TOTAL_ACCESSES_sum\", 4]}] },\n null\n ]\n }\n },\n \"cacheUtil_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TCP_GATE_EN2_sum\", 100]}, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }\n },\n \n \"cacheBW_pct\": {\n \"$avg\": { \"$divide\": [ {\"$multiply\":[64, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"]}, \n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} \n ] \n }\n },\n \"cacheHit_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0] },\n { \"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]\n }] \n },\n null\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Buffer Coalescing\": \"&bufferCoalescing_pct\",\n \"Cache Util\": \"&cacheUtil_pct\",\n \"Cache BW\": { \"$divide\": [{ \"$multiply\": [100, \"&cacheBW_pct\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk, 1000] }, 64] }, $numCU]}] },\n \"Cache Hit\": \"&cacheHit_pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"bufferCoalescing_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_ACCESSES_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TA_TOTAL_WAVEFRONTS_sum\", 64, 100]}, {\"$multiply\": [\"&TCP_TOTAL_ACCESSES_sum\", 4]}] },\n null\n ]\n }\n },\n \"cacheUtil_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0] },\n { \"$divide\": [{\"$multiply\": [\"&TCP_GATE_EN2_sum\", 100]}, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }\n },\n \"cacheBW_pct\": {\n \"$avg\": { \"$divide\": [ {\"$multiply\":[64, \"&TCP_TOTAL_CACHE_ACCESSES_sum\"]}, \n {\"$subtract\":[\"&EndNs\", \"&BeginNs\"]} \n ] \n }\n },\n \"cacheHit_pct\": {\n \"$avg\": {\n \"$cond\": [ {\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0] },\n { \"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]\n }] \n },\n null\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Buffer Coalescing\": \"&bufferCoalescing_pct\",\n \"Cache Util\": \"&cacheUtil_pct\",\n \"Cache BW\": { \"$divide\": [{ \"$multiply\": [100, \"&cacheBW_pct\"] }, { \"$multiply\": [ { \"$multiply\": [{ \"$divide\": [$sclk2, 1000] }, 64] }, $numCU2]}] },\n \"Cache Hit\": \"&cacheHit_pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Speed-of-Light: Vector L1D Cache", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "128B Read Combining 1": 6, + "128B Read Combining 2": 7, + "Buffer Coalescing 1": 0, + "Buffer Coalescing 2": 1, + "Cache BW 1": 2, + "Cache BW 2": 3, + "Cache Hit 1": 4, + "Cache Hit 2": 5 + }, + "renameByName": { + "128B Read Combining 1": "128B Read Combining (Current)", + "128B Read Combining 2": "128B Read Combining(Baseline)", + "Buffer Coalescing 1": "Buf Coalescing (Current)", + "Buffer Coalescing 2": "Buf Coalescing (Baseline)", + "Cache BW 1": "Cache BW (Current)", + "Cache BW 2": "Cache BW (Baseline)", + "Cache Hit 1": "Cache Hit (Current)", + "Cache Hit 2": "Cache Hit (Baseline)", + "Cache Util 1": "Cache Util (Current)", + "Cache Util 2": "Cache Util (Baseline)" + } + } + } + ], + "transparent": true, + "type": "bargauge" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "color-background" + }, + "decimals": 1, + "mappings": [], + "max": 100, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "transparent", + "value": null + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 52 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Metric" + }, + "properties": [ + { + "id": "custom.width", + "value": 199 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 121 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 144 + } + ] + } + ] + }, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 15 + }, + "id": 116, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"l2Pending_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n\n\n \"tcr2tcp_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \"readTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \n \"writeTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \n \"atomicTagRam_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }} \n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Stalled on L2 Data\",\n \"Mean\": \"&l2Pending_avg\",\n \"Min\": \"&l2Pending_min\",\n \"Max\": \"&l2Pending_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Stalled on L2 Req\",\n \"Mean\": \"&tcr2tcp_Stall_avg\",\n \"Min\":\"&tcr2tcp_Stall_min\",\n \"Max\":\"&tcr2tcp_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Read)\",\n \"Mean\": \"&readTagRam_Stall_avg\",\n \"Min\": \"&readTagRam_Stall_min\",\n \"Max\": \"&readTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Write)\",\n \"Mean\": \"&writeTagRam_Stall_avg\",\n \"Min\": \"&writeTagRam_Stall_min\",\n \"Max\": \"&writeTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Atomic)\",\n \"Mean\": \"&atomicTagRam_Stall_avg\",\n \"Min\": \"&atomicTagRam_Stall_min\",\n \"Max\": \"&atomicTagRam_Stall_max\",\n \"unit\":\"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$group\": {\n \"_id\": null,\n\n \"l2Pending_avg\": {\"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_min\": {\"$min\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"l2Pending_max\": {\"$max\": {\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_PENDING_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n\n \"tcr2tcp_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"tcr2tcp_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_TCR_TCP_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \"readTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \"readTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_READ_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"]},\n null\n ]\n }},\n \n \"writeTagRam_Stall_avg\": {\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_min\": {\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \"writeTagRam_Stall_max\": {\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }},\n \n \n \"atomicTagRam_Stall_avg\":{\"$avg\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_min\":{\"$min\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }}, \n \"atomicTagRam_Stall_max\":{\"$max\":{\n \"$cond\":[\n {\"$ne\": [\"&TCP_GATE_EN1_sum\", 0]}, \n {\"$divide\": [ { \"$multiply\": [100, \"&TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum\"] }, \"&TCP_GATE_EN1_sum\"] },\n null\n ]\n }} \n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Stalled on L2 Data\",\n \"Mean\": \"&l2Pending_avg\",\n \"Min\": \"&l2Pending_min\",\n \"Max\": \"&l2Pending_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Stalled on L2 Req\",\n \"Mean\": \"&tcr2tcp_Stall_avg\",\n \"Min\":\"&tcr2tcp_Stall_min\",\n \"Max\":\"&tcr2tcp_Stall_max\",\n \"unit\":\"pct\"\n },\n\n {\n \"Metric\": \"Tag RAM Stall (Read)\",\n \"Mean\": \"&readTagRam_Stall_avg\",\n \"Min\": \"&readTagRam_Stall_min\",\n \"Max\": \"&readTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Write)\",\n \"Mean\": \"&writeTagRam_Stall_avg\",\n \"Min\": \"&writeTagRam_Stall_min\",\n \"Max\": \"&writeTagRam_Stall_max\",\n \"unit\":\"pct\"\n },\n {\n \"Metric\": \"Tag RAM Stall (Atomic)\",\n \"Mean\": \"&atomicTagRam_Stall_avg\",\n \"Min\": \"&atomicTagRam_Stall_min\",\n \"Max\": \"&atomicTagRam_Stall_max\",\n \"unit\":\"pct\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D Cache Stalls", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Units 2": true, + "unit 2": true + }, + "indexByName": { + "Max 1": 6, + "Max 2": 7, + "Mean 1": 2, + "Mean 2": 3, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 4, + "Min 2": 5, + "unit 1": 9, + "unit 2": 8 + }, + "renameByName": { + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Mean 1": "Avg (Current)", + "Mean 2": "Avg (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)", + "unit 1": "Unit" + } + } + } + ], + "type": "table" + }, + { + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Unit" + }, + "properties": [ + { + "id": "custom.width", + "value": 116 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 78 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 139 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max (Current)" + }, + "properties": [ + { + "id": "custom.width", + "value": 50 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "custom.width", + "value": 148 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Avg (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 127 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min (Baseline)" + }, + "properties": [ + { + "id": "custom.width", + "value": 111 + } + ] + } + ] + }, + "gridPos": { + "h": 18, + "w": 12, + "x": 0, + "y": 28 + }, + "id": 128, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n\n \"totalReq_avg\":{\"$avg\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_min\":{\"$min\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_max\":{\"$max\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n\n \"cacheBW_avg\":{\"$avg\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }},\n \"cacheBW_min\":{\"$min\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }},\n \"cacheBW_max\":{\"$max\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }},\n \n \"cacheAccess_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n\n \"cacheHits_avg\":{\"$avg\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_min\":{\"$min\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_max\":{\"$max\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \n \"cacheHitRate_avg\":{\"$avg\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_min\":{\"$min\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_max\":{\"$max\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \n \"l2_l1_read_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2_l1_read_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2_l1_read_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n\n \"l2_l1_write_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2_l1_write_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2_l1_write_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n\n\n \"l2_l1_atomic_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2_l1_atomic_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2_l1_atomic_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n\n \"l2_l1_bw_avg\":{\"$avg\": {\"$divide\": [{\"$multiply\": [64, {\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] } ]}, \"&denom\" ]}},\n \"l2_l1_bw_min\":{\"$min\": {\"$divide\": [{\"$multiply\": [64, {\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] } ]}, \"&denom\" ]}},\n \"l2_l1_bw_max\":{\"$max\": {\"$divide\": [{\"$multiply\": [64, {\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] } ]}, \"&denom\" ]}},\n\n \"invalidate_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n\n\n \"l1Latency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n\n\n \"l2ReadLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n\n \"l2WriteLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }}\n\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Total Req\",\n \"avg\": \"&totalReq_avg\",\n \"min\": \"&totalReq_min\",\n \"max\": \"&totalReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&l2_l1_atomic_avg\",\n \"min\": \"&l2_l1_atomic_min\",\n \"max\": \"&l2_l1_atomic_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache BW\",\n \"avg\": \"&cacheBW_avg\",\n \"min\": \"&cacheBW_min\",\n \"max\": \"&cacheBW_max\",\n \"Unit\": \"GB/s\"\n },\n {\n \"metric\": \"Cache Accesses\",\n \"avg\": \"&cacheAccess_avg\",\n \"min\": \"&cacheAccess_min\",\n \"max\": \"&cacheAccess_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hits\",\n \"avg\": \"&cacheHits_avg\",\n \"min\": \"&cacheHits_min\",\n \"max\": \"&cacheHits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit Rate\",\n \"avg\": \"&cacheHitRate_avg\",\n \"min\": \"&cacheHitRate_min\",\n \"max\": \"&cacheHitRate_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Invalidate\",\n \"avg\": \"&invalidate_avg\",\n \"min\": \"&invalidate_min\",\n \"max\": \"&invalidate_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 BW\",\n \"avg\": \"&l2_l1_bw_avg\",\n \"min\": \"&l2_l1_bw_avg\",\n \"max\": \"&l2_l1_bw_avg\",\n \"Unit\": {\"$concat\": [\"Bytes \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Read\",\n \"avg\": \"&l2_l1_read_avg\",\n \"min\": \"&l2_l1_read_min\",\n \"max\": \"&l2_l1_read_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Write\",\n \"avg\": \"&l2_l1_write_avg\",\n \"min\": \"&l2_l1_write_min\",\n \"max\": \"&l2_l1_write_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Atomic\",\n \"avg\": \"&l2_l1_atomic_avg\",\n \"min\": \"&l2_l1_atomic_min\",\n \"max\": \"&l2_l1_atomic_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1 Access Latency\",\n \"avg\": \"&l1Latency_avg\",\n \"min\": \"&l1Latency_min\",\n \"max\": \"&l1Latency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Read Latency\",\n \"avg\": \"&l2ReadLatency_avg\",\n \"min\": \"&l2ReadLatency_min\",\n \"max\": \"&l2ReadLatency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Write Latency\",\n \"avg\": \"&l2WriteLatency_avg\",\n \"min\": \"&l2WriteLatency_min\",\n \"max\": \"&l2WriteLatency_max\",\n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n\n \"totalReq_avg\":{\"$avg\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_min\":{\"$min\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n \"totalReq_max\":{\"$max\": { \"$divide\": [ \"&TCP_TOTAL_ACCESSES_sum\", \"&denom\" ] }},\n\n \"readReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n \"readReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_READ_sum\", \"&denom\" ] }},\n\n \"writeReq_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n \"writeReq_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITE_sum\", \"&denom\" ]}},\n\n \"atomicReq_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n \"atomicReq_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TOTAL_ATOMIC_WITH_RET_sum\", \"&TCP_TOTAL_ATOMIC_WITHOUT_RET_sum\"] }, \"&denom\"]}},\n\n \"cacheBW_avg\":{\"$avg\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }},\n \"cacheBW_min\":{\"$min\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }},\n \"cacheBW_max\":{\"$max\": { \"$divide\": [{ \"$multiply\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 64 ] }, { \"$subtract\": [\"&EndNs\", \"&BeginNs\"] } ] }},\n \n \"cacheAccess_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n \"cacheAccess_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \"&denom\"]}},\n\n \"cacheHits_avg\":{\"$avg\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_min\":{\"$min\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \"cacheHits_max\":{\"$max\": {\"$divide\": [ \n { \"$subtract\": [\n \"&TCP_TOTAL_CACHE_ACCESSES_sum\", \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}\n ]}, \n \"&denom\"\n ]}\n },\n \n \"cacheHitRate_avg\":{\"$avg\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_min\":{\"$min\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n \"cacheHitRate_max\":{\"$max\": {\n \"$cond\": [{\"$ne\": [\"&TCP_TOTAL_CACHE_ACCESSES_sum\", 0]}, \n {\"$subtract\": [100, \n { \"$divide\": [ \n { \"$multiply\": [100, \n { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }\n ] \n }, \n \"&TCP_TOTAL_CACHE_ACCESSES_sum\"\n ]}\n ]},\n null\n ]\n }},\n\n \"l2_l1_read_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2_l1_read_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n \"l2_l1_read_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_READ_REQ_sum\", \"&denom\"]}},\n\n \"l2_l1_write_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2_l1_write_min\":{\"$min\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n \"l2_l1_write_max\":{\"$max\": {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_sum\", \"&denom\"] }},\n\n\n \"l2_l1_atomic_avg\":{\"$avg\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2_l1_atomic_min\":{\"$min\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n \"l2_l1_atomic_max\":{\"$max\": {\"$divide\": [ { \"$add\": [\"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }, \"&denom\"] }},\n\n \"l2_l1_bw_avg\":{\"$avg\": {\"$divide\": [{\"$multiply\": [64, {\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] } ]}, \"&denom\" ]}},\n \"l2_l1_bw_min\":{\"$min\": {\"$divide\": [{\"$multiply\": [64, {\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] } ]}, \"&denom\" ]}},\n \"l2_l1_bw_max\":{\"$max\": {\"$divide\": [{\"$multiply\": [64, {\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] } ]}, \"&denom\" ]}},\n\n \"invalidate_avg\":{\"$avg\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_min\":{\"$min\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n \"invalidate_max\":{\"$max\": {\"$divide\": [ \"&TCP_TOTAL_WRITEBACK_INVALIDATES_sum\", \"&denom\"] }},\n\n\n \"l1Latency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n \"l1Latency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_TA_TCP_STATE_READ_sum\", 0]},\n {\"$divide\": [ \"&TCP_TCP_LATENCY_sum\", \"&TCP_TA_TCP_STATE_READ_sum\" ]},\n null\n ] \n }},\n\n\n \"l2ReadLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n \"l2ReadLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_READ_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_READ_REQ_sum\", \"&TCP_TCC_ATOMIC_WITH_RET_REQ_sum\"] }]},\n null\n ] \n }},\n\n \"l2WriteLatency_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }},\n \"l2WriteLatency_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [{\"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"]}, 0]},\n {\"$divide\": [ \"&TCP_TCC_WRITE_REQ_LATENCY_sum\", { \"$add\": [\"&TCP_TCC_WRITE_REQ_sum\", \"&TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum\"] }]},\n null\n ]\n }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"metric\": \"Total Req\",\n \"avg\": \"&totalReq_avg\",\n \"min\": \"&totalReq_min\",\n \"max\": \"&totalReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Read Req\",\n \"avg\": \"&readReq_avg\",\n \"min\": \"&readReq_min\",\n \"max\": \"&readReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Write Req\",\n \"avg\": \"&writeReq_avg\",\n \"min\": \"&writeReq_min\",\n \"max\": \"&writeReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Atomic Req\",\n \"avg\": \"&atomicReq_avg\",\n \"min\": \"&atomicReq_min\",\n \"max\": \"&atomicReq_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache BW\",\n \"avg\": \"&cacheBW_avg\",\n \"min\": \"&cacheBW_min\",\n \"max\": \"&cacheBW_max\",\n \"Unit\": \"GB/s\"\n },\n {\n \"metric\": \"Cache Accesses\",\n \"avg\": \"&cacheAccess_avg\",\n \"min\": \"&cacheAccess_min\",\n \"max\": \"&cacheAccess_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hits\",\n \"avg\": \"&cacheHits_avg\",\n \"min\": \"&cacheHits_min\",\n \"max\": \"&cacheHits_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"Cache Hit Rate\",\n \"avg\": \"&cacheHitRate_avg\",\n \"min\": \"&cacheHitRate_min\",\n \"max\": \"&cacheHitRate_max\",\n \"Unit\": \"pct\"\n },\n {\n \"metric\": \"Invalidate\",\n \"avg\": \"&invalidate_avg\",\n \"min\": \"&invalidate_min\",\n \"max\": \"&invalidate_max\",\n \"Unit\": {\"$concat\": [\"\", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 BW\",\n \"avg\": \"&l2_l1_bw_avg\",\n \"min\": \"&l2_l1_bw_avg\",\n \"max\": \"&l2_l1_bw_avg\",\n \"Unit\": {\"$concat\": [\"Bytes \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Read\",\n \"avg\": \"&l2_l1_read_avg\",\n \"min\": \"&l2_l1_read_min\",\n \"max\": \"&l2_l1_read_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Write\",\n \"avg\": \"&l2_l1_write_avg\",\n \"min\": \"&l2_l1_write_min\",\n \"max\": \"&l2_l1_write_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1-L2 Atomic\",\n \"avg\": \"&l2_l1_atomic_avg\",\n \"min\": \"&l2_l1_atomic_min\",\n \"max\": \"&l2_l1_atomic_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"metric\": \"L1 Access Latency\",\n \"avg\": \"&l1Latency_avg\",\n \"min\": \"&l1Latency_min\",\n \"max\": \"&l1Latency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Read Latency\",\n \"avg\": \"&l2ReadLatency_avg\",\n \"min\": \"&l2ReadLatency_min\",\n \"max\": \"&l2ReadLatency_max\",\n \"Unit\": \"Cycles\"\n },\n {\n \"metric\": \"L1-L2 Write Latency\",\n \"avg\": \"&l2WriteLatency_avg\",\n \"min\": \"&l2WriteLatency_min\",\n \"max\": \"&l2WriteLatency_max\",\n \"Unit\": \"Cycles\"\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D Cache Accesses", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Unit 2": true, + "metric 2": true + }, + "indexByName": { + "Unit 1": 9, + "Unit 2": 8, + "avg 1": 1, + "avg 2": 2, + "max 1": 5, + "max 2": 6, + "metric 1": 0, + "metric 2": 7, + "min 1": 3, + "min 2": 4 + }, + "renameByName": { + "avg 1": "Avg (Current)", + "avg 2": "Avg (Baseline)", + "max 1": "Max (Current)", + "max 2": "Max (Baseline)", + "min 1": "Min (Current)", + "min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, + { + "Aggregate": "last", + "BarPadding": 30, + "BaseLineColor": "#ff0000", + "BaseLineWidth": 1, + "CurveType": "Monotone", + "DateFormat": "YYYY-MM-DD HH:mm:ss", + "DateTimeColName": "date", + "DotColor": "white", + "DotSize": 10, + "EvenRowColor": "rgba(61, 61, 64, 0.78)", + "FlashHighLimitBar": false, + "FlashLowLimitBar": false, + "GroupColName": "Coherency", + "GroupCols": 2, + "GroupGap": 5, + "GroupLabelColor": "#FF9830", + "GroupLabelFontSize": "100%", + "GroupNameFilter": "", + "GroupRenamingRules": [], + "GroupSortString": "", + "HighAxisColor": "#ffffff", + "HighAxisWidth": 1, + "HighBarColor": "rgb(120, 128, 0)", + "HighLimitBarColor": "#ff0000", + "HighLimitBarFlashColor": "#ffa500", + "HighLimitBarFlashTimeout": 1000, + "HighLimitLineColor": "#ff0000", + "HighLmitLineWidth": 1, + "HighSideMargin": 0, + "Horizontal": true, + "LabelColName": "Xfer", + "LabelColor": "#ffffff", + "LabelFontSize": "100%", + "LabelNameFilter": "", + "LabelRenamingRules": [], + "LableAngle": 0, + "Legend": false, + "LineColor": "blue", + "LineWidth": 5, + "Links": [], + "LowAxisColor": "#ffffff", + "LowAxisWidth": 1, + "LowBarColor": "teal", + "LowLimitBarColor": "#ff0000", + "LowLimitBarFlashColor": "#ffa500", + "LowLimitBarFlashTimeout": 200, + "LowLimitLineColor": "#ff0000", + "LowLmitLineWidth": 1, + "LowSideMargin": 0, + "MaxLineColor": "rgb(74, 232, 12)", + "MaxLineWidth": 1, + "MinLineColor": "#ff0000", + "MinLineWidth": 1, + "MultiBarPadding": 10, + "OddRowColor": "rgba(33, 33, 34, 0.92)", + "OutOfRangeLabelColor": "#ffffff", + "OutlineColor": "rgba(245, 255, 0, 0.1)", + "RecolorHighLimitBar": false, + "RecolorLowLimitBar": false, + "RecolorRules": [], + "ScaleFactor": 1, + "ShowBars": true, + "ShowBaseLine": false, + "ShowDate": false, + "ShowGroupLabels": true, + "ShowHighLimitLine": false, + "ShowLabels": true, + "ShowLeftAxis": true, + "ShowLines": false, + "ShowLowLimitLine": false, + "ShowMaxLine": false, + "ShowMinLine": false, + "ShowRightAxis": true, + "ShowValues": true, + "SortColName": "value", + "SortDirection": "ascending", + "TZOffsetHours": 0, + "ToolTipFontSize": "100%", + "ToolTipType": "", + "TooltipDateFormat": "YYYY-MM-DD HH:mm:ss", + "VGroupGap": 5, + "ValueColName": "", + "ValueColor": "#FADE2A", + "ValueDecimals": 0, + "ValueFontSize": "100%", + "ValuePosition": "top", + "Values": [ + { + "$$hashKey": "object:172", + "Col": 2, + "HighBarColor": "rgb(120, 128, 0)", + "LowBarColor": "teal", + "Name": "Mean", + "Selected": true + } + ], + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 28 + }, + "id": 120, + "pluginVersion": "8.2.1", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "tlh8EwUnk" + }, + "rawQuery": true, + "refId": "A", + "target": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n\n {\"$group\": {\n \"_id\": null,\n\n \"readNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \"readRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_READ_REQ_sum\", \"&denom\"] }\n },\n \n \"writeNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \"writeRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_WRITE_REQ_sum\", \"&denom\"] }\n },\n \n \"atomicNC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicNC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicNC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_NC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicUC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_UC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicCC_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_CC_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_avg\": {\n \"$avg\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_min\": {\n \"$min\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n },\n \"atomicRW_max\": {\n \"$max\": { \"$divide\": [\"&TCP_TCC_RW_ATOMIC_REQ_sum\", \"&denom\"] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&readNC_avg\",\n \"Min\": \"&readNC_min\",\n \"Max\": \"&readNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&readUC_avg\",\n \"Min\": \"&readUC_min\",\n \"Max\": \"&readUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&readCC_avg\",\n \"Min\": \"&readCC_min\",\n \"Max\": \"&readCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Read\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&readRW_avg\",\n \"Min\": \"&readRW_min\",\n \"Max\": \"&readRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&writeRW_avg\",\n \"Min\": \"&writeRW_min\",\n \"Max\": \"&writeRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&writeNC_avg\",\n \"Min\": \"&writeNC_min\",\n \"Max\": \"&writeNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&writeUC_avg\",\n \"Min\": \"&writeUC_min\",\n \"Max\": \"&writeUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Write\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&writeCC_avg\",\n \"Min\": \"&writeCC_min\",\n \"Max\": \"&writeCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"NC\",\n \"Mean\": \"&atomicNC_avg\",\n \"Min\": \"&atomicNC_min\",\n \"Max\": \"&atomicNC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"UC\",\n \"Mean\": \"&atomicUC_avg\",\n \"Min\": \"&atomicUC_min\",\n \"Max\": \"&atomicUC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"CC\",\n \"Mean\": \"&atomicCC_avg\",\n \"Min\": \"&atomicCC_min\",\n \"Max\": \"&atomicCC_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n },\n {\n \"Xfer\": \"Atomic\",\n \"Coherency\": \"RW\",\n \"Mean\": \"&atomicRW_avg\",\n \"Min\": \"&atomicRW_min\",\n \"Max\": \"&atomicRW_max\",\n \"Unit\": {\"$concat\": [\"Req \", $normUnit]}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D - L2 Transactions Req $normUnit", + "transparent": true, + "type": "michaeldmoore-multistat-panel" + }, + { + "datasource": {}, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Units" + }, + "properties": [ + { + "id": "custom.width", + "value": 75 + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 36 + }, + "id": 124, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "rawQuery": true, + "refId": "A", + "target": "${Workload1}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n\n\n \"hitRatio_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n\n \"hits_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n\n \"missesTrans_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n\n \"missesPermis_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&req_avg\",\n \"Min\":\"&req_min\",\n \"Max\":\"&req_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Hit Ratio\",\n \"Mean\": \"&hitRatio_avg\",\n \"Min\":\"&hitRatio_min\",\n \"Max\":\"&hitRatio_max\",\n \"Units\":\"pct\"\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&hits_avg\",\n \"Min\":\"&hits_min\",\n \"Max\":\"&hits_max\",\n \"Units\":{ \"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Translation)\",\n \"Mean\": \"&missesTrans_avg\",\n \"Min\":\"&missesTrans_min\",\n \"Max\":\"&missesTrans_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Permission)\",\n \"Mean\": \"&missesPermis_avg\",\n \"Min\":\"&missesPermis_min\",\n \"Max\":\"&missesPermis_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + }, + { + "datasource": { + "type": "amd-miperf-data-plugin", + "uid": "Zzw1yR27k" + }, + "hide": false, + "rawQuery": true, + "refId": "B", + "target": "${Workload2}.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter2:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter2:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter2:json}},\n \"$expr\":{\"$regexMatch\": {\"input\":\"${select}\",\"regex\":\"(Vector L1D Cache)\"}}\n }},\n {\"$addFields\": {\n \"denom\": {\n \"$switch\" : {\n \"branches\": [\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Wave\"]} ,\n \"then\": \"&SQ_WAVES\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Cycle\"]} ,\n \"then\": \"&GRBM_GUI_ACTIVE\"\n },\n {\n \"case\": { \"$eq\": [ $normUnit, \"per Sec\"]} ,\n \"then\": {\"$divide\":[{\"$subtract\": [\"&EndNs\", \"&BeginNs\" ]}, 1000000000]}\n }\n ],\n \"default\": 1\n } \n } \n }},\n {\"$group\": {\n \"_id\": null,\n \"req_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n \"req_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_REQUEST_sum\" ,\"&denom\"] }},\n\n\n \"hitRatio_avg\":{\"$avg\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_min\":{\"$min\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n \"hitRatio_max\":{\"$max\": {\n \"$cond\": [\n {\"$ne\": [\"&TCP_UTCL1_REQUEST_sum\", 0]},\n {\"$divide\": [{ \"$multiply\": [100, \"&TCP_UTCL1_TRANSLATION_HIT_sum\"] },\"&TCP_UTCL1_REQUEST_sum\"]},\n null\n ]\n }},\n\n \"hits_avg\":{\"$avg\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_min\":{\"$min\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n \"hits_max\":{\"$max\": { \"$divide\": [\"&TCP_UTCL1_TRANSLATION_HIT_sum\" ,\"&denom\"] }},\n\n \"missesTrans_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n \"missesTrans_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_TRANSLATION_MISS_sum\" ,\"&denom\"] }},\n\n \"missesPermis_avg\":{\"$avg\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_min\":{\"$min\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }},\n \"missesPermis_max\":{\"$max\": {\"$divide\": [\"&TCP_UTCL1_PERMISSION_MISS_sum\" ,\"&denom\"] }}\n\n }},\n {\"$set\": {\n \"array\": [\n {\n \"Metric\": \"Req\",\n \"Mean\": \"&req_avg\",\n \"Min\":\"&req_min\",\n \"Max\":\"&req_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Hit Ratio\",\n \"Mean\": \"&hitRatio_avg\",\n \"Min\":\"&hitRatio_min\",\n \"Max\":\"&hitRatio_max\",\n \"Units\":\"pct\"\n },\n {\n \"Metric\": \"Hits\",\n \"Mean\": \"&hits_avg\",\n \"Min\":\"&hits_min\",\n \"Max\":\"&hits_max\",\n \"Units\":{ \"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Translation)\",\n \"Mean\": \"&missesTrans_avg\",\n \"Min\":\"&missesTrans_min\",\n \"Max\":\"&missesTrans_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n },\n {\n \"Metric\": \"Misses (Permission)\",\n \"Mean\": \"&missesPermis_avg\",\n \"Min\":\"&missesPermis_min\",\n \"Max\":\"&missesPermis_max\",\n \"Units\":{\"$concat\": [\"\", $normUnit] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", + "type": "table" + } + ], + "title": "Vector L1D Addr Translation", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Metric 2": true, + "Units 2": true + }, + "indexByName": { + "Max 1": 7, + "Max 2": 8, + "Mean 1": 3, + "Mean 2": 4, + "Metric 1": 0, + "Metric 2": 1, + "Min 1": 5, + "Min 2": 6, + "Units 1": 9, + "Units 2": 2 + }, + "renameByName": { + "Max 1": "Max (Current)", + "Max 2": "Max (Baseline)", + "Mean 1": "Avg (Current)", + "Mean 2": "Avg (Baseline)", + "Min 1": "Min (Current)", + "Min 2": "Min (Baseline)" + } + } + } + ], + "type": "table" + }, { "collapsed": true, "datasource": { @@ -7724,7 +7718,7 @@ "h": 1, "w": 24, "x": 0, - "y": 15 + "y": 46 }, "id": 56, "panels": [ @@ -7902,7 +7896,7 @@ "h": 7, "w": 12, "x": 0, - "y": 16 + "y": 47 }, "id": 64, "options": { @@ -8057,7 +8051,7 @@ "h": 16, "w": 12, "x": 12, - "y": 16 + "y": 47 }, "id": 62, "options": { @@ -8227,7 +8221,7 @@ "h": 20, "w": 12, "x": 0, - "y": 23 + "y": 54 }, "id": 58, "options": { @@ -8405,7 +8399,7 @@ "h": 7, "w": 12, "x": 12, - "y": 32 + "y": 63 }, "id": 60, "targets": [ @@ -8447,7 +8441,7 @@ "h": 1, "w": 24, "x": 0, - "y": 16 + "y": 47 }, "id": 66, "panels": [ @@ -12744,9 +12738,9 @@ }, { "current": { - "selected": true, - "text": "omniperf_aasg_vcopy_all_mi200", - "value": "omniperf_aasg_vcopy_all_mi200" + "selected": false, + "text": "miperf_ast_reproducer_swatomics_mi200", + "value": "miperf_ast_reproducer_swatomics_mi200" }, "definition": "workload_names.names.aggregate([\n {\"$group\": {\n \"_id\": \"&name\"\n }}\n]);", "hide": 0, @@ -12765,8 +12759,8 @@ { "current": { "selected": false, - "text": "579909", - "value": "579909" + "text": "1528823703", + "value": "1528823703" }, "definition": "$Workload1.pmc_perf.aggregate([\n{\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n\n {\"$group\": {\n \"_id\": null,\n \"myAvg\": {\n \"$avg\": { \"$multiply\": [{ \"$divide\": [{ \"$subtract\": [\"&EndNs\", \"&BeginNs\"] }, 1000] }, $sclk] }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": { \"$round\": [\"&myAvg\", 0] }\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"&array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"&array\"\n }}\n]);", "hide": 2, @@ -12785,8 +12779,8 @@ { "current": { "selected": false, - "text": "58", - "value": "58" + "text": "110", + "value": "110" }, "definition": "$Workload1.pmc_perf.aggregate([\n {\"$match\": {\n \"Index\": { \"$in\": [${DispatchIDFilter:raw}] },\n \"gpu-id\": { \"$in\": [${gpuFilter:raw}] },\n \"KernelName\": { \"$in\": ${KernelNameFilter:json}}\n }},\n {\"$group\": {\n \"_id\": null,\n \"theAvg\": {\n \"$avg\": {\n \"$cond\":[\n {\"$ne\": [\"&GRBM_GUI_ACTIVE\", 0]},\n {\"$divide\": [{ \"$multiply\": [4, \"&SQ_BUSY_CU_CYCLES\"] }, \"&GRBM_GUI_ACTIVE\"]},\n \"\"\n ]\n }\n }\n }},\n {\"$set\": {\n \"array\": [\n {\n \"_id\": {\"$toInt\": { \"$min\": [{ \"$add\": [{ \"$multiply\": [{ \"$divide\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU] },8] }, { \"$min\": [{ \"$mod\": [{ \"$round\": [\"$theAvg\", 0] }, $maxWavesPerCU] }, 8] }] }, $numCU] }}\n }\n ]\n }},\n {\"$unwind\": {\n \"path\": \"$array\"\n }},\n {\"$replaceRoot\": {\n \"newRoot\": \"$array\"\n }}\n]);", "hide": 2, @@ -13330,8 +13324,8 @@ }, "timepicker": {}, "timezone": "", - "title": "Omniperf_v1.0.3_pub", - "uid": "MIPerf_v1_0_063020221", - "version": 4, + "title": "Omniperf_v1.0.5_pub", + "uid": "MIPerf_v1_0_0630202211", + "version": 3, "weekStart": "" } \ No newline at end of file diff --git a/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml index e7c3a12f44..a25e831de3 100644 --- a/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml +++ b/src/omniperf_analyze/configs/gfx906/1600_L1_cache.yaml @@ -175,7 +175,13 @@ Panel Config: max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) unit: ( + $normUnit) tips: - L1-TCR Read: + L1-L2 BW: + avg: AVG(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + min: MIN(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + max: MAX(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + unit: (Bytes + $normUnit) + tips: + L1-L2 Read: avg: AVG((TCP_TCC_READ_REQ_sum / $denom)) min: MIN((TCP_TCC_READ_REQ_sum / $denom)) max: MAX((TCP_TCC_READ_REQ_sum / $denom)) diff --git a/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml index 9dcc069529..f609ee86c2 100644 --- a/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml +++ b/src/omniperf_analyze/configs/gfx908/1600_L1_cache.yaml @@ -175,7 +175,13 @@ Panel Config: max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) unit: ( + $normUnit) tips: - L1-TCR Read: + L1-L2 BW: + avg: AVG(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + min: MIN(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + max: MAX(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + unit: (Bytes + $normUnit) + tips: + L1-L2 Read: avg: AVG((TCP_TCC_READ_REQ_sum / $denom)) min: MIN((TCP_TCC_READ_REQ_sum / $denom)) max: MAX((TCP_TCC_READ_REQ_sum / $denom)) diff --git a/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml b/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml index 87b5610ae3..acf0d58bd1 100644 --- a/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml +++ b/src/omniperf_analyze/configs/gfx90a/1600_L1_cache.yaml @@ -175,7 +175,13 @@ Panel Config: max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) unit: (Req + $normUnit) tips: - L1-TCR Read: + L1-L2 BW: + avg: AVG(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + min: MIN(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + max: MAX(((64 * (TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + unit: (Bytes + $normUnit) + tips: + L1-L2 Read: avg: AVG((TCP_TCC_READ_REQ_sum / $denom)) min: MIN((TCP_TCC_READ_REQ_sum / $denom)) max: MAX((TCP_TCC_READ_REQ_sum / $denom)) From efe6d9f19a7c5bc07a7731f5c604bdb4e44b362f Mon Sep 17 00:00:00 2001 From: colramos-amd Date: Tue, 6 Dec 2022 15:24:36 -0600 Subject: [PATCH 15/16] Throw a warning if unable to update timestamps Signed-off-by: colramos-amd --- src/omniperf | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/omniperf b/src/omniperf index 0b1119b822..cbff84634b 100755 --- a/src/omniperf +++ b/src/omniperf @@ -30,6 +30,7 @@ import glob import pandas as pd from datetime import datetime from pathlib import Path as path +import warnings from parser import parse from utils import specs @@ -115,11 +116,14 @@ def isWorkloadEmpty(my_parser, path): def replace_timestamps(workload_dir): df_stamps = pd.read_csv(workload_dir + "/timestamps.csv") - df_pmc_perf = pd.read_csv(workload_dir + "/pmc_perf.csv") + if "BeginNs" in df_stamps.columns and "EndNs" in df_stamps.columns: + df_pmc_perf = pd.read_csv(workload_dir + "/pmc_perf.csv") - df_pmc_perf["BeginNs"] = df_stamps["BeginNs"] - df_pmc_perf["EndNs"] = df_stamps["EndNs"] - df_pmc_perf.to_csv(workload_dir + "/pmc_perf.csv", index=False) + df_pmc_perf["BeginNs"] = df_stamps["BeginNs"] + df_pmc_perf["EndNs"] = df_stamps["EndNs"] + df_pmc_perf.to_csv(workload_dir + "/pmc_perf.csv", index=False) + else: + warnings.warn("WARNING: Incomplete profiling data detected. Unable to update timestamps.") def gen_sysinfo(workload_name, workload_dir, ip_blocks, app_cmd, skip_roof): From 9fa2d39f4a05f6d194b5a2d32958d420cedd5801 Mon Sep 17 00:00:00 2001 From: colramos425 Date: Mon, 12 Dec 2022 16:03:40 -0600 Subject: [PATCH 16/16] Using xml configs from rocprofiler Signed-off-by: colramos425 --- src/omniperf | 2 - src/perfmon_pub/gfx906_metrics.xml | 5248 ---------------------- src/perfmon_pub/gfx908_metrics.xml | 5731 ------------------------- src/perfmon_pub/gfx90a_metrics.xml | 5587 ------------------------ src/perfmon_pub/gfx9_metrics.xml | 5161 ---------------------- src/perfmon_pub/metrics.xml | 770 ---- src/perfmon_pub/mi100/pmc_ta_perf.txt | 18 +- src/perfmon_pub/mi200/pmc_ta_perf.txt | 16 +- src/perfmon_pub/mi50/pmc_ta_perf.txt | 18 +- 9 files changed, 8 insertions(+), 22543 deletions(-) delete mode 100644 src/perfmon_pub/gfx906_metrics.xml delete mode 100644 src/perfmon_pub/gfx908_metrics.xml delete mode 100644 src/perfmon_pub/gfx90a_metrics.xml delete mode 100644 src/perfmon_pub/gfx9_metrics.xml delete mode 100644 src/perfmon_pub/metrics.xml diff --git a/src/omniperf b/src/omniperf index cbff84634b..f32b7abbb5 100755 --- a/src/omniperf +++ b/src/omniperf @@ -319,8 +319,6 @@ def run_prof(fname, workload_dir, perfmon_dir, cmd, verbose): rocprof_cmd, "-i", fname, - "-m", - perfmon_dir + "/" + "metrics.xml", "--timestamp", "on", "-o", diff --git a/src/perfmon_pub/gfx906_metrics.xml b/src/perfmon_pub/gfx906_metrics.xml deleted file mode 100644 index d12d950cf4..0000000000 --- a/src/perfmon_pub/gfx906_metrics.xml +++ /dev/null @@ -1,5248 +0,0 @@ - - # CPC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # CPF counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GDS counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SPI counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SQ counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SX counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCP counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TD counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM_SE counters - - - - - - - - - - - - - - - - - # SDMA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ATCL2 counters - - - - - - - - - - - - - # MCVML2 counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ATC counters - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/perfmon_pub/gfx908_metrics.xml b/src/perfmon_pub/gfx908_metrics.xml deleted file mode 100644 index 8db51ecf9c..0000000000 --- a/src/perfmon_pub/gfx908_metrics.xml +++ /dev/null @@ -1,5731 +0,0 @@ - - # CPC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # CPF counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GDS counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SPI counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SQ counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SX counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCP counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TD counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM_SE counters - - - - - - - - - - - - - - - - - # SDMA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ATCL2 counters - - - - - - - - - - - - - # MCVML2 counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ATC counters - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/perfmon_pub/gfx90a_metrics.xml b/src/perfmon_pub/gfx90a_metrics.xml deleted file mode 100644 index eb06f2b14d..0000000000 --- a/src/perfmon_pub/gfx90a_metrics.xml +++ /dev/null @@ -1,5587 +0,0 @@ - - # CPC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # CPF counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GDS counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SPI counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SQ counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SX counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCP counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TD counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM_SE counters - - - - - - - - - - - - - - - - - # ATCL2 counters - - - - - - - - - - - - - # MCVML2 counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ATC counters - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/perfmon_pub/gfx9_metrics.xml b/src/perfmon_pub/gfx9_metrics.xml deleted file mode 100644 index f9767b3750..0000000000 --- a/src/perfmon_pub/gfx9_metrics.xml +++ /dev/null @@ -1,5161 +0,0 @@ - - # CPC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # CPF counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GDS counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SPI counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SQ counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SX counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCC counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TCP counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # TD counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GRBM_SE counters - - - - - - - - - - - - - - - - - # SDMA counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ATCL2 counters - - - - - - - - - - - - - # MCVML2 counters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ATC counters - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/perfmon_pub/metrics.xml b/src/perfmon_pub/metrics.xml deleted file mode 100644 index 4871eaf3ac..0000000000 --- a/src/perfmon_pub/metrics.xml +++ /dev/null @@ -1,770 +0,0 @@ -#include "gfx906_metrics.xml" -#include "gfx908_metrics.xml" -#include "gfx90a_metrics.xml" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #xlu - TA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #xlu -TD - - - - - - - - - - - - - - - - - - - - - - - #xlu -TCP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - # - # - - - - - # EA1 - - - - - - - - - - # both EA0 and EA1 should be included - - - - - - #xlu - TCC - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #xlu - TCP - - - - - #xlu - TCC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #xlu - TD - - - #xlu - TCP - - - - - - - - # GPUBusy The percentage of time GPU was busy. - - - # Wavefronts Total wavefronts. - - - # VALUInsts The average number of vector ALU instructions executed per work-item (affected by flow control). - - - # SALUInsts The average number of scalar ALU instructions executed per work-item (affected by flow control). - - - # VFetchInsts The average number of vector fetch instructions from the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that fetch from video memory. - - - # SFetchInsts The average number of scalar fetch instructions from the video memory executed per work-item (affected by flow control). - - - # VWriteInsts The average number of vector write instructions to the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that write to video memory. - - - # FlatVMemInsts The average number of FLAT instructions that read from or write to the video memory executed per work item (affected by flow control). Includes FLAT instructions that read from or write to scratch. - - - # LDSInsts The average number of LDS read or LDS write instructions executed per work item (affected by flow control). Excludes FLAT instructions that read from or write to LDS. - - - # FlatLDSInsts The average number of FLAT instructions that read or write to LDS executed per work item (affected by flow control). - - - # GDSInsts The average number of GDS read or GDS write instructions executed per work item (affected by flow control). - - - # FetchSize The total kilobytes fetched from the video memory. This is measured with all extra fetches and any cache or memory effects taken into account. - - - # WriteSize The total kilobytes written to the video memory. This is measured with all extra fetches and any cache or memory effects taken into account. - - - # MemWrites32B The total number of effective 32B write transactions to the memory - - - # MemUnitStalled The percentage of GPUTime the memory unit is stalled. Try reducing the number or size of fetches and writes if possible. Value range: 0% (optimal) to 100% (bad). - - - # WriteUnitStalled The percentage of GPUTime the Write unit is stalled. Value range: 0% to 100% (bad). - - - # ALUStalledByLDS The percentage of GPUTime ALU units are stalled by the LDS input queue being full or the output queue being not ready. If there are LDS bank conflicts, reduce them. Otherwise, try reducing the number of LDS accesses if possible. Value range: 0% (optimal) to 100% (bad). - - - # LDSBankConflict The percentage of GPUTime LDS is stalled by bank conflicts. Value range: 0% (optimal) to 100% (bad). - - - # High level stats - - - - - # ALU stats - - - - - - - - - - # Memory instr rates - - - - - # Memory subsystem stats - # ICache and ScalCache(DCache) stats - - - - - - # L1/L2 caches stats - - - - - - - # Memory latencies - - - # - # - - # DRAM bandwidth - - - - diff --git a/src/perfmon_pub/mi100/pmc_ta_perf.txt b/src/perfmon_pub/mi100/pmc_ta_perf.txt index 851f22400d..938076de7b 100644 --- a/src/perfmon_pub/mi100/pmc_ta_perf.txt +++ b/src/perfmon_pub/mi100/pmc_ta_perf.txt @@ -1,22 +1,11 @@ pmc: GRBM_COUNT GRBM_GUI_ACTIVE SQ_CYCLES SQ_BUSY_CYCLES SQ_BUSY_CU_CYCLES SQ_WAVES SQ_WAVE_CYCLES -pmc: TA_TA_BUSY_sum TA_SH_FIFO_BUSY_sum -pmc: TA_SH_FIFO_CMD_BUSY_sum TA_SH_FIFO_ADDR_BUSY_sum -pmc: TA_SH_FIFO_DATA_BUSY_sum TA_SH_FIFO_DATA_SFIFO_BUSY_sum -pmc: TA_SH_FIFO_DATA_TFIFO_BUSY_sum TA_SQ_TA_CMD_CYCLES_sum -pmc: TA_SP_TA_ADDR_CYCLES_sum TA_SP_TA_DATA_CYCLES_sum - - -# Starvation -pmc: TA_SH_FIFO_ADDR_STARVED_WHILE_BUSY_CYCLES_sum TA_SH_FIFO_CMD_STARVED_WHILE_BUSY_CYCLES_sum -pmc: TA_SH_FIFO_DATA_STARVED_WHILE_BUSY_CYCLES_sum TA_TA_SH_FIFO_STARVED_sum - - +pmc: TA_TA_BUSY_sum # buffer access pmc: TA_BUFFER_WAVEFRONTS_sum TA_BUFFER_READ_WAVEFRONTS_sum pmc: TA_BUFFER_WRITE_WAVEFRONTS_sum TA_BUFFER_ATOMIC_WAVEFRONTS_sum -pmc: TA_BUFFER_TOTAL_CYCLES_sum TA_BUFFER_COALESCABLE_WAVEFRONTS_sum +pmc: TA_BUFFER_TOTAL_CYCLES_sum pmc: TA_BUFFER_COALESCED_READ_CYCLES_sum TA_BUFFER_COALESCED_WRITE_CYCLES_sum @@ -26,8 +15,7 @@ pmc: TA_ADDR_STALLED_BY_TD_CYCLES_sum TA_DATA_STALLED_BY_TC_CYCLES_sum # flat accesses pmc: TA_FLAT_WAVEFRONTS_sum TA_FLAT_READ_WAVEFRONTS_sum -pmc: TA_FLAT_WRITE_WAVEFRONTS_sum TA_FLAT_ATOMIC_WAVEFRONTS_sum -pmc: TA_FLAT_COALESCEABLE_WAVEFRONTS_sum +pmc: TA_FLAT_WRITE_WAVEFRONTS_sum TA_FLAT_ATOMIC_WAVEFRONTS_sum range: diff --git a/src/perfmon_pub/mi200/pmc_ta_perf.txt b/src/perfmon_pub/mi200/pmc_ta_perf.txt index 851f22400d..45dc9d7bf1 100644 --- a/src/perfmon_pub/mi200/pmc_ta_perf.txt +++ b/src/perfmon_pub/mi200/pmc_ta_perf.txt @@ -1,22 +1,11 @@ pmc: GRBM_COUNT GRBM_GUI_ACTIVE SQ_CYCLES SQ_BUSY_CYCLES SQ_BUSY_CU_CYCLES SQ_WAVES SQ_WAVE_CYCLES -pmc: TA_TA_BUSY_sum TA_SH_FIFO_BUSY_sum -pmc: TA_SH_FIFO_CMD_BUSY_sum TA_SH_FIFO_ADDR_BUSY_sum -pmc: TA_SH_FIFO_DATA_BUSY_sum TA_SH_FIFO_DATA_SFIFO_BUSY_sum -pmc: TA_SH_FIFO_DATA_TFIFO_BUSY_sum TA_SQ_TA_CMD_CYCLES_sum -pmc: TA_SP_TA_ADDR_CYCLES_sum TA_SP_TA_DATA_CYCLES_sum - - -# Starvation -pmc: TA_SH_FIFO_ADDR_STARVED_WHILE_BUSY_CYCLES_sum TA_SH_FIFO_CMD_STARVED_WHILE_BUSY_CYCLES_sum -pmc: TA_SH_FIFO_DATA_STARVED_WHILE_BUSY_CYCLES_sum TA_TA_SH_FIFO_STARVED_sum - - +pmc: TA_TA_BUSY_sum # buffer access pmc: TA_BUFFER_WAVEFRONTS_sum TA_BUFFER_READ_WAVEFRONTS_sum pmc: TA_BUFFER_WRITE_WAVEFRONTS_sum TA_BUFFER_ATOMIC_WAVEFRONTS_sum -pmc: TA_BUFFER_TOTAL_CYCLES_sum TA_BUFFER_COALESCABLE_WAVEFRONTS_sum +pmc: TA_BUFFER_TOTAL_CYCLES_sum pmc: TA_BUFFER_COALESCED_READ_CYCLES_sum TA_BUFFER_COALESCED_WRITE_CYCLES_sum @@ -27,7 +16,6 @@ pmc: TA_ADDR_STALLED_BY_TD_CYCLES_sum TA_DATA_STALLED_BY_TC_CYCLES_sum # flat accesses pmc: TA_FLAT_WAVEFRONTS_sum TA_FLAT_READ_WAVEFRONTS_sum pmc: TA_FLAT_WRITE_WAVEFRONTS_sum TA_FLAT_ATOMIC_WAVEFRONTS_sum -pmc: TA_FLAT_COALESCEABLE_WAVEFRONTS_sum range: diff --git a/src/perfmon_pub/mi50/pmc_ta_perf.txt b/src/perfmon_pub/mi50/pmc_ta_perf.txt index 851f22400d..9c6fa835c4 100644 --- a/src/perfmon_pub/mi50/pmc_ta_perf.txt +++ b/src/perfmon_pub/mi50/pmc_ta_perf.txt @@ -1,22 +1,11 @@ pmc: GRBM_COUNT GRBM_GUI_ACTIVE SQ_CYCLES SQ_BUSY_CYCLES SQ_BUSY_CU_CYCLES SQ_WAVES SQ_WAVE_CYCLES -pmc: TA_TA_BUSY_sum TA_SH_FIFO_BUSY_sum -pmc: TA_SH_FIFO_CMD_BUSY_sum TA_SH_FIFO_ADDR_BUSY_sum -pmc: TA_SH_FIFO_DATA_BUSY_sum TA_SH_FIFO_DATA_SFIFO_BUSY_sum -pmc: TA_SH_FIFO_DATA_TFIFO_BUSY_sum TA_SQ_TA_CMD_CYCLES_sum -pmc: TA_SP_TA_ADDR_CYCLES_sum TA_SP_TA_DATA_CYCLES_sum - - -# Starvation -pmc: TA_SH_FIFO_ADDR_STARVED_WHILE_BUSY_CYCLES_sum TA_SH_FIFO_CMD_STARVED_WHILE_BUSY_CYCLES_sum -pmc: TA_SH_FIFO_DATA_STARVED_WHILE_BUSY_CYCLES_sum TA_TA_SH_FIFO_STARVED_sum - - +pmc: TA_TA_BUSY_sum # buffer access pmc: TA_BUFFER_WAVEFRONTS_sum TA_BUFFER_READ_WAVEFRONTS_sum pmc: TA_BUFFER_WRITE_WAVEFRONTS_sum TA_BUFFER_ATOMIC_WAVEFRONTS_sum -pmc: TA_BUFFER_TOTAL_CYCLES_sum TA_BUFFER_COALESCABLE_WAVEFRONTS_sum +pmc: TA_BUFFER_TOTAL_CYCLES_sum pmc: TA_BUFFER_COALESCED_READ_CYCLES_sum TA_BUFFER_COALESCED_WRITE_CYCLES_sum @@ -26,8 +15,7 @@ pmc: TA_ADDR_STALLED_BY_TD_CYCLES_sum TA_DATA_STALLED_BY_TC_CYCLES_sum # flat accesses pmc: TA_FLAT_WAVEFRONTS_sum TA_FLAT_READ_WAVEFRONTS_sum -pmc: TA_FLAT_WRITE_WAVEFRONTS_sum TA_FLAT_ATOMIC_WAVEFRONTS_sum -pmc: TA_FLAT_COALESCEABLE_WAVEFRONTS_sum +pmc: TA_FLAT_WRITE_WAVEFRONTS_sum TA_FLAT_ATOMIC_WAVEFRONTS_sum range: