|
| 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