Add your description here
Project description
Workload Analyzer 📊
A simple tool for monitoring and analyzing GPU and system resource usage during AI/ML workloads.
🌟 Features
- 📈 Real-time monitoring of GPU utilization, memory usage, and system resources
- 🔍 Detailed visualization of resource usage over time
- 💡 Intelligent recommendations for workload optimization
- 🚀 Easy-to-use CLI interface
- 📝 Comprehensive statistics export
🔧 Installation
Using pip
pip install workload-analyzer
Development setup
# Clone the repository
git clone https://github.com/yourusername/workload-analyzer
cd workload-analyzer
# Install using uv with development dependencies
uv sync --dev
📋 Requirements
- Python 3.12+
- NVIDIA GPU with nvidia-smi (for GPU monitoring)
🚀 Quick Start
# Run a command with default settings
workload-analyzer "python train_model.py"
# Specify timeout and polling interval
workload-analyzer "python train_model.py" --timeout 300 --interval 5
📊 Output
The tool generates:
-
Statistics file: JSON format data with all recorded measurements
-
Visualizations:
- GPU memory usage over time
- System memory consumption
- CPU and disk utilization
- Network usage
- Process memory statistics
-
Optimization recommendations based on resource utilization patterns:
- GPU memory sizing recommendations
- Compute utilization insights
- Memory bandwidth analysis
- System resource optimization tips
All outputs are saved to workload_results/ by default (configurable with --output-dir).
🛠️ Configuration options
--timeout Time to monitor in seconds (default: 120)
--interval Polling interval in seconds (default: 3)
--recommendations Enable workload optimization recommendations (default: True)
--output-dir Directory to save outputs (default: workload_results/)
--verbose Enable verbose logging (default: True)
--version Print version information
❕ License
Package is licensed under Apache 2.0 license. Free to use as you like, but a cite of the package is welcome:
@misc{skafte_workload_analyzer,
author = {Nicki Skafte Detlefsen},
title = {Workload-Analyzer},
howpublished = {\url{https://github.com/SkafteNicki/workload_analyzer}},
year = {2025}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file workload_analyzer-0.0.7.tar.gz.
File metadata
- Download URL: workload_analyzer-0.0.7.tar.gz
- Upload date:
- Size: 95.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f031da5b17fea26feb373c2d554d8e30d68ac554d35847777e6c7212f946ccb
|
|
| MD5 |
1195072fb06722dd235e7ec2ca40f49c
|
|
| BLAKE2b-256 |
d61f5d05e93549f9cde061faf12fa2019bf5a0f8ff3406c5f4da0e0a3834c56c
|
File details
Details for the file workload_analyzer-0.0.7-py3-none-any.whl.
File metadata
- Download URL: workload_analyzer-0.0.7-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ee3d7db281e6262d77a3730d603b5e32deec3d0bb4f70420fd0f7efa97bea0
|
|
| MD5 |
091fedd838954b95fca76c9dba2a2a58
|
|
| BLAKE2b-256 |
f70d1129e21dee017e4836ddedd73cbb7f4396e6f54692abe7a64ab4445b9c8a
|