emmtrix
Parallel Studio
(ePS)

Your Solution for Parallelization with Ease
emmtrix Parallel Studio through far-reaching automation helps you to optimize the performance of your embedded applications on multicore, GPU and DSP architectures and even any combination of these processing units. Our tool simplifies the parallelization process to the point where the user just needs to take a few decisions to get good results. The patented graphical user interface (GUI), together with a host of reports, provides full transparency and leaves the user in complete control at every step of the process. Develop your applications in model-based software languages such as MATLAB®, Simulink®, Scilab, Xcos and GNU Octave or use your existing C code as starting point for the parallelization in ePS.
ePS is in use in sectors such as automotive, industrial automation, telecommunication, medical and aerospace.
Our Product Workflow
emmtrix Technologies provides a tool flow that generates parallel C code for different target platforms starting from model-based tools like MATLAB®, Scilab, GNU Octave or directly from C code.

Development
Input languages:
MATLAB® & Simulink®, GNU Octave, Scilab & Xcos and C
Code Generation
Sequential C code
Parallelization
Parallel C code for the target platform
Deployment
Multicore CPUs, Systems on Chip (FPGA, GPU)

Features
- Automated generation of parallel Code
- Interactive optimization with user-friendly Eclipse-based GUI
- Performance Prediction
- Rapid Prototyping
- Support for common parallel programming interfaces
(MPI, OpenMP, OpenCL, PThreads, Cuda, etc.) - Extensible support of embedded multicore processors, FPGAs and GPUs
- Parallelization on function-level, runnable-level or sub-function-level (within a function)
- Following principles of Logical Execution Time (LET)
- Interactive code transformations to optimize parallel code
- Static dependency analysis
- Direct deployment of parallelized program to evaluation boards

More Speed
- Improve your application response time and processing throughput
- Performance prediction early on in the development process
- Speed up your applications with the use of powerful hardware

More Quality
- Correct-by-design approach
- Integrated functional tests for sequential and parallel code
- Develop safety-critical applications (e.g. ISO 26262 and D0178C)

More Done
- Automate and stay in control
- Model-based software development for multicore targets
- Simple workflow integration
Take a Look Inside emmtrix Parallel Studio

Overview of the GUI. Version 2020.06.
Simply Take Your Application to Parallelized Code
Input
Simulink® scripts
or
or
MATLAB®/GNU Octave/Scilab
or
or
C code
Interactive Parallelization with ePS – Visualize and Stay in Control
See and understand
Performance Estimation
- Analyze the sequential performance
- Find critical part (hot spots) in the program
- Show call graph / control structure
- Navigate through the application
↓
〉
Speed up
Code Transformations
- Select transformations
- Exploit loop- and data-level parallelism
- Increase the number of independent tasks
↓
〉
Tune
Task Parallelization
- Exploit task-level parallelism
- Fine-tune parallelization with user constraints
- Pin tasks to specific cores
- Reserve cores for other purposes
Result
Check results
Parallel Scheduling
- Analyze parallel performance
- Follow dependencies
- Analyze result
What People Are Saying

Some Supported Platforms









User Experience
For more information on emmtrix Parallel Studio or to request a demo, use our contact form or get directly in touch. You may also make a Product Evaluation Request and/or a Project Request. We’re looking forward to hearing from you!

Rainer Heim