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
90 changes: 90 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Changelog

All notable changes to OVMobileBench will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- Three flexible OpenVINO distribution modes:
- **Build mode**: Build OpenVINO from source with custom configurations
- **Install mode**: Use existing OpenVINO installation directory
- **Link mode**: Download OpenVINO archives with "latest" auto-detection support
- Automatic platform detection for downloading appropriate OpenVINO builds
- Comprehensive test coverage for new OpenVINO modes
- New documentation: `docs/openvino-modes.md` with detailed usage examples
- Support for `archive_url: "latest"` to automatically fetch the latest OpenVINO build

### Changed

- Configuration schema: `build` section renamed to `openvino` with new `mode` field
- Updated example YAML files to demonstrate all three OpenVINO modes
- Improved configuration documentation with mode-specific examples
- Enhanced pipeline to handle OpenVINO distribution flexibly

### Fixed

- Unified YAML comment formatting across example configurations
- Pre-commit hook compliance for all new code

### Migration Guide

To migrate from the old configuration format:

**Old format:**

```yaml
build:
enabled: true
openvino_repo: "/path/to/openvino"
openvino_commit: "HEAD"
```

**New format:**

```yaml
openvino:
mode: "build"
source_dir: "/path/to/openvino"
commit: "HEAD"
```

## [0.2.0] - 2024-12-15

### Added

- Android SDK/NDK installer module for automated setup
- SSH device support for Linux ARM devices
- Temperature monitoring and performance tuning
- GitHub Actions CI/CD integration
- Comprehensive documentation

### Changed

- Improved device abstraction layer
- Enhanced error handling and reporting
- Updated dependencies to latest versions

### Fixed

- ADB connection stability issues
- Memory leaks in long-running benchmarks
- Report generation for large datasets

## [0.1.0] - 2024-11-01

### Added

- Initial release of OVMobileBench
- Basic pipeline for building, packaging, deploying, and benchmarking
- Support for Android devices via ADB
- JSON and CSV report generation
- Matrix testing capabilities
- Basic documentation and examples

[Unreleased]: https://github.com/embedded-dev-research/OVMobileBench/compare/v0.2.0...HEAD
[0.2.0]: https://github.com/embedded-dev-research/OVMobileBench/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/embedded-dev-research/OVMobileBench/releases/tag/v0.1.0
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,20 @@ ovmobilebench all -c experiments/android_example.yaml
cat experiments/results/*.csv
```

### OpenVINO Distribution Modes

OVMobileBench supports three flexible ways to obtain OpenVINO:

1. **Build Mode** - Build OpenVINO from source
2. **Install Mode** - Use pre-built OpenVINO installation
3. **Link Mode** - Download OpenVINO archive (supports "latest" for auto-detection)

See [Configuration Reference](docs/configuration.md) for details.

## 📚 Documentation

- **[Getting Started Guide](docs/getting-started.md)** - Installation and first benchmark
- **[OpenVINO Modes Guide](docs/openvino-modes.md)** - Three ways to obtain OpenVINO runtime
- **[User Guide](docs/user-guide.md)** - Complete usage documentation
- **[Configuration Reference](docs/configuration.md)** - YAML configuration schema
- **[Device Setup](docs/device-setup.md)** - Android/Linux device preparation
Expand All @@ -39,7 +50,7 @@ cat experiments/results/*.csv

## ✨ Key Features

- 🔨 **Automated Build** - Cross-compile OpenVINO for Android/Linux ARM
- 🔨 **Flexible OpenVINO Distribution** - Three modes: build from source, use existing install, or download archives
- 📦 **Smart Packaging** - Bundle runtime, libraries, and models
- 🚀 **Multi-Device** - Deploy via ADB (Android) or SSH (Linux using paramiko)
- ⚡ **Matrix Testing** - Test multiple configurations automatically
Expand All @@ -48,6 +59,7 @@ cat experiments/results/*.csv
- 🔄 **CI/CD Ready** - GitHub Actions integration included
- 📈 **Reproducible** - Full provenance tracking of builds and runs
- 🤖 **Android SDK/NDK Installer** - Automated setup of Android development tools
- 🔗 **Auto-Download** - Fetch latest OpenVINO builds for your platform

## 🔧 Supported Platforms

Expand Down
Loading
Loading