{ "cells": [ { "cell_type": "markdown", "id": "b298bc4a", "metadata": { "papermill": { "duration": 0.009169, "end_time": "2024-03-26T22:19:26.881103", "exception": false, "start_time": "2024-03-26T22:19:26.871934", "status": "completed" }, "tags": [] }, "source": [ "# Thicket Nsight Compute Reader: Thicket Tutorial\n", "\n", "Nsight Compute (NCU) is a performance profiler for NVIDIA GPUs. NCU report files do not have a calltree, but with the NVTX Caliper service we can forward Caliper annotations to NCU. By profiling the same executable with a calltree profiler like Caliper, we can map the NCU data to the calltree profile and create a Thicket object. \n", "\n", "In Section 6, we reproduce some of the analysis and visualizations from the paper:\n", "\n", "Olga Pearce, Jason Burmark, Rich Hornung, Befikir Bogale, Ian Lumsden, Michael McKinsey, Dewi Yokelson, David Boehme, Stephanie Brink, Michela Taufer, and Tom Scogland. “RAJA Performance Suite: Performance Portability Analysis with Caliper and Thicket”. SC-W 2024: Workshops of ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis. Performance, Portability & Productivity in HPC. 2024.\n", "\n", "***\n", "\n", "## 1. Import Necessary Packages\n", "\n", "The Thicket NCU reader requires an existing install of Nsight Compute, and the `extras/python` directory in the Nsight Compute installation directory must be added to the `PYTHONPATH`. We use `sys.path.append` to add the path to the `PYTHONPATH` in this notebook. If you are not on a Livermore Computing system, you must change this path to match your install of Nsight Compute.\n", "\n", "**VERSION NOTICE: This functionality is tested with nsight-compute version 2023.2.2. Your mileage may vary if using a different version.**" ] }, { "cell_type": "code", "execution_count": 1, "id": "4e9d66ee", "metadata": { "execution": { "iopub.execute_input": "2024-03-26T22:19:26.898836Z", "iopub.status.busy": "2024-03-26T22:19:26.898682Z", "iopub.status.idle": "2024-03-26T22:19:27.445595Z", "shell.execute_reply": "2024-03-26T22:19:27.445228Z" }, "papermill": { "duration": 0.556743, "end_time": "2024-03-26T22:19:27.446317", "exception": false, "start_time": "2024-03-26T22:19:26.889574", "status": "completed" }, "scrolled": true, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Seaborn not found, so skipping imports of plotting in thicket.stats\n", "To enable this plotting, install seaborn or thicket[plotting]\n", "Warning: Roundtrip module could not be loaded. Requires jupyter notebook version <= 7.x.\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import os\n", "import sys\n", "\n", "sys.path.append(\"/usr/tce/packages/nsight-compute/nsight-compute-2023.2.2/extras/python\")\n", "\n", "from IPython.display import display\n", "from IPython.display import HTML\n", "\n", "import thicket as tt\n", "\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "display(HTML(\"\"))" ] }, { "cell_type": "markdown", "id": "47163338", "metadata": {}, "source": [ "## 2. The Dataset\n", "\n", "The dataset we are using comes from a profile of the RAJA Performance Suite on Lassen. We profile the `block_128` tuning of the `Base_CUDA`, `Lambda_CUDA`, and `RAJA_CUDA` variants, while varying the problem size for 1 million and 2 million. The calltree profiles come from the CUDA Activity Profile Caliper configuration. By changing the `variant` argument in the following cell, we can look at NCU data for different variants.\n", "\n", "The following are reproducible steps to generate this dataset:\n", "\n", "```\n", "# Example of building\n", "$ . RAJAPerf/scripts/lc-builds/blueos_nvhpc_nvcc_clang_caliper.sh \n", "$ make -j\n", "\n", "# Load CUDA version equal to the CUDA version used to build RAJAPerf\n", "$ module load nvhpc/24.1-cuda-11.2.0\n", "\n", "# Turn off NVIDIA Data Center GPU Manager (DCGM) on Lassen so we can run NCU (get an error if it's on)\n", "$ dcgmi profile --pause\n", "```\n", "\n", "```\n", "# Example run to Generate the CUDA Activity Profile\n", "$ CALI_CONFIG=cuda-activity-profile,output.format=cali lrun -n 1 --smpiargs=\"-disable_gpu_hooks\" bin/raja-perf.exe --variants [Base_CUDA OR Lambda_CUDA OR RAJA_CUDA] --tunings block_128 --size [1048576 OR 2097152] --repfact 0.01\n", "\n", "# Example run to Generate the NCU Report\n", "$ CALI_SERVICES_ENABLE=nvtx lrun -n 1 --smpiargs=\"-disable_gpu_hooks\" ncu \\\n", "--nvtx --set default \\\n", "--export report \\\n", "--metrics sm__throughput.avg.pct_of_peak_sustained_elapsed \\\n", "--replay-mode application \\\n", "bin/raja-perf.exe --variants [Base_CUDA OR Lambda_CUDA OR RAJA_CUDA] --tunings block_128 --size [1048576 OR 2097152] --repfact 0.01\n", "```" ] }, { "cell_type": "code", "execution_count": 2, "id": "6ed93c84", "metadata": {}, "outputs": [], "source": [ "# Map all files\n", "ncu_dir = \"../data/ncu/\"\n", "ncu_report_mapping = {}\n", "variant = \"base_cuda\" # OR \"lambda_cuda\" OR \"raja_cuda\"\n", "problem_sizes = [\"1M\", \"2M\"]\n", "for problem_size in problem_sizes:\n", " full_path = f\"{ncu_dir}{variant}/{problem_size}/\"\n", " ncu_report_mapping[full_path + \"report.ncu-rep\"] = full_path + \"cuda_profile.cali\"" ] }, { "cell_type": "markdown", "id": "972c694b", "metadata": {}, "source": [ "## 3. Read Calltree Profiles into Thicket\n", "\n", "The only performance metrics contained in the CUDA Activity Profile will be the CPU time `time` and the GPU time `time (gpu)`." ] }, { "cell_type": "code", "execution_count": 3, "id": "989da4d4", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "(1/2) Reading Files: 100%|██████████| 2/2 [00:00<00:00, 4.57it/s]\n", "(2/2) Creating Thicket: 100%|██████████| 1/1 [00:00<00:00, 4.75it/s]\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nidtimetime (gpu)name
nodeprofile
{'name': 'RAJAPerf', 'type': 'function'}45719596423.00.000615NaNRAJAPerf
52810577723.00.000596NaNRAJAPerf
{'name': 'Algorithm', 'type': 'function'}457195964164.00.000024NaNAlgorithm
528105777164.00.000024NaNAlgorithm
{'name': 'Algorithm_MEMCPY', 'type': 'function'}457195964168.00.000017NaNAlgorithm_MEMCPY
528105777168.00.000017NaNAlgorithm_MEMCPY
{'name': 'cudaDeviceSynchronize', 'type': 'function'}457195964170.00.000061NaNcudaDeviceSynchronize
528105777170.00.000039NaNcudaDeviceSynchronize
{'name': 'cudaLaunchKernel', 'type': 'function'}457195964169.00.000031NaNcudaLaunchKernel
528105777169.00.000032NaNcudaLaunchKernel
{'name': 'void rajaperf::algorithm::memcpy<128ul>(double*, double*, long)', 'type': 'kernel'}457195964225.0NaN0.000051void rajaperf::algorithm::memcpy<128ul>(double...
528105777225.0NaN0.000031void rajaperf::algorithm::memcpy<128ul>(double...
{'name': 'Algorithm_MEMSET', 'type': 'function'}457195964165.00.000015NaNAlgorithm_MEMSET
528105777165.00.000014NaNAlgorithm_MEMSET
{'name': 'cudaDeviceSynchronize', 'type': 'function'}457195964167.00.000043NaNcudaDeviceSynchronize
528105777167.00.000030NaNcudaDeviceSynchronize
{'name': 'cudaLaunchKernel', 'type': 'function'}457195964166.00.000030NaNcudaLaunchKernel
528105777166.00.000029NaNcudaLaunchKernel
{'name': 'void rajaperf::algorithm::memset<128ul>(double*, double, long)', 'type': 'kernel'}457195964224.0NaN0.000033void rajaperf::algorithm::memset<128ul>(double...
528105777224.0NaN0.000020void rajaperf::algorithm::memset<128ul>(double...
\n", "
" ], "text/plain": [ " nid time \\\n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 23.0 0.000615 \n", " 528105777 23.0 0.000596 \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 164.0 0.000024 \n", " 528105777 164.0 0.000024 \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 168.0 0.000017 \n", " 528105777 168.0 0.000017 \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 170.0 0.000061 \n", " 528105777 170.0 0.000039 \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 169.0 0.000031 \n", " 528105777 169.0 0.000032 \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 225.0 NaN \n", " 528105777 225.0 NaN \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 165.0 0.000015 \n", " 528105777 165.0 0.000014 \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 167.0 0.000043 \n", " 528105777 167.0 0.000030 \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 166.0 0.000030 \n", " 528105777 166.0 0.000029 \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 224.0 NaN \n", " 528105777 224.0 NaN \n", "\n", " time (gpu) \\\n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 0.000051 \n", " 528105777 0.000031 \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 0.000033 \n", " 528105777 0.000020 \n", "\n", " name \n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 RAJAPerf \n", " 528105777 RAJAPerf \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 Algorithm \n", " 528105777 Algorithm \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 Algorithm_MEMCPY \n", " 528105777 Algorithm_MEMCPY \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 cudaDeviceSynchronize \n", " 528105777 cudaDeviceSynchronize \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 cudaLaunchKernel \n", " 528105777 cudaLaunchKernel \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 void rajaperf::algorithm::memcpy<128ul>(double... \n", " 528105777 void rajaperf::algorithm::memcpy<128ul>(double... \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 Algorithm_MEMSET \n", " 528105777 Algorithm_MEMSET \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 cudaDeviceSynchronize \n", " 528105777 cudaDeviceSynchronize \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 cudaLaunchKernel \n", " 528105777 cudaLaunchKernel \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 void rajaperf::algorithm::memset<128ul>(double... \n", " 528105777 void rajaperf::algorithm::memset<128ul>(double... " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tk_cap = tt.Thicket.from_caliperreader(list(ncu_report_mapping.values()))\n", "tk_cap.dataframe.head(20)" ] }, { "cell_type": "markdown", "id": "94d9eff4", "metadata": {}, "source": [ "## 4. Add NCU Data\n", "\n", "The Thicket `add_ncu` function takes one required argument and one optional arguement. The required argument `ncu_report_mapping` is the mapping from the NCU report file to the corresponding calltree profile run. The optional argument `chosen_metrics` allows for a subselection of the NCU performance metrics to add, since there can be hundreds of NCU performance metrics. By default we add all metrics." ] }, { "cell_type": "code", "execution_count": 4, "id": "60ff359c", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Processing action 600/601: 100%|██████████| 601/601 [00:15<00:00, 39.09it/s] \n", "Processing action 600/601: 100%|██████████| 601/601 [00:01<00:00, 375.43it/s]\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nidtimetime (gpu)namegpu__time_duration.sumsm__throughput.avg.pct_of_peak_sustained_elapsedsmsp__maximum_warps_avg_per_active_cycle
nodeprofile
{'name': 'RAJAPerf', 'type': 'function'}45719596423.00.000615NaNRAJAPerfNaNNaNNaN
52810577723.00.000596NaNRAJAPerfNaNNaNNaN
{'name': 'Algorithm', 'type': 'function'}457195964164.00.000024NaNAlgorithmNaNNaNNaN
528105777164.00.000024NaNAlgorithmNaNNaNNaN
{'name': 'Algorithm_MEMCPY', 'type': 'function'}457195964168.00.000017NaNAlgorithm_MEMCPYNaNNaNNaN
528105777168.00.000017NaNAlgorithm_MEMCPYNaNNaNNaN
{'name': 'cudaDeviceSynchronize', 'type': 'function'}457195964170.00.000061NaNcudaDeviceSynchronizeNaNNaNNaN
528105777170.00.000039NaNcudaDeviceSynchronizeNaNNaNNaN
{'name': 'cudaLaunchKernel', 'type': 'function'}457195964169.00.000031NaNcudaLaunchKernelNaNNaNNaN
528105777169.00.000032NaNcudaLaunchKernelNaNNaNNaN
{'name': 'void rajaperf::algorithm::memcpy<128ul>(double*, double*, long)', 'type': 'kernel'}457195964225.0NaN0.000051void rajaperf::algorithm::memcpy<128ul>(double...43232.06.52112316.0
528105777225.0NaN0.000031void rajaperf::algorithm::memcpy<128ul>(double...22880.06.29460716.0
{'name': 'Algorithm_MEMSET', 'type': 'function'}457195964165.00.000015NaNAlgorithm_MEMSETNaNNaNNaN
528105777165.00.000014NaNAlgorithm_MEMSETNaNNaNNaN
{'name': 'cudaDeviceSynchronize', 'type': 'function'}457195964167.00.000043NaNcudaDeviceSynchronizeNaNNaNNaN
528105777167.00.000030NaNcudaDeviceSynchronizeNaNNaNNaN
{'name': 'cudaLaunchKernel', 'type': 'function'}457195964166.00.000030NaNcudaLaunchKernelNaNNaNNaN
528105777166.00.000029NaNcudaLaunchKernelNaNNaNNaN
{'name': 'void rajaperf::algorithm::memset<128ul>(double*, double, long)', 'type': 'kernel'}457195964224.0NaN0.000033void rajaperf::algorithm::memset<128ul>(double...31648.07.53186616.0
528105777224.0NaN0.000020void rajaperf::algorithm::memset<128ul>(double...18016.06.69263516.0
\n", "
" ], "text/plain": [ " nid time \\\n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 23.0 0.000615 \n", " 528105777 23.0 0.000596 \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 164.0 0.000024 \n", " 528105777 164.0 0.000024 \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 168.0 0.000017 \n", " 528105777 168.0 0.000017 \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 170.0 0.000061 \n", " 528105777 170.0 0.000039 \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 169.0 0.000031 \n", " 528105777 169.0 0.000032 \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 225.0 NaN \n", " 528105777 225.0 NaN \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 165.0 0.000015 \n", " 528105777 165.0 0.000014 \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 167.0 0.000043 \n", " 528105777 167.0 0.000030 \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 166.0 0.000030 \n", " 528105777 166.0 0.000029 \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 224.0 NaN \n", " 528105777 224.0 NaN \n", "\n", " time (gpu) \\\n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 0.000051 \n", " 528105777 0.000031 \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 0.000033 \n", " 528105777 0.000020 \n", "\n", " name \\\n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 RAJAPerf \n", " 528105777 RAJAPerf \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 Algorithm \n", " 528105777 Algorithm \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 Algorithm_MEMCPY \n", " 528105777 Algorithm_MEMCPY \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 cudaDeviceSynchronize \n", " 528105777 cudaDeviceSynchronize \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 cudaLaunchKernel \n", " 528105777 cudaLaunchKernel \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 void rajaperf::algorithm::memcpy<128ul>(double... \n", " 528105777 void rajaperf::algorithm::memcpy<128ul>(double... \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 Algorithm_MEMSET \n", " 528105777 Algorithm_MEMSET \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 cudaDeviceSynchronize \n", " 528105777 cudaDeviceSynchronize \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 cudaLaunchKernel \n", " 528105777 cudaLaunchKernel \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 void rajaperf::algorithm::memset<128ul>(double... \n", " 528105777 void rajaperf::algorithm::memset<128ul>(double... \n", "\n", " gpu__time_duration.sum \\\n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 43232.0 \n", " 528105777 22880.0 \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 31648.0 \n", " 528105777 18016.0 \n", "\n", " sm__throughput.avg.pct_of_peak_sustained_elapsed \\\n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 6.521123 \n", " 528105777 6.294607 \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 7.531866 \n", " 528105777 6.692635 \n", "\n", " smsp__maximum_warps_avg_per_active_cycle \n", "node profile \n", "{'name': 'RAJAPerf', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'Algorithm_MEMCPY', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memcpy<128u... 457195964 16.0 \n", " 528105777 16.0 \n", "{'name': 'Algorithm_MEMSET', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaDeviceSynchronize', 'type': 'func... 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'cudaLaunchKernel', 'type': 'function'} 457195964 NaN \n", " 528105777 NaN \n", "{'name': 'void rajaperf::algorithm::memset<128u... 457195964 16.0 \n", " 528105777 16.0 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Add NCU to thicket\n", "ncu_metrics = [\n", " \"gpu__time_duration.sum\",\n", " \"sm__throughput.avg.pct_of_peak_sustained_elapsed\",\n", " \"smsp__maximum_warps_avg_per_active_cycle\",\n", "]\n", "# Add in metrics\n", "tk_cap.add_ncu(\n", " ncu_report_mapping=ncu_report_mapping, \n", " chosen_metrics=ncu_metrics,\n", ")\n", "tk_cap.dataframe.head(20)" ] }, { "cell_type": "markdown", "id": "d69ba22d", "metadata": {}, "source": [ "## 5. Visualize the NCU Performance Data on the Calltree" ] }, { "cell_type": "code", "execution_count": 5, "id": "877c1044", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " _____ _ _ _ _ \n", " |_ _| |__ (_) ___| | _____| |_ \n", " | | | '_ \\| |/ __| |/ / _ \\ __|\n", " | | | | | | | (__| < __/ |_ \n", " |_| |_| |_|_|\\___|_|\\_\\___|\\__| v2024.2.1\n", "\n", "\u001b[34mnan\u001b[0m RAJAPerf\u001b[0m\n", "├─ \u001b[34mnan\u001b[0m Algorithm\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Algorithm_MEMCPY\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m6.521\u001b[0m void rajaperf::algorithm::memcpy<128ul>(double*, double*, long)\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m Algorithm_MEMSET\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ └─ \u001b[38;5;34m7.532\u001b[0m void rajaperf::algorithm::memset<128ul>(double*, double, long)\u001b[0m\n", "├─ \u001b[34mnan\u001b[0m Apps\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_DEL_DOT_VEC_2D\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;220m26.952\u001b[0m void rajaperf::apps::deldotvec2d<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, long*, double, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_EDGE3D\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_ENERGY\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ ├─ \u001b[38;5;22m4.291\u001b[0m void rajaperf::apps::energycalc1<128ul>(double*, double*, double*, double*, double*, double*, long)\u001b[0m\n", "│ │ ├─ \u001b[38;5;34m7.512\u001b[0m void rajaperf::apps::energycalc2<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, double, long)\u001b[0m\n", "│ │ ├─ \u001b[38;5;22m3.977\u001b[0m void rajaperf::apps::energycalc3<128ul>(double*, double*, double*, double*, double*, double*, long)\u001b[0m\n", "│ │ ├─ \u001b[38;5;34m6.292\u001b[0m void rajaperf::apps::energycalc4<128ul>(double*, double*, double, double, long)\u001b[0m\n", "│ │ ├─ \u001b[38;5;34m6.911\u001b[0m void rajaperf::apps::energycalc5<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double, double, double, long)\u001b[0m\n", "│ │ └─ \u001b[38;5;34m8.058\u001b[0m void rajaperf::apps::energycalc6<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, double, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_FIR\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;196m46.164\u001b[0m void rajaperf::apps::fir<128ul>(double*, double*, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_LTIMES\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_LTIMES_NOVIEW\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_MATVEC_3D_STENCIL\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m6.912\u001b[0m void rajaperf::apps::matvec_3d<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, long*, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_NODAL_ACCUMULATION_3D\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m7.249\u001b[0m void rajaperf::apps::nodal_accumulation_3d<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, long*, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_PRESSURE\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ ├─ \u001b[38;5;34m7.532\u001b[0m void rajaperf::apps::pressurecalc1<128ul>(double*, double*, double, long)\u001b[0m\n", "│ │ └─ \u001b[38;5;34m7.175\u001b[0m void rajaperf::apps::pressurecalc2<128ul>(double*, double*, double*, double*, double, double, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Apps_VOL3D\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;208m34.543\u001b[0m void rajaperf::apps::vol3d<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double*, double, long, long)\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m Apps_ZONAL_ACCUMULATION_3D\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ └─ \u001b[38;5;34m11.787\u001b[0m void rajaperf::apps::zonal_accumulation_3d<128ul>(double*, double*, double*, double*, double*, double*, double*, double*, double*, long*, long, long)\u001b[0m\n", "├─ \u001b[34mnan\u001b[0m Basic\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_ARRAY_OF_PTRS\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_COPY8\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_DAXPY\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m5.275\u001b[0m void rajaperf::basic::daxpy<128ul>(double*, double*, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_DAXPY_ATOMIC\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m4.733\u001b[0m void rajaperf::basic::daxpy_atomic<128ul>(double*, double*, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_IF_QUAD\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m12.770\u001b[0m void rajaperf::basic::ifquad<128ul>(double*, double*, double*, double*, double*, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_INIT3\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;22m4.232\u001b[0m void rajaperf::basic::init3<128ul>(double*, double*, double*, double*, double*, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_INIT_VIEW1D\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m8.887\u001b[0m void rajaperf::basic::initview1d<128ul>(double*, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_INIT_VIEW1D_OFFSET\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m8.892\u001b[0m void rajaperf::basic::initview1d_offset<128ul>(double*, double, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_MULADDSUB\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;22m4.515\u001b[0m void rajaperf::basic::muladdsub<128ul>(double*, double*, double*, double*, double*, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Basic_NESTED_INIT\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;46m17.655\u001b[0m void rajaperf::basic::nested_init<32ul, 4ul, 1ul>(double*, long, long, long)\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m Basic_PI_ATOMIC\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "├─ \u001b[34mnan\u001b[0m Comm\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m Comm_HALO_PACKING\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ ├─ \u001b[38;5;22m0.126\u001b[0m void rajaperf::comm::halo_packing_pack<128ul>(double*, int*, double*, long)\u001b[0m\n", "│ │ └─ \u001b[38;5;22m0.160\u001b[0m void rajaperf::comm::halo_packing_unpack<128ul>(double*, int*, double*, long)\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m cudaStreamSynchronize\u001b[0m\n", "├─ \u001b[34mnan\u001b[0m Lcals\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_DIFF_PREDICT\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;22m2.277\u001b[0m void rajaperf::lcals::diff_predict<128ul>(double*, double*, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_EOS\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m9.121\u001b[0m void rajaperf::lcals::eos<128ul>(double*, double*, double*, double*, double, double, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_FIRST_DIFF\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m7.521\u001b[0m void rajaperf::lcals::first_diff<128ul>(double*, double*, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_FIRST_SUM\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m8.251\u001b[0m void rajaperf::lcals::first_sum<128ul>(double*, double*, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_GEN_LIN_RECUR\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ ├─ \u001b[38;5;22m4.580\u001b[0m void rajaperf::lcals::genlinrecur1<128ul>(double*, double*, double*, double*, long, long)\u001b[0m\n", "│ │ └─ \u001b[38;5;34m5.087\u001b[0m void rajaperf::lcals::genlinrecur2<128ul>(double*, double*, double*, double*, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_HYDRO_1D\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m6.563\u001b[0m void rajaperf::lcals::hydro_1d<128ul>(double*, double*, double*, double, double, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_HYDRO_2D\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ ├─ \u001b[38;5;46m14.008\u001b[0m void rajaperf::lcals::hydro_2d1<32ul, 4ul>(double*, double*, double*, double*, double*, double*, long, long)\u001b[0m\n", "│ │ ├─ \u001b[38;5;34m9.808\u001b[0m void rajaperf::lcals::hydro_2d2<32ul, 4ul>(double*, double*, double*, double*, double*, double*, double, long, long)\u001b[0m\n", "│ │ └─ \u001b[38;5;34m6.551\u001b[0m void rajaperf::lcals::hydro_2d3<32ul, 4ul>(double*, double*, double*, double*, double*, double*, double, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_INT_PREDICT\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;34m5.497\u001b[0m void rajaperf::lcals::int_predict<128ul>(double*, double, double, double, double, double, double, double, double, long, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Lcals_PLANCKIAN\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m Lcals_TRIDIAG_ELIM\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ └─ \u001b[38;5;34m5.423\u001b[0m void rajaperf::lcals::tridiag_elim<128ul>(double*, double*, double*, double*, long)\u001b[0m\n", "├─ \u001b[34mnan\u001b[0m Polybench\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_2MM\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_3MM\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_ADI\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_ATAX\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ ├─ \u001b[38;5;22m0.642\u001b[0m void rajaperf::polybench::poly_atax_1<128ul>(double*, double*, double*, double*, long)\u001b[0m\n", "│ │ └─ \u001b[38;5;22m0.455\u001b[0m void rajaperf::polybench::poly_atax_2<128ul>(double*, double*, double*, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_FDTD_2D\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_FLOYD_WARSHALL\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_GEMM\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_GEMVER\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_GESUMMV\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ └─ \u001b[38;5;22m0.595\u001b[0m void rajaperf::polybench::poly_gesummv<128ul>(double*, double*, double*, double*, double, double, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_HEAT_3D\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_JACOBI_1D\u001b[0m\n", "│ │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ │ ├─ \u001b[38;5;34m10.901\u001b[0m void rajaperf::polybench::poly_jacobi_1D_1<128ul>(double*, double*, long)\u001b[0m\n", "│ │ └─ \u001b[38;5;34m10.883\u001b[0m void rajaperf::polybench::poly_jacobi_1D_2<128ul>(double*, double*, long)\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m Polybench_JACOBI_2D\u001b[0m\n", "│ │ └─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m Polybench_MVT\u001b[0m\n", "│ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "│ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "│ ├─ \u001b[38;5;22m0.667\u001b[0m void rajaperf::polybench::poly_mvt_1<128ul>(double*, double*, double*, long)\u001b[0m\n", "│ └─ \u001b[38;5;22m0.378\u001b[0m void rajaperf::polybench::poly_mvt_2<128ul>(double*, double*, double*, long)\u001b[0m\n", "└─ \u001b[34mnan\u001b[0m Stream\u001b[0m\n", " ├─ \u001b[34mnan\u001b[0m Stream_ADD\u001b[0m\n", " │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", " │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", " │ └─ \u001b[38;5;34m5.780\u001b[0m void rajaperf::stream::add<128ul>(double*, double*, double*, long)\u001b[0m\n", " ├─ \u001b[34mnan\u001b[0m Stream_COPY\u001b[0m\n", " │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", " │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", " │ └─ \u001b[38;5;34m6.787\u001b[0m void rajaperf::stream::copy<128ul>(double*, double*, long)\u001b[0m\n", " ├─ \u001b[34mnan\u001b[0m Stream_MUL\u001b[0m\n", " │ ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", " │ └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", " │ └─ \u001b[38;5;34m7.199\u001b[0m void rajaperf::stream::mul<128ul>(double*, double*, double, long)\u001b[0m\n", " └─ \u001b[34mnan\u001b[0m Stream_TRIAD\u001b[0m\n", " ├─ \u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", " └─ \u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", " └─ \u001b[38;5;34m5.789\u001b[0m void rajaperf::stream::triad<128ul>(double*, double*, double*, double, long)\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaDeviceSynchronize\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaFree\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaFreeHost\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaGetDevice\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaGetSymbolAddress\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaHostAlloc\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaLaunchKernel\u001b[0m\n", "└─ \u001b[34mnan\u001b[0m void rajaperf::basic::daxpy<128ul>(double*, double*, double, long)\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaMalloc\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaMallocManaged\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaMemAdvise\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaMemcpy\u001b[0m\n", "└─ \u001b[34mnan\u001b[0m memcpy\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaMemcpyAsync\u001b[0m\n", "└─ \u001b[34mnan\u001b[0m memcpy\u001b[0m\n", "\u001b[34mnan\u001b[0m cudaStreamCreate\u001b[0m\n", "\n", "\u001b[4mLegend\u001b[0m (Metric: sm__throughput.avg.pct_of_peak_sustained_elapsed Min: 0.13 Max: 46.16 indices: {'profile': 457195964})\n", "\u001b[38;5;196m█ \u001b[0m41.56 - 46.16\n", "\u001b[38;5;208m█ \u001b[0m32.35 - 41.56\n", "\u001b[38;5;220m█ \u001b[0m23.14 - 32.35\n", "\u001b[38;5;46m█ \u001b[0m13.94 - 23.14\n", "\u001b[38;5;34m█ \u001b[0m4.73 - 13.94\n", "\u001b[38;5;22m█ \u001b[0m0.13 - 4.73\n", "\n", "name\u001b[0m User code \u001b[38;5;160m◀ \u001b[0m Only in left graph \u001b[38;5;28m▶ \u001b[0m Only in right graph\n", "\n" ] } ], "source": [ "print(tk_cap.tree(\n", " metric_column=\"sm__throughput.avg.pct_of_peak_sustained_elapsed\",\n", " expand_name=True,\n", " ))" ] }, { "cell_type": "markdown", "id": "b2560242", "metadata": {}, "source": [ "## 6. Create Instruction Roofline Plots\n", "\n", "We can make roofline plots using the metrics we have collected using Nsight Compute. The Roofline sets an upper bound on performance of a kernel depending on its operational intensity. We will use roofline plots to understand the performance of RAJAPerf kernels.\n", "\n", "In this section, we reproduce some of the analysis and visualizations from the paper:\n", "\n", "Olga Pearce, Jason Burmark, Rich Hornung, Befikir Bogale, Ian Lumsden, Michael McKinsey, Dewi Yokelson, David Boehme, Stephanie Brink, Michela Taufer, and Tom Scogland. “RAJA Performance Suite: Performance Portability Analysis with Caliper and Thicket”. SC-W 2024: Workshops of ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis. Performance, Portability & Productivity in HPC. 2024.\n", "\n", "Instruction Roofline Models were introduced by Ding et. al to better characterize GPU workloads by looking at instruction intensity. We walk through the creation of instruction roofline models for the Appications group of the RAJAPerf kernels below. \n", "\n", "More references on methodology for roofline models:\n", "\n", "* Samuel Williams, Andrew Waterman, and David Patterson. 2009. Roofline: an insightful visual performance model for multicore architectures. Commun. ACM 52, 4 (April 2009), 65–76. https://doi.org/10.1145/1498765.1498785\n", "\n", "* Nan Ding, Muaaz Awan, Samuel Williams. 2022. Instruction Roofline: An insightful visual performance model for GPUs. Concurrency and Computation: Practice and Experience\n", "https://doi.org/10.1002/cpe.6591" ] }, { "cell_type": "markdown", "id": "d5073924", "metadata": {}, "source": [ "Step 1 is to create a Thicket using a CUDA Activity Profile, and add the NCU data. We use `RAJA_CUDA` variant data of the `block_256` tuning.\n", "\n", "Command to generate the Caliper CUDA Activity Profile:\n", "```\n", "CALI_CONFIG=cuda-activity-profile,output.format=cali lrun -n 1 --smpiargs=\"-disable_gpu_hooks\" bin/raja-perf.exe --variants RAJA_CUDA --tunings block_256 --size 8388608\n", "```\n", "\n", "Command to generate the NCU report with Roofline metrics:\n", "```\n", "CALI_SERVICES_ENABLE=nvtx lrun -n 1 --smpiargs=\"-disable_gpu_hooks\" ncu \\\n", "--nvtx --set default \\\n", "--export report \\\n", "--metrics sm__sass_thread_inst_executed.sum,l1tex__t_sectors_pipe_lsu_mem_global_op_ld.sum,l1tex__t_sectors_pipe_lsu_mem_global_op_st.sum,l1tex__t_sectors_pipe_lsu_mem_local_op_ld.sum,l1tex__t_sectors_pipe_lsu_mem_local_op_st.sum,lts__t_sectors_op_read.sum,lts__t_sectors_op_write.sum,lts__t_sectors_op_atom.sum,lts__t_sectors_op_red.sum,dram__sectors_read.sum,dram__sectors_write.sum,l1tex__data_pipe_lsu_wavefronts_mem_shared_op_ld.sum,l1tex__data_pipe_lsu_wavefronts_mem_shared_op_st.sum \\\n", "--replay-mode application \\\n", "bin/raja-perf.exe --variants RAJA_CUDA --tunings block_256 --size 8388608\n", "```" ] }, { "cell_type": "code", "execution_count": 6, "id": "c2dcb21a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Processing action 3444/3445: 100%|██████████| 3445/3445 [00:42<00:00, 81.94it/s] \n" ] } ], "source": [ "roofline_cali = ncu_dir + \"roofline/block_256_profile.cali\"\n", "roofline_ncu = ncu_dir + \"roofline/block_256_profile.ncu-rep\"\n", "\n", "# Unzip files, unless they have already been unzipped\n", "if not (os.path.isfile(roofline_cali) and os.path.isfile(roofline_ncu)):\n", " import zipfile\n", " with zipfile.ZipFile(ncu_dir + \"roofline/block_256_profile.zip\", \"r\") as zip_ref:\n", " zip_ref.extractall(ncu_dir + \"roofline/\")\n", "\n", "# Create Thicket and add NCU data\n", "tk_roofline = tt.Thicket.from_caliperreader(roofline_cali)\n", "tk_roofline.add_ncu({roofline_ncu:roofline_cali})" ] }, { "cell_type": "markdown", "id": "58256cde", "metadata": {}, "source": [ "Select a subset of kernels to plot on the roofline. Here we are just selecting `Apps` kernels." ] }, { "cell_type": "code", "execution_count": 7, "id": "54edcca6", "metadata": {}, "outputs": [], "source": [ "# Options (can be more than one): [\"Algorithm\", \"Apps\", \"Basic\", \"Comm\", \"Lcals\", \"Polybench\", \"Stream\"]\n", "kernel_types = [\"Apps\"]\n", "\n", "raja_kernel_query = (\n", " tt.query.Query()\n", " .match (\n", " \".\",\n", " lambda row: row[\"name\"].apply(\n", " lambda x: any([x.startswith(c + \"_\") for c in kernel_types])\n", " ).all()\n", " )\n", " .rel(\"*\")\n", ")\n", "\n", "pruned_th = tk_roofline.query(raja_kernel_query)" ] }, { "cell_type": "markdown", "id": "ab563417", "metadata": {}, "source": [ "Aggregate metrics for kernels with multiple instances" ] }, { "cell_type": "code", "execution_count": 8, "id": "e2c3659f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nametime (gpu)c2clink__enabled_maskc2clink__presentdevice__attribute_architecturedevice__attribute_async_engine_countdevice__attribute_can_flush_remote_writesdevice__attribute_can_map_host_memorydevice__attribute_can_tex2d_gatherdevice__attribute_can_use_64_bit_stream_mem_ops_v1...sm__sass_thread_inst_executed.sumsmsp__inst_executed.sumsmsp__inst_executed_op_global_ld.sumsmsp__inst_executed_op_global_st.sumsmsp__inst_executed_op_local_ld.sumsmsp__inst_executed_op_local_st.sumsmsp__inst_executed_op_shared_ld.sumsmsp__inst_executed_op_shared_st.sumsmsp__inst_executed_pipe_tensor.sumsmsp__maximum_warps_avg_per_active_cycle
0Apps_DEL_DOT_VEC_2D0.0005270.00.0320.04.01.01.01.01.0...1.165767e+093.643023e+074455496.0262088.00.000000e+000.00.00.00.010.0
1Apps_EDGE3D0.4685910.00.0320.04.01.01.01.01.0...1.898933e+115.934178e+096587736.0274489.01.089172e+09715043845.00.00.00.02.0
2Apps_ENERGY0.0022470.00.01920.024.06.06.06.06.0...1.811939e+095.662310e+075767168.01572864.00.000000e+000.00.00.00.096.0
3Apps_FIR0.0001780.00.0320.04.01.01.01.01.0...1.115685e+093.486515e+074194304.0262144.00.000000e+000.00.00.00.016.0
4Apps_LTIMES0.0022270.00.0320.04.01.01.01.01.0...3.340763e+091.216348e+0818874368.08388608.00.000000e+000.00.00.00.016.0
5Apps_LTIMES_NOVIEW0.0022340.00.0320.04.01.01.01.01.0...2.900361e+091.042022e+0818874368.08388608.00.000000e+000.00.00.00.016.0
6Apps_MATVEC_3D_STENCIL0.0021540.00.0320.04.01.01.01.01.0...1.731645e+095.411398e+0714378100.0261420.00.000000e+000.00.00.00.04.0
7Apps_NODAL_ACCUMULATION_3D0.0005560.00.0320.04.01.01.01.01.0...3.597146e+081.124110e+07522840.00.00.000000e+000.00.00.00.016.0
8Apps_PRESSURE0.0005070.00.0640.08.02.02.02.02.0...5.117051e+081.599078e+071048576.0786432.00.000000e+000.00.00.00.032.0
9Apps_VOL3D0.0003800.00.0320.04.01.01.01.01.0...1.317547e+094.117341e+076587736.0274489.00.000000e+000.00.00.00.08.0
10Apps_ZONAL_ACCUMULATION_3D0.0002680.00.0320.04.01.01.01.01.0...4.182726e+081.307104e+072352780.0261420.00.000000e+000.00.00.00.016.0
\n", "

11 rows × 239 columns

\n", "
" ], "text/plain": [ " name time (gpu) c2clink__enabled_mask \\\n", "0 Apps_DEL_DOT_VEC_2D 0.000527 0.0 \n", "1 Apps_EDGE3D 0.468591 0.0 \n", "2 Apps_ENERGY 0.002247 0.0 \n", "3 Apps_FIR 0.000178 0.0 \n", "4 Apps_LTIMES 0.002227 0.0 \n", "5 Apps_LTIMES_NOVIEW 0.002234 0.0 \n", "6 Apps_MATVEC_3D_STENCIL 0.002154 0.0 \n", "7 Apps_NODAL_ACCUMULATION_3D 0.000556 0.0 \n", "8 Apps_PRESSURE 0.000507 0.0 \n", "9 Apps_VOL3D 0.000380 0.0 \n", "10 Apps_ZONAL_ACCUMULATION_3D 0.000268 0.0 \n", "\n", " c2clink__present device__attribute_architecture \\\n", "0 0.0 320.0 \n", "1 0.0 320.0 \n", "2 0.0 1920.0 \n", "3 0.0 320.0 \n", "4 0.0 320.0 \n", "5 0.0 320.0 \n", "6 0.0 320.0 \n", "7 0.0 320.0 \n", "8 0.0 640.0 \n", "9 0.0 320.0 \n", "10 0.0 320.0 \n", "\n", " device__attribute_async_engine_count \\\n", "0 4.0 \n", "1 4.0 \n", "2 24.0 \n", "3 4.0 \n", "4 4.0 \n", "5 4.0 \n", "6 4.0 \n", "7 4.0 \n", "8 8.0 \n", "9 4.0 \n", "10 4.0 \n", "\n", " device__attribute_can_flush_remote_writes \\\n", "0 1.0 \n", "1 1.0 \n", "2 6.0 \n", "3 1.0 \n", "4 1.0 \n", "5 1.0 \n", "6 1.0 \n", "7 1.0 \n", "8 2.0 \n", "9 1.0 \n", "10 1.0 \n", "\n", " device__attribute_can_map_host_memory device__attribute_can_tex2d_gather \\\n", "0 1.0 1.0 \n", "1 1.0 1.0 \n", "2 6.0 6.0 \n", "3 1.0 1.0 \n", "4 1.0 1.0 \n", "5 1.0 1.0 \n", "6 1.0 1.0 \n", "7 1.0 1.0 \n", "8 2.0 2.0 \n", "9 1.0 1.0 \n", "10 1.0 1.0 \n", "\n", " device__attribute_can_use_64_bit_stream_mem_ops_v1 ... \\\n", "0 1.0 ... \n", "1 1.0 ... \n", "2 6.0 ... \n", "3 1.0 ... \n", "4 1.0 ... \n", "5 1.0 ... \n", "6 1.0 ... \n", "7 1.0 ... \n", "8 2.0 ... \n", "9 1.0 ... \n", "10 1.0 ... \n", "\n", " sm__sass_thread_inst_executed.sum smsp__inst_executed.sum \\\n", "0 1.165767e+09 3.643023e+07 \n", "1 1.898933e+11 5.934178e+09 \n", "2 1.811939e+09 5.662310e+07 \n", "3 1.115685e+09 3.486515e+07 \n", "4 3.340763e+09 1.216348e+08 \n", "5 2.900361e+09 1.042022e+08 \n", "6 1.731645e+09 5.411398e+07 \n", "7 3.597146e+08 1.124110e+07 \n", "8 5.117051e+08 1.599078e+07 \n", "9 1.317547e+09 4.117341e+07 \n", "10 4.182726e+08 1.307104e+07 \n", "\n", " smsp__inst_executed_op_global_ld.sum \\\n", "0 4455496.0 \n", "1 6587736.0 \n", "2 5767168.0 \n", "3 4194304.0 \n", "4 18874368.0 \n", "5 18874368.0 \n", "6 14378100.0 \n", "7 522840.0 \n", "8 1048576.0 \n", "9 6587736.0 \n", "10 2352780.0 \n", "\n", " smsp__inst_executed_op_global_st.sum smsp__inst_executed_op_local_ld.sum \\\n", "0 262088.0 0.000000e+00 \n", "1 274489.0 1.089172e+09 \n", "2 1572864.0 0.000000e+00 \n", "3 262144.0 0.000000e+00 \n", "4 8388608.0 0.000000e+00 \n", "5 8388608.0 0.000000e+00 \n", "6 261420.0 0.000000e+00 \n", "7 0.0 0.000000e+00 \n", "8 786432.0 0.000000e+00 \n", "9 274489.0 0.000000e+00 \n", "10 261420.0 0.000000e+00 \n", "\n", " smsp__inst_executed_op_local_st.sum smsp__inst_executed_op_shared_ld.sum \\\n", "0 0.0 0.0 \n", "1 715043845.0 0.0 \n", "2 0.0 0.0 \n", "3 0.0 0.0 \n", "4 0.0 0.0 \n", "5 0.0 0.0 \n", "6 0.0 0.0 \n", "7 0.0 0.0 \n", "8 0.0 0.0 \n", "9 0.0 0.0 \n", "10 0.0 0.0 \n", "\n", " smsp__inst_executed_op_shared_st.sum smsp__inst_executed_pipe_tensor.sum \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 0.0 0.0 \n", "4 0.0 0.0 \n", "5 0.0 0.0 \n", "6 0.0 0.0 \n", "7 0.0 0.0 \n", "8 0.0 0.0 \n", "9 0.0 0.0 \n", "10 0.0 0.0 \n", "\n", " smsp__maximum_warps_avg_per_active_cycle \n", "0 10.0 \n", "1 2.0 \n", "2 96.0 \n", "3 16.0 \n", "4 16.0 \n", "5 16.0 \n", "6 4.0 \n", "7 16.0 \n", "8 32.0 \n", "9 8.0 \n", "10 16.0 \n", "\n", "[11 rows x 239 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Match parent kernel name, e.g. \"Apps_VOL3D\"\n", "kernel_query = \"\"\"\n", "MATCH (\".\",p)->(\"*\")\n", "WHERE p.\"name\" = \"{ker}\"\n", "\"\"\"\n", "\n", "# Match demangled kernel that contains NCU measurement.\n", "child_kernel_query = \"\"\"\n", "MATCH (\".\", p)\n", "WHERE p.\"depth\" = 2\n", "\"\"\"\n", "\n", "# List of columns to exclude from aggregation\n", "cols = [col for col in pruned_th.dataframe.columns.tolist() if col not in [\"nid\", \"time\", \"name\", \"time (inc)\", \"time (gpu) (inc)\"]]\n", "leaves = []\n", "\n", "for n in pruned_th.graph.roots:\n", " kernels = {}\n", " \n", " kernels[\"name\"] = n.frame.get(\"name\")\n", "\n", " tmp = kernel_query.format(ker=n.frame.get(\"name\"))\n", " ker_th = pruned_th.query(tmp, multi_index_mode=\"all\")\n", " leaf = ker_th.query(child_kernel_query, multi_index_mode=\"all\")\n", " for col in cols:\n", " kernels[col] = leaf.dataframe[col].sum()\n", " \n", " leaves.append(kernels)\n", "\n", "agg_df = pd.DataFrame(data=leaves)\n", "agg_df" ] }, { "cell_type": "markdown", "id": "cb09a71b", "metadata": {}, "source": [ "Calculate instruciton intensities from existing NCU metrics." ] }, { "cell_type": "code", "execution_count": 9, "id": "513e02db", "metadata": {}, "outputs": [], "source": [ "# Warp Instructions\n", "agg_df[\"Warp Instructions\"] = agg_df[\"sm__sass_thread_inst_executed.sum\"] / 32\n", "# L1 Global Count Memory Transactions\n", "agg_df[\"L1 (GLOBAL)\"] = agg_df[\"l1tex__t_sectors_pipe_lsu_mem_global_op_ld.sum\"] + agg_df[\"l1tex__t_sectors_pipe_lsu_mem_global_op_st.sum\"]\n", "agg_df[\"L1 (SHARED)\"] = agg_df[\"l1tex__data_pipe_lsu_wavefronts_mem_shared_op_ld.sum\"] + agg_df[\"l1tex__data_pipe_lsu_wavefronts_mem_shared_op_st.sum\"]\n", "agg_df[\"Total L1 Transactions\"] = agg_df[\"L1 (GLOBAL)\"] + (4 * agg_df[\"L1 (SHARED)\"])\n", "# Shared Count Memory Transactions\n", "agg_df[\"L2 Write Transactions\"] = agg_df[\"lts__t_sectors_op_write.sum\"] + agg_df[\"lts__t_sectors_op_atom.sum\"] + agg_df[\"lts__t_sectors_op_red.sum\"]\n", "agg_df[\"L2 Read Transactions\"] = agg_df[\"lts__t_sectors_op_read.sum\"] + agg_df[\"lts__t_sectors_op_atom.sum\"] + agg_df[\"lts__t_sectors_op_red.sum\"]\n", "agg_df[\"Total L2 Transactions\"] = agg_df[\"L2 Read Transactions\"] + agg_df[\"L2 Write Transactions\"]\n", "# HBM Count Memory Transactions\n", "agg_df[\"HBM Transactions\"] = agg_df[\"dram__sectors_read.sum\"] + agg_df[\"dram__sectors_write.sum\"]\n", "# L1, L2, HBM Intensities\n", "agg_df[\"L1 Instruction Intensity\"] = agg_df[\"Warp Instructions\"] / agg_df[\"Total L1 Transactions\"]\n", "agg_df[\"L2 Instruction Intensity\"] = agg_df[\"Warp Instructions\"] / agg_df[\"Total L2 Transactions\"]\n", "agg_df[\"HBM Instruction Intensity\"] = agg_df[\"Warp Instructions\"] / agg_df[\"HBM Transactions\"]\n", "# Performance in GIPS\n", "agg_df[\"Performance GIPS\"] = agg_df[\"Warp Instructions\"] / (agg_df[\"time (gpu)\"] * (10 ** 9))" ] }, { "cell_type": "markdown", "id": "f0db197b", "metadata": {}, "source": [ "### Plotting Roofline with Matplotlib\n", "\n", "The plotting code below was adapted from the following resource: https://gitlab.com/NERSC/roofline-on-nvidia-gpus/-/blob/master/custom-scripts/roofline.py" ] }, { "cell_type": "code", "execution_count": 14, "id": "909bbd4e", "metadata": {}, "outputs": [], "source": [ "pruned_th_kers = tk_roofline.query(child_kernel_query, multi_index_mode=\"all\")\n", "metrics = [\"L1 Instruction Intensity\", \"L2 Instruction Intensity\", \"HBM Instruction Intensity\"]\n", "\n", "c_s = [\"red\", \"blue\", \"green\", \"orange\", \"purple\", \"cyan\", \"magenta\"]\n", "final_colors = []\n", "for i in agg_df[\"name\"].tolist():\n", " for j in range(0, len(kernel_types)):\n", " if i.startswith(kernel_types[j]):\n", " final_colors.append(c_s[j])\n", " continue\n", "\n", "font = {\"size\": 15}\n", "plt.rc(\"font\", **font)\n", "\n", "colors = [\"tab:blue\", \"tab:orange\", \"tab:green\", \"tab:red\", \"tab:purple\", \"tab:brown\", \"tab:pink\", \"tab:gray\", \"tab:olive\", \"tab:cyan\"]\n", "styles = [\"o\", \"s\", \"v\", \"^\", \"D\", \">\", \"<\", \"*\", \"h\", \"H\", \"+\", \"1\", \"2\", \"3\", \"4\", \"8\", \"p\", \"d\", \"|\", \"_\", \".\", \",\"]\n", "\n", "markersize = 10\n", "markerwidth = 2\n", "maxchar = 25\n", "\n", "def roofline(LABELS, flag=\"HBM\", data_df=None):\n", " LABELS = [x[:maxchar] for x in LABELS]\n", " \n", " bandiwdth_hbm = 25.9 # in GTXN/s\n", " bandwidth_l2 = 93.6 # in GTXN/s\n", " bandwidth_l1 = 437.5 # in GTXN/s\n", " \n", " if flag == \"L1\":\n", " memRoofs = [(\"L1\", bandwidth_l1)]\n", " elif flag == \"L2\":\n", " memRoofs = [(\"L2\", bandwidth_l2)]\n", " elif flag == \"HBM\":\n", " memRoofs = [(\"HBM\", bandiwdth_hbm)]\n", " elif flag == \"all\":\n", " memRoofs = [(\"L1\", bandwidth_l1), (\"L2\", bandwidth_l2), (\"HBM\", bandiwdth_hbm)]\n", "\n", " cmpRoofs = [(\"GIPS\", 489.6)]\n", "\n", " fig = plt.figure(1, figsize=(10,6))\n", " plt.clf()\n", " ax = fig.gca()\n", " ax.set_xscale(\"log\")\n", " ax.set_yscale(\"log\")\n", " ax.set_xlabel(\"Instruction Intensity [Warp Instructions/transaction]\")\n", " ax.set_ylabel(\"Performance [Warp GIPS]\")\n", "\n", " nx = 10000\n", " xmin = -3 \n", " xmax = 3\n", " ymin = 1\n", " ymax = 1000\n", "\n", " ax.set_xlim(10 ** xmin, 10 ** xmax)\n", " ax.set_ylim(ymin, ymax)\n", "\n", " ixx = int(nx * 0.02)\n", " xlim = ax.get_xlim()\n", " ylim = ax.get_ylim()\n", "\n", " scomp_x_elbow = []\n", " scomp_ix_elbow = []\n", " smem_x_elbow = []\n", " smem_ix_elbow = []\n", "\n", " x = np.logspace(xmin, xmax, nx)\n", " for roof in cmpRoofs:\n", " for ix in range(1, nx):\n", " if float(memRoofs[0][1] * x[ix]) >= roof[1] and (memRoofs[0][1] * x[ix - 1]) < roof[1]:\n", " scomp_x_elbow.append(x[ix - 1])\n", " scomp_ix_elbow.append(ix - 1)\n", " break\n", "\n", " for roof in memRoofs:\n", " for ix in range(1, nx):\n", " if (cmpRoofs[0][1] <= roof[1] * x[ix] and cmpRoofs[0][1] > roof[1] * x[ix - 1]):\n", " smem_x_elbow.append(x[ix - 1])\n", " smem_ix_elbow.append(ix - 1)\n", " break\n", "\n", " for i in range(len(cmpRoofs)):\n", " roof = cmpRoofs[i][1]\n", " y = np.ones(len(x)) * roof\n", " ax.plot(x[scomp_ix_elbow[i]:], y[scomp_ix_elbow[i]:], c=\"k\", ls=\"-\", lw=\"2\")\n", "\n", " for i in range(len(memRoofs)):\n", " roof = memRoofs[i][1]\n", " y = x * roof\n", " ax.plot(x[:smem_ix_elbow[i] + 1], y[:smem_ix_elbow[i] + 1], c=\"k\", ls=\"-\", lw=\"2\")\n", "\n", " for roof in cmpRoofs:\n", " ax.text(\n", " x[-ixx],\n", " roof[1],\n", " roof[0] + \": \" + \"{0:.1f}\".format(roof[1]) + \" Warp GIPS\",\n", " horizontalalignment=\"right\",\n", " verticalalignment=\"bottom\"\n", " )\n", "\n", " for roof in memRoofs:\n", " ang = np.arctan(np.log10(xlim[1] / xlim[0]) / np.log10(ylim[1] / ylim[0])\n", " * fig.get_size_inches()[1] / fig.get_size_inches()[0] )\n", " if x[ixx]*roof[1] > ymin:\n", " ax.text(\n", " x[ixx],\n", " x[ixx] * roof[1] * (1 + 0.25 * np.sin(ang) ** 2),\n", " roof[0] + \": \" + \"{0:.1f}\".format(float(roof[1])) + \" GTXN/s\",\n", " horizontalalignment=\"left\",\n", " verticalalignment=\"bottom\",\n", " rotation=180 / np.pi * ang\n", " )\n", " else:\n", " ymin_ix_elbow=list()\n", " ymin_x_elbow=list()\n", " for ix in range(1, nx):\n", " if (ymin <= roof[1] * x[ix] and ymin > roof[1] * x[ix - 1]):\n", " ymin_x_elbow.append(x[ix - 1])\n", " ymin_ix_elbow.append(ix - 1)\n", " break\n", " ax.text(\n", " x[ixx+ymin_ix_elbow[0]],\n", " x[ixx+ymin_ix_elbow[0]] * roof[1] * (1 + 0.25 * np.sin(ang) ** 2) * 1.15,\n", " roof[0] + \": \" + \"{0:.1f}\".format(float(roof[1])) + \" GTXN/s\",\n", " horizontalalignment=\"left\",\n", " verticalalignment=\"bottom\",\n", " rotation=180 / np.pi * ang\n", " )\n", "\n", " if flag == \"L1\":\n", " ax.scatter(data_df[metrics[0]], data_df[\"Performance GIPS\"], c=final_colors, label=\"L1\", marker=styles[0])\n", " elif flag == \"L2\":\n", " ax.scatter(data_df[metrics[1]], data_df[\"Performance GIPS\"], c=final_colors, label=\"L2\", marker=styles[1])\n", " elif flag == \"HBM\":\n", " ax.scatter(data_df[metrics[2]], data_df[\"Performance GIPS\"], c=final_colors, label=\"HBM\", marker=\"*\")\n", "\n", " elif flag == \"all\":\n", " ax.scatter(data_df[metrics[0]], data_df[\"Performance GIPS\"], c=final_colors, label=\"L1\", marker=styles[0])\n", " ax.scatter(data_df[metrics[1]], data_df[\"Performance GIPS\"], c=final_colors, label=\"L2\", marker=styles[1])\n", " ax.scatter(data_df[metrics[2]], data_df[\"Performance GIPS\"], c=final_colors, label=\"HBM\", marker=\"*\")\n", "\n", " custom_labels = [k.split(\"_\")[0] for k in kernel_types]\n", " custom_handles = [plt.Line2D([0], [0], color=i, lw=2) for i in c_s]\n", " \n", " if flag == \"HBM\":\n", " leg2 = ax.legend(\n", " custom_handles,\n", " custom_labels,\n", " bbox_to_anchor=(0.36, 1),\n", " title=\"Kernel Types\",\n", " fontsize=\"12\", # Adjust label font size (e.g., \"small\", \"medium\", \"large\", or specific size)\n", " title_fontsize=\"small\"\n", " )\n", " else:\n", " leg2 = ax.legend(\n", " custom_handles,\n", " custom_labels,\n", " bbox_to_anchor=(0.36, 1),\n", " title=\"Kernel Types\",\n", " fontsize=\"12\", # Adjust label font size (e.g., \"small\", \"medium\", \"large\", or specific size)\n", " title_fontsize=\"small\"\n", " )\n", " \n", " ax.add_artist(leg2)\n", " \n", " ax.legend(loc=\"upper left\")\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "id": "c208ebcb", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "roofline(LABELS=pruned_th.dataframe[\"name\"].tolist(), flag=\"all\", data_df=agg_df)" ] }, { "cell_type": "code", "execution_count": 16, "id": "7a2b50dd", "metadata": {}, "outputs": [ { "data": { "image/png": "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5MuXj7/++otjx45hbW2Nj49PjGUNPvzwQ44dO0bZsmXJlSsXFy9eZMeOHZhMJr777rtY15S7efMmJ0+ejHUO2ieffMKWLVvw9/enePHiVKtWjZs3b7Jz507Cw8P5+uuvqVKlygtdW8WKFcmUKZN5tC22oq5EiRK4uLiYlwV4uojq3LkzEyZMwM/PjxIlSlC5cmVu377Ntm3baNasGbt37473enyx6dGjB127duW7776jaNGiHD58mL/++ousWbNGG1F9HltbW3755Rfeeecd1q9fT/ny5SlZsiSlSpXC3t6ef//9l2PHjnHjxg0cHR1p0aJFgjM/y/3795kyZQrjx4+nePHilC5dGgcHBy5dusSuXbsIDQ2lWLFiTJ48OVlePzlppM5CEjscLklD34e0YcaMGZhMphhzDURE0rIaNWpw9uxZpkyZQo0aNTh58iQrV67E39+fe/fu8fbbb7N69WqOHDnCa6+9liwZfv/9d8aMGUOtWrW4du0avr6+/PLLLwQHB+Pt7c3PP/8cretkSnNwcGDz5s1MmDCBSpUqcfjwYVavXs2dO3fw9vYmICCADh06xHhc+/btKV26NIcOHeKnn37i77//pnXr1uzZsyfaumvxZWtry88//8yYMWPImTMnGzdu5MiRI9SuXRs/Pz8GDx6coOesVq2aeTu220FNJlO0NemeLupcXFzYs2cP77zzDo8fP8bX15fLly8zYsQIli5d+sKZnvb222/j6+uLtbU1a9eu5dKlSzRt2pQdO3a88O2mWbNmZd26dfz666906NCBx48fs3HjRlatWsWpU6coX74848eP559//jF3YU1qX3zxBQsXLqR9+/bY29vzxx9/8NNPP3Hs2DGqVKnC2LFjOXjwYKJvN7YEk6F3tYkWFBSEs7MzgYGBZM2a9ZnnPn78mLNnz1KwYMEXmlAryeP+/ftcvHiRokWLppph9kePHvHPP//w0ksvpVhnqtSuevXqXLlyhXPnznH69GmKFStm6UhJQt9rERFJjTp16sSCBQvYsmVLvBvKyH9epDZIKhqpS2G2trZYW1tbdJKo/Ofhw4dYW1tja2tr6SgSh3/++Yft27czceJEcuXKxeLFiy0dSURERCRV0Zy6FGYymXB0dCQwMJAcOXKk6jbG6V14eDiBgYE4Ojomy5opkjQWL15M9uzZady4Md7e3ixevJih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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "roofline(LABELS=pruned_th.dataframe[\"name\"].tolist(), flag=\"L1\", data_df=agg_df)" ] }, { "cell_type": "code", "execution_count": 17, "id": "3917697f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3UAAAIpCAYAAAAFNREYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADIwElEQVR4nOzdd1xW9f//8cfFFkEcYA6cBZqWuHFgpma5UMyZldvSLPFjqVk5Mkd+zFGKltvcuQVTU1ML9x4fB2o50xRTcLHP7w9/XF8JULwELsDn/Xbzduuc8z7nvI4Q8rzOOe+XyTAMAxEREREREcmWbKxdgIiIiIiIiFhOoU5ERERERCQbU6gTERERERHJxhTqREREREREsjGFOhERERERkWxMoU5ERERERCQbU6gTERERERHJxhTqREREREREsjGFOhERERERkWzsmQ91c+fOpWrVquTNm5fcuXNTuXJlFi9ebO2yRERERERE0sTO2gVY282bNwkICKBixYo4OTmxatUq3nrrLZycnAgICLB2eSIiIiIiIo9kMgzDsHYRWY2fnx+FCxdm6dKl1i5FRERERETkkZ75xy9TUqBAAWJjY61dhoiIiIiIyGNl6VC3f/9+vv76a9588008PT0xmUyYTKbH7nf//n2GDBmCt7c3Tk5OFClShK5du3L58uVU94mLiyMyMpIlS5awceNG3n///fS8FBERERERkQyRpR+/DAgIYPXq1cnWP6rkqKgo6tWrx65duyhcuDB16tTh3Llz7NmzBw8PD3bt2kXp0qWT7HP16lUKFy4MgK2tLVOmTOG9995L34sRERERERHJAFl6opSaNWtSoUIFqlWrRrVq1ShZsiTR0dGP3GfEiBHs2rWLmjVr8ssvv+Di4gLA+PHj+fjjj+natStbt25Nso+7uzt79+7l9u3brF+/ng8//JACBQrQqlWrjLo0ERERERGRdJGl79T9m5OTE9HR0aneqYuJiaFgwYJERERw4MABKlWqlGS7j48PR44cYd++fVSpUiXV8/To0YNt27YRFhaWrvWLiIiIiIiktyz9Tt2T2r59OxERETz//PPJAh1A69atAQgODn7kcSpWrMgff/yRITWKiIiIiIikpxwV6g4fPgxA5cqVU9yeuP7IkSOPPM6OHTsoWbJkutYmIiIiIiKSEbL0O3VP6sKFCwB4enqmuD1x/fnz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btCsWTNzs+7mzZuzYsUK3VUXkSzjSZ/iSw9KEyI5VaFC1q7g/1hQy6+//sqVK1dYvHgxixcvTrZ9wYIFSUJdeipYsCCHDh1iw4YNrFu3jnXr1jF79mw6duzI3LlzM+ScIvJ4MTExtGrVirNnzwLg4+PDggULFOhE5JmnUCeSU1nwuGNWsmDBAgoWLEhQUFCybStWrGDlypV8//335nWnT59ONi4sLIySJUsmWZeQkMAff/xhvjuXOA5IMtbBwQF/f3/8/f1JSEjggw8+4IcffmDw4ME5pk+eSHZiGAYffPAB27ZtA+C5555jzZo16vkqIoJCnYhkQffv32fFihW0adOG1q1bJ9tepEgRFi1axJo1a/D19QVg1apVXL582fxe3Z49e9i9ezd9+/ZNtv/kyZPNE6UYhsHkyZOxt7enQYMGwIPHuwoUKGAeb2NjQ4UKFQCIjo5O12sVkbQZP348M2fOBMDR0ZHVq1dTvHhxK1clIpI1KNSJSJazZs0abt++TfPmzVPcXqNGDXMj8sRQ98ILL+Dn50evXr2Ijo5m4sSJFChQgAEDBiTZ18nJifXr19OpUyd8fX1Zt24da9eu5bPPPsPDwwOA7t27888//1C/fn08PT05f/48kyZNomLFirz44osZe/EikkxISAj9+/c3L8+ePdv8/76IiCjUiUgWtGDBApycnGjYsGGK221sbGjatCkLFizgxo0bAHTs2BEbG5skzccnT55M4cKFk+xra2vL+vXr6dWrF/3798fV1ZWhQ4cyZMgQ85h33nmHadOmMWXKFG7dukWhQoVo164dw4YNw8bGJuMuXESSOXLkCG+99ZZ5psshQ4bw1ltvWbkqEZGsxWQk/pQUiyXOcBMREUGePHmsXY5kc1FRUfz555+UKlUKJycna5eT5Z07d45SpUoxduxYPvnkk0eO7dy5M8uWLePOnTuZVN2j6Wst8mh///031atX58KFCwC0bduWRYsW6cMVEcnSrJEN9FNRREREspyoqChatmxpDnTVqlVjzpw5CnQiIinQT0YRERHJUgzDoHv37uzcuROAokWLsnr1anLlymXlykREsiaFOhEREclSRo0axYIFCwBwdnYmODg42fuxIiLyfzRRiohkayVLliStrwbPmTOHOXPmZGxBIvJUli1bxhdffGFenj9/PpUqVbJiRSIiWZ/u1ImIiEiW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z8+PadOmaaZLERHJESxKXBEREdSpU4f//e9/2Nra4uDggGEYFC5cmKtXr5obuJYoUSJdixUREXlSCQkJdOzYkQMHDgBQsmRJVqxYgaOjo5UrExERSR8W3an7+uuvOXbsGO+99x6RkZG0bt0ak8nE5cuXuXv3LnPmzKFQoUL4+vryxx9/pHfNWUZQUBDlypWjWrVq1i5FRERSMWTIEFasWAGAq6srISEheHh4WLkqERGR9GNRn7oXX3yR27dv8+eff2Jvb0+XLl348ccfk/SjO378OJUqVWLkyJF88skn6Vp0VqM+dSIiWdP8+fN59913gQc9VkNCQmjcuLGVqxIRkZzMGtnAojt158+fp3Llytjb2z84yP9vRh4bG2seU65cOerWrcucOXOevkoREZEntGPHDrp162ZeHj9+vAKdiIjkSBaFOicnJ5ycnMzLiQn06tWrScblz5+fP//88ynKExEReXLnzp0jICCAmJgYAN5//3369Olj5apEREQyhkWhrlixYly8eNG8XLZsWQC2bdtmXhcXF8fevXspUKDAU5YoIiKSdrdv38bf35/r168DUL9+fSZNmqSZLkVEJMeyKNTVqVOHI0eOcPv2bQD8/f2xs7OjT58+fP/99wQHB9O6dWvOnTtH3bp107VgERGR1MTHx/PWW29x7NgxALy8vFi6dKn5dQEREZGcyKJQ1759eypUqMCOHTsAKFKkCKNHj+bWrVv07t2bgIAA1qxZw3PPPceYMWPStWAREZHUDBgwgLVr1wKQN29eQkJCyJ8/v5WrEhERyVgWzX6Zmt27d7Ny5Upu3ryJt7c3Xbp0eSb+MdXslyIi1jdjxgx69OgBgK2tLRs2bKBBgwZWrkpERJ411sgGaWo+7u/vzyuvvIKfnx/VqlXDzi7l3Xx9ffH19U3XAkVERB5n69at9OrVy7wcFBRknUB3+jT8/1cTUuTqCl5emVePiIg8E9J0p87Gxsb8grmTkxPVq1enTp061KlTh1q1apE7d+4MLzQr0506ERHrOXPmDL6+vvzzzz8ABAYGMnHixMwv5PRp8PZ+/LiwMAU7EZEcLMveqZs7dy6///47v//+O6dOnWLbtm389ttvwINHXHx8fMwhz8/PDw8PjwwtWkREBODmzZs0a9bMHOgaN27MN998Y51iHnWHzpJxIiIiafTE79SFh4cTGhrK77//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3JhvvvnGylWJiIjI07DonToHBwfKli2b3rVkO0FBQZQrV45q1apZuxQRkceKjY2lbdu2nDp1CoDy5cuzePFibG1trVyZiIiIPA2LQp2fnx/Hjx9P71qynd69e3P8+HH27t1r7VJERB7JMAwCAwPZtGkT8KCnaHBwsHprioiI5AAWhbpRo0Zx5swZgoKC0rseERHJAEFBQUydOhV48LTFypUrKVWqlJWrEhERkfRg0Tt1Bw4coEuXLvTp04effvqJhg0b4unpiY1NyhmxY8eOT1WkiIhYbsOGDQQGBpqXp0+fjp+fnxUrEhERkfRkMgzDeNKdbGxsMJlMPLyryWRKNs4wDEwmE/Hx8U9XZRYXGRmJm5sbERERepRJRLKU48ePU7NmTSIjIwH49NNPGT169ON3VPNxERERi1gjG1h0p27IkCEphjgREck6wsPD8ff3Nwe6gIAARo4cmbadvbweBLZHNRd3dVWgExERyQIsulMnSelOnYhkNTExMTRs2JDffvsNgIoVK/L777/j4uJi5cpERERyNmtkA4smShERkazLMAx69uxpDnSFChUiODhYgU5ERCSHUqgTEclhvvnmG2bPng2Ak5MTq1evxtPT08pViYiISEax6J26RKGhoaxevZrTp09z+/ZtUnqS02QysXnz5qc5jYiIpNGaNWsYOHCgeXnOnDlUr17dihWJiIhIRrMo1BmGQbdu3Zg7d645yKU0G2bi7JciIpLxDh8+TIcOHcw/i4cNG0a7du2sXJWIiIhkNIsev/z++++ZM2cOVapUYePGjbz55psAnDp1inXr1tG5c2dsbGzo378/f/zxR7oWLCIiyV29ehV/f3/u3r0LQPv27RkyZIiVqxIREZHMYNGdujlz5pA7d27WrVtHgQIFmD9/PgBeXl54eXnxxhtv0KRJE9q1a0etWrUoUaJEuhYtIiL/JyoqioCAAC5evAhA9erVmTVrlp6UEBEReUZYdKfuxIkT1KpViwIFCgD/13j84SbjrVu3pkqVKnzzzTfpUKaIiKTEMAy6du3K7t27AfD09GTVqlXkypXLypWJiIhIZrEo1CUkJJgDHYCzszMAN2/eTDLOy8uLo0ePPkV5IiLyKCNGjGDRokUA5M6dm+DgYAoXLmzlqkRERCQzWRTqihYtyl9//WVeTny88uDBg0nGhYWFYWf3VBNsiohIKn76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ePBgqUfMWbNmoW/fvjqOioiIiIhKAos6ojLu8ePH8PPzQ2pqKgBg4MCBmDp1qo6jIiIiIqKSwqKOqAxLT09Hjx49EB8fDwBo3rw5goKCpI5TiIiIiKj8Y1FHVEYJITB8+HCcPn0aAGBra4uQkBCYmJjoODIiIiIiKkks6ojKqNmzZ+OPP/4AAJiamiIsLAw1atTQcVREREREVNJY1BGVQdu2bcP06dMBvBqjbsuWLXB3d9dxVERERESkCyzqiMqY06dPY+jQodLjBQsWwM/PT4cREREREZEusagjKkMePHiAHj16ICMjAwAwbNgwTJw4UcdREREREZEusagjKiNSU1Ph5+eHx48fAwC8vb2xatUq9nRJRERE9I5jUUdUBigUCgwePBjnz58HANSuXRvBwcEwNDTUcWREREREpGss6ojKgG+//RYhISEAADMzM4SFhaFatWq6DYqIiIiISgUWdUSl3KZNmzB//nwAgJ6eHrZt24Z69erpOCoiIiIiKi1Y1BGVYidPnsTIkSOlx4sXL0aXLl10GBERERERlTYs6ohKqTt37qBnz57IysoCAIwaNQpjxozRcVREREREVNqwqCMqhV68eAFfX188efIEANCxY0f88ssv7OmSiIiIiNSwqCMqZeRyOQYOHIjLly8DAFxdXbFt2zZUqFBBx5ERERERUWnEoo6olJk4cSL27NkDALC0tER4eDgsLS11HBURERERlVYs6ohKkV9//RWLFy8GABgYGCA4OBguLi66DYqIiIiISjUWdUSlxJEjRzB69Gjp8cqVK9GuXTvdBUREREREZQKLOqJSIC4uDn369EFOTg4AYMKECfjkk090HBURERERlQUs6oh0LCkpCb6+vkhKSgIAdO/eHQsXLtRxVERERERUVrCoI9Kh7Oxs9O3bF3FxcQCABg0aYMuWLdDX19dxZERERERUVrCoI9IRIQTGjh2Lw4cPAwCsrKwQFhYGMzMzHUdGRERERGUJizoiHVm6dClWrVoFADA0NMSuXbvg4OCg26CIiIiIqMxhUUekA3v37sWECROkx0FBQfDy8tJhRERERERUVrGoA3DhwgV4e3vDxMQEjo6OWLZsma5DonLs8uXL6N+/PxQKBQDgm2++weDBg3UcFRERERGVVQa6DkDXEhMT0alTJzRr1gzh4eE4d+4cxo8fD3NzcwwZMkTX4VE5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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "roofline(LABELS=pruned_th.dataframe[\"name\"].tolist(), flag=\"L2\", data_df=agg_df)" ] }, { "cell_type": "code", "execution_count": 18, "id": "02d2e19e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3UAAAIpCAYAAAAFNREYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADSrklEQVR4nOzdd1xW5f/H8dfNFlEQ3Du3luLeuxylKO6RKzNzW5alliszK0eaYloOzJG5Fc2cqZlbc5Qzf25LxQEoss/vD76cJFARgZvxfj4e90POOdc553OAhzef+7quz2UxDMNARERERERE0iQbawcgIiIiIiIiiaekTkREREREJA1TUiciIiIiIpKGKakTERERERFJw5TUiYiIiIiIpGFK6kRERERERNIwJXUiIiIiIiJpmJI6ERERERGRNExJnYiIiIiISBqW4ZO6BQsWULlyZdzc3MicOTMVK1Zk6dKl1g5LREREREQkQeysHYC13b17F29vb8qXL4+TkxNr1qyhU6dOODk54e3tbe3wREREREREnshiGIZh7SBSm9q1a5MnTx6WL19u7VBERERERESeKMMPv4yPh4cH4eHh1g5DRERERETkqVJ1Unf48GE+//xzWrduTf78+bFYLFgslqee9/DhQ0aNGkWJEiVwcnIib9689OzZk2vXrj32nIiICAIDA/nxxx/ZsmULb7/9dlI+ioiIiIiISLJI1cMvvb29Wbt2bZz9Two5JCSEBg0asG/fPvLkyUOdOnW4ePEiBw4cIEeOHOzbt48iRYrEOueff/4hT548ANja2jJz5kx69+6dtA8jIiIiIiKSDFJ1oZQaNWpQrlw5qlSpQpUqVShcuDChoaFPPOfTTz9l37591KhRg82bN+Pi4gLAlClTeO+99+jZsyc7duyIdU727Nk5ePAgQUFB/PzzzwwYMAAPDw/atGmTXI8mIiIiIiKSJFJ1T91/OTk5ERoa+tieurCwMHLmzElAQABHjhyhQoUKsY57enpy/PhxDh06RKVKlR57n7feeoudO3dy9uzZJI1fREREREQkqaXqOXXP6rfffiMgIICiRYvGSegA2rZtC4Cfn98Tr1O+fHn+7//+L1liFBERERERSUrpKqk7duwYABUrVoz3eMz+48ePP/E6e/bsoXDhwkkam4iIiIiISHJI1XPqntXly5cByJ8/f7zHY/ZfunTJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "roofline(LABELS=pruned_th.dataframe[\"name\"].tolist(), flag=\"HBM\", data_df=agg_df)" ] }, { "cell_type": "code", "execution_count": null, "id": "63636ddf", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" }, "papermill": { "default_parameters": {}, "duration": 3.570405, "end_time": "2024-03-26T22:19:29.810540", "environment_variables": {}, "exception": null, "input_path": "01_thicket_tutorial.ipynb", "output_path": "01_thicket_tutorial.ipynb", "parameters": {}, "start_time": "2024-03-26T22:19:26.240135", "version": "2.5.0" } }, "nbformat": 4, "nbformat_minor": 5 }