Tools & Solutions
Overview

Understand Your Software. 
Unlock Your Hardware.

Software tools for embedded analysis, code optimization, and AI deployment. Find the right starting point for your code, model, and target platform.

Go directly to:

What Do You Need to Achieve?

Choose your task to find the relevant tool.

Edge AI Compiler

Optimize AI Models for Embedded Deployment

Turn ONNX and PyTorch models into C code for embedded processors. Apply target-aware optimizations and integrate the generated implementation into your existing embedded software workflow.

Performance Estimator

Estimate Execution Times Early in Development

Estimate execution times from C code or generated assembly without running the application on the target. Compare implementation alternatives and monitor timing budgets as the software evolves.

Dependency Analyzer

Understand Dependencies and Event Chains

Analyze data dependencies, signal relationships, and event chains in embedded software. Check specified relationships and generate documentation to support verification, impact analysis, and reviews.

emmtrix Parallel Studio icon

Parallel Studio

Parallelize Code for Multicore and DSPs

Interactively parallelize handwritten or generated C code for multicore processors and DSPs. Support validation of the transformed code with the Qualification Kit.

emmtrix Code Vectorizer icon

Code Vectorizer

Generate SIMD Code for Vector Hardware

Automatically vectorize C code into SIMD implementations for vector-capable processors. Use target-specific instructions to process data in parallel on the selected hardware.

C++ to C Compiler icon

C++ to C Compiler

Translate C++ into Portable C Code

Convert supported C++ code into portable C for integration into C-based environments. Use the resulting code in existing embedded toolchains and software analysis workflows.

■ Code Generation & Conversion

■ Analysis

■ Optimization

emmtrix Studio

Explore updates to our analysis and optimization tools in the emmtrix Studio release notes.

From Your Input to the Result You Need

Edge AI Compiler

Input: ONNX / PyTorch models
Processing: Model-to-C generation, automatic code transformations, and target-specific vectorization
Output: Target-optimized C code


Performance Estimator

Input: C code / generated assembly
Processing: Static execution-time estimation without running the application on target hardware
Output: Timing estimates and reports


Dependency Analyzer

Input: C code; AUTOSAR information where applicable
Processing: Analysis of data dependencies, signal flows, and event chains
Output: Dependency graphs and reports


Parallel Studio

Input: Sequential C code
Processing: Interactive parallelization and mapping to processor cores
Output: Parallelized C code for multicore processors and DSPs


Code Vectorizer

Input: Sequential C code
Processing: Code transformations and target-specific SIMD vectorization
Output: Vectorized C code


C++ to C Compiler

Input: Supported C++ code
Processing: Translation into C for C-based toolchains and analysis workflows
Output: C11 code

Your Input

Choose Your Tool

Your Result

ONNX / PyTorch models

Deploy AI
Edge AI Compiler
Model-to-C generation + optimization

Target-optimized C

C / assembly

Analyze
Performance Estimator

Timing estimates and reports

C / AUTOSAR information where applicable

Analyze
Dependency Analyzer

Dependency graphs and reports

Supported C++ code

Convert
C++ to C Compiler

C11 code

Sequential C code

Optimize
Parallel Studio: multicore
Code Vectorizer:
SIMD

Parallelized or vectorized C

Simplified overview. Supported inputs and available features vary by tool and target platform.

How do Parallel Studio, Code Vectorizer, and Edge AI Compiler differ?

Parallel Studio distributes work across processor cores. Code Vectorizer uses SIMD instructions to process multiple data elements in parallel. Edge AI Compiler starts with an AI model and automates a target-oriented optimization flow that includes Code Vectorizer technology.

Start with C Code from Your AI Model

emx-onnx-cgen

Convert ONNX models into portable C for embedded integration, analysis, and further optimization.

emx-pytorch-cgen

Generate analyzable C from PyTorch workloads for C-based development workflows.

Integration Into Your Development Workflow

Model-Based Development

Assess execution times in generated C code to guide model-based implementation decisions.

AUTOSAR Analysis

Trace dependencies between signals, runnables, and components to understand change impact.

CI/CD Integration

Track timing and dependency changes with repeatable analysis in automated workflows. 

What People Are Saying

We have been working with emmtrix for a couple of years now and we find their technology of great interest. Their expertise in the field of source-to-source compiler technology and their tool suite emmtrix Parallel Studio help us in developing and improving our high-performance hardware solutions.

Sadahiro Kimura

Manager for Advanced Technology, NSITEXE, Inc.

ePS shows where and how performance can be increased. As a ‘side-effect’ of using ePS the developer quickly learns to design his application to be suitable for multicore HW.

Arndt-Michael Meyer

Solution Manager & Partner Manager, ETAS GmbH

Some Supported Platforms

Infineon logo

AURIX™
(TC2xx, TC3xx, TC4x)

arm logo

Cortex-A
(e.g. A55, A76)

 

Risc-V logo

RISC-V

Power PC logo

PowerPC

Intel/AMD logo

x86

Raspberry Pi logo

Raspberry Pi

Renesas logo

R-Car

Texas Instruments logo

DSP

STM logo

STM32

NXP logo

iMX.8

The platforms shown above are just a selection – we support many more for embedded systems.
Reach out to us to discuss how we can support your specific platform needs.

Which Tool Fits Your Project?

Tell us about your task, input code or model, and target platform. We can discuss a suitable tool and evaluation scope.

Cookie Consent with Real Cookie Banner