Introduction
The Torq compiler is based on MLIR, a framework designed to support compilation for heterogeneous hardware. Built as a plugin on top of IREE, the Torq compiler enables efficient deployment of ML models across various architectures, with special optimizations for Synaptics hardware.
This comprehensive guide will help you understand, install, and effectively use the Torq compiler system for deploying machine learning models on Synaptics hardware.
Technical Background
The compilation is implemented as a sequence of passes that lower a high-level representation to an IR expressed using dialects that can be customized to represent target-specific operations. MLIR itself is part of the LLVM ecosystem, it bring important components like the Linalg, TOSA and LLVM-IR dialects, some important generic algorithm like tiling, and of course the LLVM compiler itself which is used to compile part of a graph targeting the CSS or the Host CPU. To leverage these features, Torq compiler is built as a plugin on top of IREE, an MLIR-based end-to-end compiler and runtime specialized for lowering ML models to a variety of architectures including CPUs, GPUs and custom hardware.
Distribution Contents
The Torq compiler is delivered in two formats:
Note: The Docker approach is recommended for most users, as it provides a pre-configured environment with all dependencies.
Release Package
Pre-compiled Torq Compiler binary
Runtime Simulator and supporting libraries
Useful scripts for analysis and utility tasks
User manual
Sample models
Docker Image
Contains all contents of the Release package, pre-configured in a containerized environment
Pre-installed dependencies and tools
System Requirements
Supported operating systems:
For the release package: Ubuntu 24.04
For the Docker image: Any system that supports Docker
Supported hardware: Synaptics Torq hardware (SL2610 SoC families)
Getting Started
Refer to the Getting Started for installation and setup instructions. Ensure your system meets the requirements above before proceeding.
Support and Contact
For technical support, questions, or to report issues, please contact your Synaptics support representative or use the support channels provided with your release package.