Get Started#
The Visual Pipeline and Platform Evaluation Tool (ViPPET) helps hardware decision-makers and software developers select the optimal Intel platform by adjusting workload parameters and analyzing the provided performance metrics. Through its intuitive web-based interface, users can run the Smart NVR pipeline and evaluate key metrics such as throughput, CPU and GPU metrics, enabling them to assess platform performance and determine the ideal sizing for their needs.
By following this guide, you will learn how to:
Set up the sample application: Use Docker Compose to quickly deploy the application in your environment.
Run a predefined pipeline: Execute the Smart NVR pipeline and observe metrics.
Prerequisites#
Verify that your system meets the minimum requirements.
Install Docker: Installation Guide.
Latest NPU Linux Drivers Linux NPU Driver Releases.
Set up and First Use#
Download the Compose File:
Create and navigate to directory:
mkdir visual-pipeline-and-platform-evaluation-tool cd visual-pipeline-and-platform-evaluation-tool
Download the Docker Compose file:
curl -L -o compose.yml "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/compose/compose-linux-v1.0.0/compose.yml"
Download the Artifacts:
Download the artifacts:
mkdir -p video_generator curl -L -o video_generator/background.gif "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/background.gif" curl -L -o video_generator/config.json "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/config.json" mkdir -p video_generator/images/cars curl -L -o video_generator/images/cars/1.png "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/images/cars/1.png" curl -L -o video_generator/images/cars/2.png "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/images/cars/2.png" curl -L -o video_generator/images/cars/3.png "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/images/cars/3.png" mkdir -p video_generator/images/persons curl -L -o video_generator/images/persons/1.png "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/images/persons/1.png" curl -L -o video_generator/images/persons/2.png "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/images/persons/2.png" curl -L -o video_generator/images/persons/3.png "https://raw.githubusercontent.com/open-edge-platform/edge-ai-libraries/refs/heads/main/tools/visual-pipeline-and-platform-evaluation-tool/video_generator/images/persons/3.png"
Start the Application:
Run the application using Docker Compose:
docker compose up -d
Verify the Application:
Check that the application is running:
docker compose ps
Access the Application:
Open a browser and go to
http://localhost:7860/?__theme=light
to access the application UI.Expected Results:
The microservice’s UI loads successfully.
The Smart NVR pipeline is automatically executed when the “Run” button is clicked, and the output video is shown with device metrics.
Make Changes#
Change GPU Selection Between Available Integrated and Discrete GPU:
List the Available Devices:
ls /dev/dri/
Update the compose.yaml File: Modify the
compose.yaml
file to specify the discrete GPU device by updating the/dev/dri
path to the appropriaterenderXXXX
device as “/dev/dri/renderXXXX”. Please note that usually the discrete GPU is mentioned as “renderD129”.Example:
vippet: ... ... devices: - "/dev/dri/renderD129:/dev/dri/renderD129" ...
Validation#
Verify Build Success:
Check the logs. Look for confirmation messages indicating the microservice started successfully.
Advanced Setup Options#
For alternative ways to set up the sample application, see:
Known Issues#
Issue 1: The VIPPET container fails to start the analysis when the “Run” button is clicked in the UI, specifically for systems without GPU. This results in the analysis process either failing or becoming unresponsive for users without GPU hardware.
Solution: To avoid this issue, consider upgrading the hardware to meet the required specifications for optimal performance.
Troubleshooting#
Containers Not Starting:
Check the Docker logs for errors:
docker compose logs
Port Conflicts:
Update the
ports
section in the Compose file to resolve conflicts.