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 and vectorization 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 number 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 and GNU Octave or use your existing C code as starting point for the parallelization in ePS.
ePS is in use in industries such as automotive, aerospace, industrial automation, telecommunication and medical. Together with the ePS Qualification Kit the parallelization can be performed for applications with functional safety requirements like ISO 26262 or DO-178C.
The core of emmtrix Parallel Studio is a C source-to-source compiler that takes sequential C code as input and generates optimized source code for a selected target architecture. The sequential C code can be either handwritten legacy code, generated by our code generators emmtrix Code Generator (for MATLAB®, Scilab or GNU Octave scripts), emmtrix Model Code Generator (for Simulink) and emmtrix C++ to C Compiler (for C++) as well as generated from 3rd party tools like MATLAB® coder or Simulink coder.
For optimizing your code, ePS analyzes the source code, estimates its performance and exploits different kinds of parallelism (thread-level, data-level and loop-level). For example, in case of multicore processors independent code parts are identified and distributed to different cores or vectorization is applied for vector processors. The parallelized or vectorized output source code can be directly compiled and tested for the target architecture using development boards or simulators. For functional safety, a qualification kit can compare the sequential input and parallel output code to prove the absence of errors.
- Automated generation of parallel and vectorized code
- Interactive optimization with user-friendly Eclipse-based GUI
- Performance estimation of sequential and parallelized code
- Rapid prototyping
- Support for common parallel programming interfaces
(MPI, OpenMP, OpenCL, PThreads, CUDA, etc.)
- Extensible support of embedded multicore processors, GPUs and DSPs
- Interactive code transformations to optimize parallel code
- Parallelization on function-level, runnable-level or sub-function-level (within a function)
- Utilization of thread-level, data-level and loop-level parallelism
- Following principles of Logical Execution Time (LET)
- Static dependency analysis
- Direct deployment of parallelized program to evaluation boards
- 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
- Correct-by-design approach
- Integrated functional tests for sequential and parallel code
- Develop safety-critical applications (e.g. ISO 26262 and D0-178C)
- 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
MATLAB®/GNU Octave/Scilab scripts
Interactive Parallelization with ePS – Visualize and Stay in Control
See and understand
- Analyze the sequential performance
- Find critical part (hot spots) in the program
- Show call graph / control structure
- Navigate through the application
- Select transformations
- Exploit loop- and data-level parallelism
- Increase the number of independent tasks
- Exploit task-level parallelism
- Fine-tune parallelization with user constraints
- Pin tasks to specific cores
- Reserve cores for other purposes
- Analyze parallel performance
- Follow dependencies
- Analyze result
What People Are Saying
Solution Manager & Partner Manager, ETAS GmbH
Some Supported Platforms
Take a look at our release notes for emmtrix Parallel Studio to learn more about new features, improvements and bugfixes.
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!