The Edge AI Sizing Tool showcases the scalability and performance of AI use cases on Intel-based edge devices. With zero-code configuration, users can effortlessly set up AI applications by selecting inputs, accelerators, performance modes, and AI models. The tool provides real-time monitoring of system performance metrics, such as CPU and GPU usage, memory consumption, and inference speed, enabling users to optimize AI workflows and make informed decisions.
Disclaimer: This software is designed to run exclusively in a trusted, single-machine environment. It is not designed, tested, or supported for use in production systems. Deploying or running this software in production or untrusted environments may lead to unexpected behavior, security vulnerabilities, or performance issues. Use outside of controlled, secure settings is strongly discouraged.
Please ensure that these ports are available before running the application.
| Services | Port |
|---|---|
| Frontend | 8080 |
| Worker services | 5000-6000 |
The Edge AI Sizing Tool supports the following types of AI models:
A curated set of popular models for common AI tasks:
| Model Name | Task Type | Source / License Information |
|---|---|---|
| YOLOv8 | Object Detection | Ultralytics Docs |
| YOLOv11 | Object Detection | Ultralytics Docs |
| YOLOv8-seg | Instance Segmentation | Ultralytics Docs |
| YOLOv11-seg | Instance Segmentation | Ultralytics Docs |
| mask_rcnn_resnet50_atrous_coco | Instance Segmentation | Open Model Zoo |
| mask_rcnn_inception_resnet_v2_atrous_coco | Instance Segmentation | Open Model Zoo |
| dreamlike-art/dreamlike-anime-1.0 | Text-To-Image | Hugging Face |
| stabilityai/stable-diffusion-2 | Text-To-Image | Hugging Face |
| TinyLlama/TinyLlama-1.1B-Chat-v1.0 | Text Generation | Hugging Face |
| Qwen/Qwen1.5-7B-Chat | Text Generation | Hugging Face |
| OpenVINO/Mistral-7B-Instruct-v0.2-int4-ov | Text Generation | Hugging Face |
| OpenVINO/Phi-3-mini-4k-instruct-int4-ov | Text Generation | Hugging Face |
| openai/whisper-tiny | Automatic Speech Recognition | Hugging Face |
| openai/whisper-base | Automatic Speech Recognition | Hugging Face |
| microsoft/speecht5_tts | Text-To-Speech | Hugging Face |
Disclaimer: Before setting up and starting the application, review the license terms for each model above. By proceeding, you acknowledge and agree to comply with the respective model licenses.
Specify a Hugging Face model repository ID to download and use models directly from Hugging Face.
bash
export HF_TOKEN='your_huggingface_token'
Replace 'your_huggingface_token' with your actual token from Hugging Face account settings.
Note: Some models may not be supported by the libraries or accelerators used in this application.
Upload your own custom model as a ZIP file.
.xml, .bin, and optionally labels.txt for object detection).model_proc.json file with the appropriate configuration.my-model.zip
├── model.xml
├── model.bin
└── labels.txt # (optional)
Note: Some workloads may fail if the model is not compatible with the application’s supported libraries or accelerators.
Place your custom model files in the ./custom_models/ directory as described in custom_models/README.md:
.xml, .bin). Optionally, include labels.txt for object detection and model_proc.json for instance segmentation that require custom processing.Note: Only OpenVINO IR models are supported in the custom model directory. Ensure your model files are correctly structured and compatible.
This section provides a streamlined process for setting up and running the Edge AI Sizing Tool on your local or isolated system. Follow these steps to quickly configure the environment and launch the application, allowing you to explore its features and capabilities with minimal setup.
Follow the Edge Developer Kit Reference Scripts to install drivers and configure your system.
sudo ./install.sh
This installs all required packages, sets up Python and Node.js environments.
Note: The first time you run the installation script, the process may take several minutes to complete. Installation time depends on your system configuration and internet speed.
./start.sh to start services either from a fresh state or restore their previous states if a PM2 process dump exists.Note: When you execute
start.sh, the setup process will automatically generate a random secret key for thePAYLOAD_SECRETvariable in the.envfile. By running this script, you acknowledge and accept the use of this automatically generated secret.If you prefer to specify your own secret key, manually copy
.env.exampleto.envand set thePAYLOAD_SECRETvalue in the.envfile before running this script.
./start.sh
Once started, open http://localhost:8080 in your browser.
To stop the application gracefully:
./stop.sh
This script ensures that all services are properly shut down, including background workers.
If your system has a GPU, install the GPU driver.
If your system has an NPU, install the NPU driver.
Right-click the install.bat file and click "Run as administrator".
This installs all required packages, sets up Python and Node.js environments.
Note: The first time you run the installation script, the process may take several minutes to complete. Installation time depends on your system configuration and internet speed.
start.bat shortcut on your Desktop to start services either from a fresh state or restore their previous states.Once started, open http://localhost:8080 in your browser.
To stop the application gracefully:
Double-click the stop.bat shortcut on your Desktop.
This script ensures that all services are properly shut down, including background workers.
Please refer to DEPLOYMENT.md for detailed steps on preparing and deploying the application.
Please refer to DEVELOPMENT.md for detailed steps on setting up a development environment.
Follow the steps below to enable the functionality of perf_events for non-root users.
Note: Only relevant for Linux systems.
Disclaimer: Setting
kernel.perf_event_paranoid=0allows all users to access performance monitoring features, which can expose sensitive system information and increase security risks. Ensure this change is necessary, and implement additional access controls and monitoring to mitigate potential vulnerabilities.
To temporarily enable the available functionality of perf_events for non-root users, execute the following command:
sudo sysctl kernel.perf_event_paranoid=0
This command will adjust the kernel parameter for the current session. Note that this change will be reverted upon system reboot.
To permanently enable perf_events for non-root users, you need to modify the system configuration file. Follow these steps:
sudo nano /etc/sysctl.conf
kernel.perf_event_paranoid=0
Apply the changes by running:
sudo sysctl -p
This will ensure that the perf_events functionality remains enabled across system reboots.
If you experience frequent crashes or the tool stops working unexpectedly, try enabling Resizable BAR first under BIOS setting.
Restart your computer. Press the appropriate key during startup to enter BIOS menu (usually F2, DEL, F10, or F12, depending on your motherboard)
Look for settings related to "Resizable BAR" or "Re-Size BAR Support". These settings are typically found under sections like "Advanced","PCI Subsystem Settings" or "PCI Configuration". Set the option to "Enabled" for Resizable Bar.
Save your changes and exit BIOS. Your system will restart with Resizable BAR enabled.
If the installation script encounters dependency conflicts during Intel® XPU Manager installation and returns an apt --fix-broken install error, follow the steps below:
Note: Only relevant for Linux systems.
Execute the following command to address broken package dependencies:
sudo apt --fix-broken install
After successfully resolving the dependency issues, re-execute the installation script:
./install.sh
This procedure addresses common package dependency conflicts encountered on Ubuntu systems, particularly during Intel® XPU Manager installation.
iGPU utilization and device name may not be displayed on Intel® Core™ Ultra 9 288V processors.
On Ubuntu, the Object Detection inferencing stream window may stop displaying results after running for extended periods.
System Overview and System Monitor may only show the PCI ID (e.g., e20b) for certain GPU models instead of the actual descriptive name.
Text generation may produce gibberish and illogical output for some LLM models when using Intel® Arc™ Ultra 7 Processor 155H iGPUs.
Speech-to-text workloads using Whisper models currently fail to run on NPU accelerators.
Power consumption metrics are not available on Windows for now.
DLStreamer is not supported on Windows. Hence, the Object Detection and Instance Segmentation use cases for Computer Vision task are currently unavailable on Windows.
GStreamer* is an open source framework licensed under LGPL. See https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/licensing.html. You are solely responsible for determining if your use of GStreamer requires any additional licenses. Intel is not responsible for obtaining any such licenses, nor liable for any licensing fees due, in connection with your use of GStreamer.
This application has been validated and tested on the hardware listed in the documentation. While we strive to ensure compatibility and performance, the application may not function as expected on other hardware configurations. Users may encounter issues or unexpected behavior when running the application on untested hardware. If you encounter any issues or have suggestions for improvements, we welcome you to open an issue.