Skip to main content

A simple roofline plotter for visualizing performance data

Project description

Roofline Model Visualization Package

A Python class for generating roofline model plots with customizable data points and performance ceilings, mainly written by DeepSeek-r1

Installation

pip install roofline-plotter

Basic Usage

import pathlib
from roofline import Roofline

# Initialize plotter
rl = Roofline()

# Configure units and performance limits
rl.set_units("FLOPS", "bytes")
rl.set_ideal(max_arith=100, max_bandwidth=50)  # Your hardware limits

# Add data points
rl.add_point(80, 2, category="Kernel A")
rl.add_point(45, 1.5, category="Kernel B")

# Generate plot
rl.plot(pathlib.Path("roofline_plot.pdf"))

Customization

Category Colors

rl.set_palette({
    "Kernel A": "#FF5733",
    "Kernel B": "#33FF57",
    "Optimized": "#3357FF"
})

API Reference

Roofline Class Methods

  • set_units(arith_unit: str, data_unit: str)
    Set measurement units for axes labels

  • set_ideal(max_arith: float, max_bandwidth: float)
    Define performance ceilings (arithmetic intensity vs bandwidth)

  • add_point(throughput: float, data_amount: float, category: str)
    Add a benchmark result with classification

  • set_palette(palette: dict)
    Customize category colors {category_name: hex_color}

  • plot(figure_path: pathlib.Path)
    Generate and save PDF plot with current configuration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roofline_plotter-0.1.1.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

roofline_plotter-0.1.1-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file roofline_plotter-0.1.1.tar.gz.

File metadata

  • Download URL: roofline_plotter-0.1.1.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for roofline_plotter-0.1.1.tar.gz
Algorithm Hash digest
SHA256 11a615a80b99bee545411562cc94a4ffc869c1d2df5ca1b6e799a04d6ff1c024
MD5 45bc67cdbab5eb3a192a36759de1609d
BLAKE2b-256 7a503f14d3349dc1faf3ff730ccef8dad2bb3f73435234e1189eafeb2686d94d

See more details on using hashes here.

File details

Details for the file roofline_plotter-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for roofline_plotter-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37e6094205e79a723b55a68a7f84a6e55aba67712bf0ed4be07fd120b435b1ca
MD5 727f7ab1ed8e22f069b4cdc9d0e527a4
BLAKE2b-256 e9bf779f7d85fe3a780b41dee546a636839deb0b349713b8a584420df002bdc4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page