“复杂”变“简单”

产品详情
Emmtrix并行化软件
功能介绍


emmtrix Parallel Studio实现软件并行化

随着系统复杂度的提高,多核、多处理器、多板系统的应用越来越广泛。传统的针对顺序流程的算法及软件开发手段越来越无法满足相关系统开发的需求,需要采用针对并行化的技术手段和工具来提高针对多核应用并行软件开发的效能。

公司简介

emmtrix 公司正式成立于2016年,公司位于德国卡尔斯鲁厄,专注于嵌入式软件开发工具的开发,提供针对并行软件开发的软件开发工具解决方案。emmtrix公司的技术源于2011年欧盟中针对嵌入式多核架构的算法并行化的ALMA项目。公司的旗舰产品emmtrix Parallel Studio被电子期刊Elektronik提名为2018年“软件开发工具”类别的年度产品奖。

emmtrix Parallel Studio

支持对顺序程序的自动化并行化分析,以及基于图形化方式的多核并行化部署和分析优化;

emmtrix Code Generator

 emmtrix代码生成器支持从M语言或者Scilab脚本或者Simulink生成C语言的顺序代码;

并行分析

并行分析是基于对源代码的深入分析,充分发掘并识别串行代码中可以并行的部分,对程序进行并行化分析。可以从数据依赖和控制依赖角度进行并行化分析,主要可以支持如下类型的并行化:

Loop Fission 循环粉碎;

Loop Unroller 循环加速;

Data Fission 数据粉碎;

并行化分配映射

对源程序进行并行化分析后,并行化映射功能针对源代码进行并行化变换,用户可以进行多核的分配映射,将不同的并行任务映射到不同核上,同时通过在主机的仿真运行,可以估算出并行化带来的性能提示,给出具体的时间比。

并行任务到各处理器核的映射

可以指定特定任务分配到特定的处理器内核;

可以指定特定的处理器内核不能使用;

能够图形化的方式显示相关内核分配和使用情况;

任务间通信

并行任务之间的通信,需要进行数据通道的选择;

支持MPI、Ringbuffer、Pipes、共享内存以及用户自定义等方式;

性能分析

支持对顺序代码和并行化代码的时间性能分析,明确给出任务或者程序块的执行时间,便于用户根据相关数据进行方案优化;

并行代码生成

明确并行化映射方案后,将用户选择的并行化映射方案转化为最终并行化代码;

支持“源到源”(Source-to-Source)的代码生成方式;

支持代码生成的高级属性设置,包括设置浮点精度等;

自动生成相关的通信代码,并且源代码可见可编辑;

支持的目标平台

X86

Ti DSP

ARM

Infineon Aurix

FPGA/Zynq

Nvidia Jetson TX2