Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,31 @@ scripts/ # Launch scripts, profiling, analysis tools
analysis/ # Overlap report generation
```

## Installation

We recommend using [uv](https://github.com/astral-sh/uv) for fast, reliable Python environment management.

```bash
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create and activate a virtual environment
uv venv && source .venv/bin/activate

# Install PyTorch nightly for ROCm 7.1
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm7.1/

# Install remaining dependencies
uv pip install -r requirements.txt

# For full installation including hw_queue_eval
uv pip install -e ".[hw-queue]"
```

## Development

```bash
pip install -r requirements-dev.txt
uv pip install -r requirements-dev.txt
pre-commit install
pytest tests/
```
Expand Down
17 changes: 14 additions & 3 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,29 @@ This captures a profiler trace file locally.

## Local Installation (Analysis & Processing)

For running analysis scripts and processing traces locally:
For running analysis scripts and processing traces locally.

We recommend using [uv](https://github.com/astral-sh/uv) for fast, reliable Python environment management.

```bash
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone the repository
git clone https://github.com/ROCm/aorta.git
cd aorta

# Create and activate a virtual environment
uv venv && source .venv/bin/activate

# Install PyTorch nightly for ROCm 7.1
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm7.1/

# Install dependencies for analysis scripts
pip install -r requirements.txt
uv pip install -r requirements.txt

# For contributors: install development tools (pytest, pre-commit, etc.)
pip install -r requirements-dev.txt
uv pip install -r requirements-dev.txt
pre-commit install
```

Expand Down
27 changes: 21 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "0.2.0"
description = "PyTorch compute-communication overlap debugging toolkit with GPU hardware queue evaluation"
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.12"
requires-python = ">=3.10"
authors = [
{name = "AMD ROCm Team"}
]
Expand All @@ -17,27 +17,41 @@ classifiers = [
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: System :: Hardware",
]
keywords = ["gpu", "rocm", "amd", "pytorch", "cuda", "benchmark", "fsdp", "distributed-training", "hardware-queue"]

# Base dependencies (original aorta)
# Base dependencies (PyTorch installed separately - see requirements.txt)
dependencies = [
"torch>=2.0.0",
"pyyaml>=6.0",
"click>=8.0.0", # For aorta-report CLI
]

[project.scripts]
aorta-report = "aorta.report:main"

[project.optional-dependencies]
# For analysis/visualization scripts
analysis = [
"matplotlib>=3.7.0",
]

# For aorta-report CLI (full functionality)
report = [
"numpy>=1.20.0",
"pandas>=1.3.0",
"openpyxl>=3.0.0",
"matplotlib>=3.7.0",
"seaborn>=0.12.0",
"beautifulsoup4>=4.12.0",
]

# For hw_queue_eval subpackage
hw-queue = [
"click>=8.0.0",
"numpy>=1.20.0",
"pandas>=1.3.0",
"tabulate>=0.9.0",
Expand Down Expand Up @@ -66,6 +80,7 @@ dev = [
# Full installation
all = [
"aorta[analysis]",
"aorta[report]",
"aorta[hw-queue]",
"aorta[hw-queue-profiling]",
"aorta[dev]",
Expand Down Expand Up @@ -97,15 +112,15 @@ markers = [

[tool.black]
line-length = 100
target-version = ['py312']
target-version = ['py310', 'py311', 'py312']
include = '\.pyi?$'

[tool.isort]
profile = "black"
line_length = 100

[tool.mypy]
python_version = "3.12"
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
Expand Down
18 changes: 11 additions & 7 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
# Dependencies for local analysis and processing scripts
# (Training dependencies are managed in Docker - see docker/Dockerfile.*)
# Install with: pip install -r requirements.txt
#
# Install with uv (two steps to avoid pulling nvidia packages):
# uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm7.1/
# uv pip install -r requirements.txt
#
# For full installation including hw_queue_eval:
# pip install -e ".[hw-queue]"
# uv pip install -e ".[hw-queue]"
#
# For development:
# pip install -e ".[all]"
# uv pip install -e ".[all]"

# Base dependencies
torch>=2.0.0
# Base dependencies (PyTorch installed separately - see above)
pyyaml>=6.0

# For analysis scripts
Expand All @@ -23,9 +25,11 @@ beautifulsoup4>=4.12.0
# For GEMM analysis (scripts/gemm_analysis/)
git+https://github.com/AMD-AGI/TraceLens.git

# For aorta-report CLI (src/aorta/report/)
click>=8.0.0

# For hw_queue_eval (optional - install with: pip install -e ".[hw-queue]")
# click>=8.0.0
# numpy>=1.20.0
# numpy>=1.20.0 # Already included above
# tabulate>=0.9.0

# For trace processing (merge_gpu_trace_ranks.py, etc.)
Expand Down
Loading
Loading