Skip to content

Commit 30e6581

Browse files
committed
release: bump version to 0.8.0
New features in v0.8.0: - Apple Instruments (xctrace) integration for Metal GPU profiling - Cross-platform device utilities (CUDA/MPS/ROCm/CPU) - Enhanced Python examples with device selection - Test runner for multi-device testing All 8 Python example tests pass on MPS.
1 parent 99db761 commit 30e6581

8 files changed

Lines changed: 42 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,37 @@ All notable changes to TraceSmith will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.8.0] - 2025-12-07
9+
10+
### Added
11+
- **Apple Instruments (xctrace) Integration**: Real Metal GPU profiling on macOS
12+
- `XCTraceProfiler`: Python wrapper for xctrace
13+
- Automatic Metal GPU event parsing from Instruments traces
14+
- Support for multiple Instruments templates (Metal System Trace, GPU Driver, etc.)
15+
- CLI: `--xctrace`, `--xctrace-template`, `--keep-trace` options
16+
- Captures real GPU events (13K+ events in tests)
17+
18+
- **Cross-Platform Device Utilities**: Unified device management for examples
19+
- `DeviceManager`: Auto-detect and manage CUDA/MPS/ROCm/CPU devices
20+
- `benchmark()`: Cross-platform benchmarking with proper synchronization
21+
- Test decorators: `skip_if_no_gpu`, `skip_if_not_cuda`, `skip_if_not_mps`
22+
- `run_tests.py`: Test runner for all examples across devices
23+
24+
- **Enhanced Python Examples**:
25+
- All examples now support `--device` flag for device selection
26+
- Automatic device detection and fallback
27+
- Comprehensive test coverage on MPS and CPU
28+
29+
### Changed
30+
- Updated C++ CLI `profile` command with xctrace support on macOS
31+
- Improved Python CLI with xctrace backend option
32+
- Enhanced README with cross-platform device support documentation
33+
34+
### Fixed
35+
- PyTorch hooks profiling backward pass compatibility
36+
- Multi-GPU profiling cluster availability checks
37+
- Real-time tracing session configuration
38+
839
## [0.7.1] - 2025-12-04
940

1041
### Added

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.16)
22
project(TraceSmith
3-
VERSION 0.6.0
3+
VERSION 0.8.0
44
DESCRIPTION "Cross-platform GPU Profiling & Replay System"
55
LANGUAGES CXX
66
)

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ TraceSmith provides a comprehensive CLI with ASCII banner and colored output:
269269
██║ ██║ ██║██║ ██║╚██████╗███████╗███████║██║ ╚═╝ ██║██║ ██║ ██║ ██║
270270
╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝
271271
272-
GPU Profiling & Replay System v0.7.1
272+
GPU Profiling & Replay System v0.8.0
273273
```
274274

275275
**Available Commands:**
@@ -708,7 +708,7 @@ make benchmark_10k_stacks -j8
708708

709709
```bash
710710
# Basic installation
711-
pip install tracesmith==0.7.1
711+
pip install tracesmith==0.8.0
712712

713713
# With CuPy for real GPU profiling in Python CLI (choose one):
714714
pip install tracesmith[cuda12] # CUDA 12.x
@@ -795,7 +795,8 @@ for (int i = 0; i < 10000; ++i) {
795795
796796
| Version | Date | Highlights |
797797
|---------|------|------------|
798-
| **v0.7.1** | 2025-12 | **Multi-GPU Phase 2** - TimeSync, NCCLTracker, ClockCorrelator, CommAnalysis |
798+
| **v0.8.0** | 2025-12 | **xctrace Integration** - Apple Instruments, Cross-Platform Device Utils, Enhanced Examples |
799+
| v0.7.1 | 2025-12 | **Multi-GPU Phase 2** - TimeSync, NCCLTracker, ClockCorrelator, CommAnalysis |
799800
| **v0.7.0** | 2025-12 | **Multi-GPU Cluster** - GPUTopology, MultiGPUProfiler, GitHub Actions CI/CD |
800801
| v0.6.9 | 2025-12 | Include reorganization - Directory structure matches `src/` layout |
801802
| v0.6.8 | 2025-12 | Enhanced CLI - ASCII banner, all commands, Python CLI |

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ docs/
8787

8888
| Metric | Value |
8989
|--------|-------|
90-
| **Version** | 0.7.1 |
90+
| **Version** | 0.8.0 |
9191
| **C++ Standard** | C++17 |
9292
| **Python** | 3.9 - 3.12 |
9393
| **Platforms** | Linux, macOS, Windows |

include/tracesmith/common/types.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ namespace tracesmith {
1111

1212
/// Version information
1313
constexpr uint32_t VERSION_MAJOR = 0;
14-
constexpr uint32_t VERSION_MINOR = 7;
15-
constexpr uint32_t VERSION_PATCH = 1;
14+
constexpr uint32_t VERSION_MINOR = 8;
15+
constexpr uint32_t VERSION_PATCH = 0;
1616

1717
/// Event types that can be captured
1818
enum class EventType : uint8_t {

python/src/bindings.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ PYBIND11_MODULE(_tracesmith, m) {
5757
m.doc() = "TraceSmith GPU Profiling & Replay System";
5858

5959
// Version info
60-
m.attr("__version__") = "0.7.1";
60+
m.attr("__version__") = "0.8.0";
6161
m.attr("VERSION_MAJOR") = VERSION_MAJOR;
6262
m.attr("VERSION_MINOR") = VERSION_MINOR;
6363
m.attr("VERSION_PATCH") = VERSION_PATCH;

python/tracesmith/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
A cross-platform GPU profiling and replay system for AI compilers,
55
deep learning frameworks, and GPU driver engineers.
66
7-
Version: 0.7.1
7+
Version: 0.8.0
88
99
Features:
1010
- Cross-platform GPU profiling (CUDA via CUPTI, ROCm, Metal)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def build_extension(self, ext):
182182

183183
setup(
184184
name='tracesmith',
185-
version='0.7.1',
185+
version='0.8.0',
186186
author='Xingqiang Chen',
187187
author_email='chenxingqiang@gmail.com',
188188
description='Cross-platform GPU Profiling & Replay System',

0 commit comments

Comments
 (0)