Home

Awesome

Anira Real-time Principle Check

Introduction

This repository serves as a supplementary resource for the anira library, an architecture for neural network inference in real-time audio application.

This repository contains two validation tests / builds:

Tests are conducted under diverse conditions to ensure robust analysis: Each inference engine is evaluated using three models over ten iterations, alongside varied audio processing configurations for adaptability and real-time compliance assessment.

The analysis utilizes code sanitizers specifically designed to detect potential real-time violations during runtime. We leverage RadSan, a real-time safety testing tool optimized for C and C++ environments. RadSan is engineered to identify real-time violations, including but not limited to, memory allocation/deallocation and thread synchronization issues.

How to Use

The tests are currently only supported on macOS, Linux, WSL:

Get Radsan Docker:

docker pull realtimesanitizer/radsan-clang

Clone repository and get submodules:

git clone --recursive https://github.com/tu-studio/anira-rt-principle-check/
cd anira-rt-principle-check

Prepare docker:

# Start RadSan docker image with mounted directory
sudo docker run -v  $(pwd):/anira-rt-principle-check -it realtimesanitizer/radsan-clang /bin/bash

#Install necessary dependencies:
apt-get update && apt-get install -y git cmake

Build inside docker:

cd anira-rt-principle-check/
cmake . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release

cmake --build cmake-build-release --config Release --target simple-real-time-violations
cmake --build cmake-build-release --config Release --target validate-anira
cmake --build cmake-build-release --config Release --target validate-inference-engines

Execute:

RADSAN_ERROR_MODE=continue ./cmake-build-release/simple-real-time-violations 2>&1 | tee cmake-build-release/simple-real-time-violations.txt
RADSAN_ERROR_MODE=continue ./cmake-build-release/validate-anira 2>&1 | tee cmake-build-release/validate-anira.txt
RADSAN_ERROR_MODE=continue ./cmake-build-release/validate-inference-engines 2>&1 | tee cmake-build-release/validate-inference-engines.txt

Contributors

License

This project is licensed under Apache-2.0.