Integration steps

Integration steps

ℹ️
Integration : The integration steps stands as a red thred for the integration of a target, however it does not have to be striclly followed.

This documentation assumes you have knowledge in the use of Gitlab, Gitlab pipeline, Gitab runner and Docker.

Help yourself with examples of target integration:

Setup target

The target must be a programmable device (OS based target included) with communication capabilities. It is recommended to use wired communication over wireless for better performances and stability

  • Make sure the target you want to integrate is not already integrated in the VLab. Check available targets on the web interface.

  • Set up your target so it is capable of inferencing a model and retrieving some performance indicators. This may involve the installation of an inference engine. See Choose an infercence engine.

Setup a host machine

  • When integrating a target to the dAIEdge-VLab, we ask to make it available at all time. The host machine must therefore be running at all time. Setup the necessary material.

  • Allow the host machine to use Gitlab runner and Docker by installing these packages. See Install Gitlab runner and Docker.

  • Link the host to the dAIEdge-VLab server by registering a Gitlab runner. See Register a Gitlab runner

Setup the target repository

  • For compability seek, the target repository must be a Gitlab repository. Create a gitlab account and a repository named <HARDWARE_BOARD>_<RUNTIME>.

  • Create the strict folder structure. See Target repository folder structure

  • Generate a deploy token that will be used to pull the repository and the docker container. See Generate deploy token

  • Create the Docker image. Generate the container and stor it in the target repository container registery. See Create Docker image

  • Give acces of the container registery to the gitlab runner. See Container registery access

Implement the scripts.

The implementation of the benchmarking scripts is really up to you. You can loolk at examples of implementations and adapt it to your target. Take into account the input files that are automatically provided by the dAIEdge-VLab. Pay attention to then benchmark type requested by the user, this influence the behaviour of the benchmark that you should perform.

Also have a look at the dAIEdge-VLab CI/CD pipeline script to understand the benchmarking process. See dAIEdge-VLab CI/CD pipeline.

  • Implement the support.sh script. This script is intended to get the necessary files (model) from th web to the host machine.

  • Implement the build.sh script. This script is intented to be used if some tools must be build on the target. Leave empty if not.

  • Implement the deploy.sh script. This script is intended to copy the necessary files (model, benchmarking scripts, etc…) from the host machine to the target.

  • Implement the manager.sh script. This script is intended to run the inferences on the model and retrieves the performance indicators back. As an output of the benchmarking process, you will have to generate a report that follow the benchmark report keys. See Benchmark report generator and Benchmark report keys

Tests and troubleshoot

Once everything is setup, you should be able to see your newly integrated target as a selectable target in the web interface. Try to benchmark it. If some errors shows up, the output logs is display in order to help you fix it.

See Handling errors and warnings

When no error are encountered, the benchmarking results show the performance indicators of your target.

Finally, look at the weekly tests. Your target is tested and a health score is given. This may help you locate issues and fix them.

Report the target as fully completed

Once the target behaves as expected and is fully completed, please notify thedAIEdge-VLab Team.