Skip to content

Commit d6236a2

Browse files
committed
add example configuration for benchmarking Raspberry Pi with OpenVINO via SSH
1 parent f197fa6 commit d6236a2

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Raspberry Pi example configuration
2+
# This configuration demonstrates benchmarking on ARM-based Raspberry Pi devices via SSH
3+
#
4+
# Prerequisites:
5+
# 1. Raspberry Pi with Raspberry Pi OS (64-bit recommended)
6+
# 2. SSH access enabled on the Pi
7+
# 3. OpenVINO ARM build or cross-compilation setup
8+
# 4. Model files in OpenVINO IR format (.xml + .bin)
9+
#
10+
# To use this configuration:
11+
# 1. Update IP address in device.host
12+
# 2. Update username and password (or use SSH key)
13+
# 3. Update model directories paths
14+
# 4. For better security, use SSH key authentication instead of password
15+
# 5. Run: ovmobilebench all -c experiments/raspberry_pi_example.yaml
16+
#
17+
# Security note: Avoid committing passwords to version control.
18+
# Consider using SSH keys or environment variables for production.
19+
20+
project:
21+
name: raspberry-pi-benchmark
22+
run_id: rpi-perf-test
23+
description: Performance benchmarking on Raspberry Pi with OpenVINO
24+
25+
# Raspberry Pi SSH device configuration
26+
device:
27+
kind: linux_ssh # SSH connection to Linux ARM device
28+
host: 192.168.1.100 # UPDATE THIS: Raspberry Pi IP address
29+
username: pi # UPDATE THIS: SSH username (default 'pi' for Raspberry Pi OS)
30+
password: raspberry # UPDATE THIS: SSH password (default 'raspberry' for older RPi OS)
31+
# Optional: specify SSH key file instead of password
32+
# key_filename: /home/user/.ssh/id_rsa
33+
# Optional: specify SSH port (default 22)
34+
# port: 22
35+
push_dir: /home/pi/ovmobilebench # Remote directory for benchmark files
36+
37+
# Build configuration for ARM cross-compilation
38+
build:
39+
enabled: true
40+
openvino_repo: /path/to/openvino # UPDATE THIS PATH
41+
# ARM-specific build settings
42+
cmake_args:
43+
- -DCMAKE_BUILD_TYPE=Release
44+
- -DENABLE_SAMPLES=ON
45+
- -DENABLE_TESTS=OFF
46+
- -DTARGET_ARM=ON
47+
48+
# Model configuration with directory scanning
49+
models:
50+
directories:
51+
- "/path/to/models" # UPDATE THIS PATH - directory containing model files
52+
- "/path/to/optimized/models" # UPDATE THIS PATH - ARM-optimized models
53+
extensions:
54+
- ".xml" # OpenVINO IR format
55+
- ".onnx" # ONNX format
56+
models: # Optional: explicit models for specific testing
57+
- name: "rpi_optimized_model"
58+
path: "/path/to/rpi_specific/model.xml" # UPDATE THIS PATH
59+
60+
# Benchmark run configuration optimized for Raspberry Pi
61+
run:
62+
repeats: 3 # Multiple runs for statistical accuracy
63+
warmup: true # Perform warmup run before benchmarking
64+
timeout_sec: 300 # 5 minute timeout per benchmark
65+
cooldown_sec: 2 # Brief cooldown between runs
66+
matrix:
67+
# Conservative iteration counts for ARM performance
68+
niter: [50, 100] # Number of iterations
69+
api: ["sync"] # Synchronous inference API
70+
nireq: [1, 2] # Number of inference requests
71+
nstreams: ["1", "2"] # Number of streams
72+
device: ["CPU"] # CPU inference only (most RPi don't have GPU support)
73+
infer_precision: ["FP32", "FP16"] # Test both precisions if supported
74+
threads: [1, 2, 4] # Thread counts suitable for RPi (1-4 cores)
75+
76+
# Package configuration
77+
package:
78+
extra_files:
79+
# Include ARM-specific libraries if needed
80+
- "/usr/lib/aarch64-linux-gnu/libopenvino*.so*"
81+
82+
# Results reporting
83+
report:
84+
sinks:
85+
- type: json
86+
path: experiments/results/raspberry_pi_results.json
87+
- type: csv
88+
path: experiments/results/raspberry_pi_results.csv
89+
tags:
90+
device_type: raspberry_pi
91+
architecture: arm64
92+
os: raspberry_pi_os
93+
test_suite: performance_benchmark
94+
95+
# Optional: Environment-specific settings
96+
# environment:
97+
# - name: OMP_NUM_THREADS
98+
# value: "4"
99+
# - name: OPENVINO_LOG_LEVEL
100+
# value: "2"

0 commit comments

Comments
 (0)