SLX

A programming tool
to meet your most challenging requirements

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

Core Benefits

benefits_icon1-technologies

ABSOLUTE CODE UNDERSTANDING

Our technology analyzes your software to fully understand your code and its interdependencies based on static, dynamic and semantic code analysis.

benefits_icon2-technologies

FASTER TIME TO MARKET

Automatic analysis, partitioning and distribution across cores saves time and resources, improving the productivity of your team and making your software design flow more flexible to hardware changes.

benefits_icon3-technologies

MEET CHALLENGING REQUIREMENTS

Advanced simulation techniques forecast the target behavior of the application driven by various optimization criteria and environment constraints.

Silexica

Products

For System Architects working with software models, or Developers working with in-house, open source, commercial source and binary code, the traditional methods of software optimization are not scalable for multicore systems anymore.

To fully understand the application behavior on a multicore system, a full and precise analysis of software interdependencies is required. In order to understand system behavior and explore opportunities for performance gains and power saving, a tool is needed to provide deep insights into the software interdependencies that occur during execution.

SLX is a multicore development tool that provides software execution insights into hardware and software interdependencies. It allows for code architecting and refactoring to achieve the most efficient utilization of CPU, DSP, FPGA and other acceleration engines on multicore systems.

SLX FPGA

SLX通过对C / C ++代码进行分析,能够深入理解执行流程、应用程序热点和软件相互依赖性,以便为使用FPGA的异构多核SoC实现代码优化。通过在硬件和软件计算元件之间进行C/C ++代码划分,支持FPGA的SoC中获得加速机会。鉴于多核SoC提供的选项数量,设计决策需要基于系统的探索过程。然而基于软件功能在硬件中的实现有多种选择,探索过程非常复杂。

SLX提供应用程序的系统视图,以识别通过FPGA卸载提高系统性能的最佳热点。借助SLX,用户可以深入了解代码重构所需的C/C ++软件的相互依赖性,以实现FPGA卸载的更改。 SLX优化CPU核心上的软件性能并识别要分区的代码。 SLX分析源代码以简化理解软件和硬件加速机会的任务。阅读本文中的更多内容或单击这里观看FPGA演示视频。

DOWNLOAD PRODUCT BRIEF 产品演示视频
front-fpga-no-padding-fpga

SLX C/C++

在复杂多核SoCs系统上对C/C++程序进行优化需要对软件构建和硬件实现两者的全面理解。多核SoC系统包含着多种计算引擎,要对上面运行的串行及并行代码进行优化是开发人员面临的一大严峻任务。为了最有效地利用CPU、DSP和FPGA,需要全面了解应用程序、线程和变量之间的代码结构和相互依赖性,从而简化软件开发流程,引导代码重构和软件设计优化。

SLX C / C ++具有独特的可操作性见解,支持对异构多核平台上的并行C/C ++应用程序进行开发和优化。软件专业人员能够针对特定多核SoC上的特定代码进行优化,从而实现优化软件架构和提升性能的目标。SLX将硬件理解与代码分析相结合对应用程序的执行有着独特的洞察,同时为原始源代码提供具有完全可追溯性的反馈循环(feedback loop)。

DOWNLOAD PRODUCT BRIEF
front-cc-no-padding-c-c
Silexica

Customer Success Stories

Here is what clients have to say about us

“In the near future, deep challenges lie in optimizing communication and automotive applications onto multicores.

We have successfully integrated the SLX Tool Suite into our multicore development flow to address these challenges.”

NORIYASU NAKAYAMA, FUJITSU

“We have been working with Silexica on power modelling analysis for some time now and are consistently happy with the quality of the estimates produced by SLX and the professionalism of the team that is working with us.

We hope to continue this partnership and make a significant impact on our SoC exploration phase with SLX.”

ALAN GATHERER, HUAWEI USA

“Preparing C/C++ code for FPGAs is often very time consuming as you prepare for the migration.

By using SLX in the future we plan to analyze our applications to make the next steps of performance estimation and hardware/software partitioning quicker with better performance through more pragmas.”

SADAHIRO KIMURA, RICOH

案例分析

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

Any questions?

Silexica

Contact us