This Learning Path demonstrates how to improve the performance of camera pipelines using KleidiAI and KleidiCV in applications running on Arm. You will need an Arm64 machine, preferably running an Ubuntu-based distribution. The instructions have been tested on Ubuntu 24.04.
Make sure the following tools are installed:
git
- a version control system, for cloning the Voice Assistant codebase.git lfs
- an extension to git
for managing large files by storing lightweight references instead of the files themselves.docker
- an open-source containerization platform for running applications in isolated environments.libomp
- LLVM’s OpenMP runtime library, required for enabling parallel execution during application performance optimization.These tools can be installed by running the following command, depending on your OS:
sudo apt install git git-lfs -y
brew install git git-lfs
Start by checking that docker
is installed on your machine by typing the following command line in a terminal:
docker --version
__output__Docker version 27.3.1, build ce12230
If you see an error like “docker: command not found
,” then follow the steps from the
Docker Install Guide
.
You might need to log in again or restart your machine for the changes to take effect.
Once you have confirmed that Docker is installed on your machine, you can check that it is operating normally with the following:
docker run hello-world
__output__Unable to find image 'hello-world:latest' locally
__output__latest: Pulling from library/hello-world
__output__c9c5fd25a1bd: Pull complete
__output__Digest: sha256:c41088499908a59aae84b0a49c70e86f4731e588a737f1637e73c8c09d995654
__output__Status: Downloaded newer image for hello-world:latest
__output__
__output__Hello from Docker!
__output__This message shows that your installation appears to be working correctly.
__output__
__output__To generate this message, Docker took the following steps:
__output__ 1. The Docker client contacted the Docker daemon.
__output__ 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
__output__ (arm64v8)
__output__ 3. The Docker daemon created a new container from that image which runs the
__output__ executable that produces the output you are currently reading.
__output__ 4. The Docker daemon streamed that output to the Docker client, which sent it
__output__ to your terminal.
__output__
__output__To try something more ambitious, you can run an Ubuntu container with:
__output__ $ docker run -it ubuntu bash
__output__
__output__Share images, automate workflows, and more with a free Docker ID:
__output__ https://hub.docker.com/
__output__
__output__For more examples and ideas, visit:
__output__ https://docs.docker.com/get-started/
libomp
is the OpenMP library developed by the LLVM project. It provides the necessary support for executing OpenMP parallel programs.
libomp
can be installed by running the following command, depending on your OS:
sudo apt install libomp-19-dev -y
brew install libomp