CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
101 lines
2.9 KiB
Bash
Executable File
101 lines
2.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# ########################################################################
|
|
# Copyright (C) 2019-2025 Advanced Micro Devices, Inc. All rights Reserved.
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in
|
|
# all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
# THE SOFTWARE.
|
|
#
|
|
# ########################################################################
|
|
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo "Please supply a rocSPARSE performance logfile as command line argument";
|
|
exit 1
|
|
fi
|
|
|
|
echo "Parsing $1 ..."
|
|
|
|
# Read all lines of the logfile
|
|
readarray log < $1
|
|
|
|
# Store if GFlop/s pattern has been found
|
|
found=0
|
|
|
|
# Create temporary file
|
|
tmpfile=$(mktemp /tmp/$1.XXXXXX)
|
|
|
|
i=0
|
|
for line in "${log[@]}"; do
|
|
# Extract the matrix names
|
|
matrix=$(echo $line | sed -n 's/.*Reading matrix .\/matrices\/// ; s/.csr.*//p')
|
|
|
|
if [ ! "$matrix" = "" ]; then
|
|
echo "Extracting performance data of matrix $matrix"
|
|
mat=$matrix
|
|
fi
|
|
|
|
# Split line into its strings
|
|
array=($(echo $line | tr " " "\n"))
|
|
|
|
# Find GFlop/s slot
|
|
j=0
|
|
for slot in "${array[@]}"; do
|
|
if [ "$slot" = "GFlop/s" ]; then
|
|
idx=$j
|
|
fi
|
|
j=$((j+1))
|
|
done
|
|
|
|
# Extract GFlop/s on pattern match
|
|
if [ $found -eq 1 ]; then
|
|
# Add data to tmpfile
|
|
echo "$i $mat ${array[$idx]}" >> $tmpfile
|
|
i=$((i+1))
|
|
fi
|
|
|
|
# Check for GFlop/s pattern
|
|
if [ "${array[$idx]}" = "GFlop/s" ]; then
|
|
found=1
|
|
else
|
|
found=0
|
|
fi
|
|
done
|
|
|
|
# Plot the bar chart
|
|
i=$((i-1))
|
|
gnuplot -persist <<-EOFMarker
|
|
reset
|
|
set grid
|
|
set style fill solid 0.2
|
|
set term postscript eps enhanced color font 'Helvetica,12'
|
|
set output "$1.eps"
|
|
set termoption noenhanced
|
|
set ylabel "GFlop/s"
|
|
set xrange [-0.5:$i.5]
|
|
set yrange [0:*]
|
|
set offsets 0.25, 0.25, 10, 0
|
|
set xtics rotate by -45
|
|
set boxwidth 0.5
|
|
set size ratio 0.35
|
|
unset key
|
|
plot "$tmpfile" using 1:3:xtic(2) with boxes
|
|
EOFMarker
|
|
|
|
rm "$tmpfile"
|