SLX

一个可满足最严格要求的编程工具

Silexica

分析

anim-loader-1
SLX Analyse

通过使用先进的编译器技术分析源代码,SLX可以充分理解您的应用程序。SLX会建立一个抽象的目标平台模型或跟踪目标板的执行,以获取了解目标程序的定时行为所需的完整数据。随后,模式传递框架识别出代码中没有被利用的并行化,进而分离出用于执行多核目标的代码。SLX支持任务、管道、数据等多级并行化。信息在收集后被传递至下个阶段,以进一步剖析、优化目标平台的应用程序行为。

更多"分析"细节

SLX通过源代码准确了解应用程序的行为,结合静态和动态编译器技术,识别所有数据和控制相关决定因素,形成一个完整的程序模型。该模型内含程序的调用关系图及局部、堆和整体变量的读写存取,可以全方位理解存储层次中的内存存取。并行程序的当前通信模式和同步模式也在分析范围内。

模式传递模型可以识别出遗漏的并行化机会,支持嵌入式高性能计算代码的任务、管道和数据多层并行化、AUTOSAR (汽车开放系统架构)特殊程序的可运行态并行化、基于FPGA平台的管道并行化自动提取。 如有其它业内要求,该框架可以随之调整。

由Silexica平台模型自动生成或目标追踪产生的定时信息,可以为程序模型提供所需的目标行为定时信息。在此不仅要考虑不同类型的处理核,还需思考目标平台不同的存储层次和核间架构。Silexica灵活的平台建模设施中包括内嵌式可配置缓冲分析器,有助于用户设置多元的存储层次和配置参数。

支持多种输入格式。包括用序列C/C++语言书写的程序、使用了POSIX线程、数据流、进程网络、任务图规格的程序和采用AUTOSAR标准的源代码。

Product-Analyse-Static-and-Dynamic-Source-Code-Analysis-analyze

静态和动态源代码分析

Cache-Memory-and-Communication-Analysis-analyze

缓存、内存和通信分析

Cross-target-Performance-Estimation-analyze

跨目标性能预估

Product-Analyse-C-C-data-flow-task-grapfs-etc-analyze

C/C++、数据流、任务图、
OSEK任务、POSIX线程

Silexica

优化

anim-loader-2
SLX Optimize

高级优化技术采用前阶段中采集的分析信息,在同构或异构多核平台上自动分布程序。在实现优化并满足性能、功率和内存要求的同时,达到不同的实时和资源要求。高级仿真技术根据优化结果或手动输入的信息,预测程序的目标行为,并针对性能、执行流、任务状态、处理器和通信架构的使用状况,给予详细的反馈。

更多"化"细节

高级优化技术可以自动选择最佳的异构多核和加速器映射,建立最快的平台内联和内存逻辑通道映射,最有效地分配内部进程通信缓冲区的内存。在根据性能、功率和内存要求实现优化的同时,满足不同的实时和资源限制。

除了帮助用户完成分布外,SLX的高级仿真技术还可以模拟应用程序的目标行为,提供关于处理器和通信架构的执行行为、详细任务状态和使用情况的细致反馈。高级内存和竞争建模技术可在模拟平台行为的同时,在准确性和速度之间做出正确取舍决定。此外SLX还可以利用功耗测值或估值,通过分析所要求的电量状态及程序功耗和能耗数值,实现最低功耗的分布。

通过这个可编辑的抽象多核平台模型,程序不仅可以分布于一个固定平台,也可以同时在多个平台上分布,有助于架构师为特定程序找到理想的现成多核平台。同时,为了推动下一代多核系统的探索、设计和发展,此模型也支持软硬件更换的假设分析。

可以预测更换对程序工作量的影响,分析在当前的多核架构中添加处理器、内存和硬件加速器后可以实现的速度提升,其周转时间远远快于最先进的指令集模拟器,有助于显著改善下一代产品的设计。

Power-performance-and-memory-driven-distribution-of-tasks-and-buffers-optimize

基于功率、性能和内存的软件分布

Powerful-scheduling-analysis-optimize

在严格的时间限制下优化任务调度

Element 1-optimize

减少峰值功率和平均功率

Product-Optimize-Architecture-Exploration-and-Multicore-Communication-Analysis-optimize

架构探索 多核通信分析

Silexica

实现

anim-loader-3
SLX Implement

Silexica独特的源到源编译器技术可以帮助开发者大大缩短软件更换的周转时间,提升个人工作效率。分析和优化阶段的所有发现都将直接导回原始源代码及其变量,有助于提供准确和综合的用户反馈,并自动重新生成源到源代码。
用户在迁移现有的序列代码时将收到贴心提示,也可以通过插入编译指示让代码自动重写。对于数据流、进程网络或AUTOSAR规格等现有的并行代码,源到源框架可以自动插入任务管理、同步和通信的API。

更多"实现"细节

Silexica独特的源到源编译器技术能够帮助开发者显著减少软件更替的周转时间,提升工作效率。开发者可以专心思考如何满足要求,避免在无用的迭代上浪费时间。

Silexica的技术可以将分析和优化阶段的所有发现导回原始源代码及其变量,从而生成准确和综合的用户反馈,并实现代码的源到源自动重写。

为了帮助用户迁移当前的序列代码,SLX会在用户重写源代码时给予提示。用户也可以通过插入编译指示,让SLX自动重写共享的内存API或定制的内部工作流的代码。

强大的源到源框架可以在数据流、进程网络、AUTOSAR规格等现有并行代码中插入从目标多核平台的运行环境和操作系统中选出的任务管理、同步、通信的API,通过使用平台的原生编译器工具链直接编译输出,并在目标中进行应用。

Clear-suggestions-where-to-spend-time-with-direct-link-to-original-source-code-implement

精准建议 节省多核迁移时间

mapping-dependent-code-generation-implement

映射生成多核相关代码

automatic-insertion-of-pragmas-openmp-HLS-etc-implement

自动插入编译提示(OpenMP、HLS等 )

AUTOSAR-support-implement

AUTOSAR支持

Silexica

Silexica

Silexica

案例分析

案例分析 - Denso (英文)
从现有汽车控制软件到多核ECU
阅读更多
案例分析 - 华为
使用Silexica的工具精确预计新科技的节能效果
阅读更多
案例分析 - Ricoh(英文)
如何使用SLX在OpenCV库中查找隐藏的并行性。
阅读更多
Silexica

联系我们

有问题吗?
Silexica 欧洲
Silexica 美国
Silexica Asia
Silexica 日本