複雑なソフトウェア/ハードウェアをインテリジェントエッジで解決

Silexica

SLX C/C++

front-cc-no-padding-home
anim-loader-

複雑なマルチコアSoCs上でのC/C++ アプリケーションの最適化はソフトウェアのアーキテクチャーとハードウェア上での振る舞いに関する十分な理解が必要です。今、開発者たちは様々な種類の計算エンジンを構成するマルチコアSoCsに対応したシーケンシャルコードと並列コードの最適化という課題に直面しています。CPU、DSP、およびFPGAの能力を最大限引き出すための鍵は、コードの構造及びアプリケーションあるいはスレッドと変数間の依存関係を完全に理解することにより、ソフトウェア開発の合理化、リファクタリングの理由(ガイド)そしてソフトウェア設計の最適化が必要です。

SLX C/C++ では、他に類を見ない実用的な洞察でヘテロジニアス マルチコア プラットフォーマットに適したC/C++による並列化 アプリケーションの最適化と開発を可能にします。これによって、ソフトウェア開発者は最適化されたソフトウェアアーキテクチャーを実現し、特定のマルチコアSoC上の特有なコードに対するパフォーマンスの改善を実現することができます。SLX はハードウェアの理解とコード分析を融合させ、アプリケーション実行に対するこれまでに無い詳しい情報を提供する一方、十分なトレーサビリティを与えるため、元のソースコードにフィードバックを繰り返し提供します。SLX C/C++は強力なGUIから、コマンドライン、またはアジャイルでの継続的なワークフローに統合して利用することができます。

詳しく見る
1-c-c

動的・静的・セマンティックコード解析

10-c-c

ソフトウェア パフォーマンス向上のための詳しい解析

11-c-c

エクリプスGUIによるワークフローの統合

特徴と性能

複数のアプリケーションのための静的コード分析と動的コード分析の融合

最新のコード分析方法でもソフトウェア アーキテクチャーの限られた情報提供に留まることが多いです。静的コード分析では単純なバグや見落としてしまったコーディング上の指摘の発見が可能です。動的分析ではその動作のばらつきやソースコードへの根本的原因の関連付けを考慮することなく、シングル プロファイリングが行われます。

SLX C/C++の解析により静的ソフトウェア アーキテクチャーから、並列性、同期そしてデータフローの動的動作にいたるまで、すべて理解することができます。これにより、アーキテクチャーの損傷を防ぐためにソースコードから動的な概要が提供され、ソフトウェア実装を最適化するのための実用的な詳しい情報が与えられます。

CodeAnalysis2-c-c

SLX C / C ++によるソフトウェアアーキテクチャ解析

SLXは、実行動作についてこれまでにない洞察を提供します。ターゲットリソースを最大限活用するために、ソフトウェア最適化コストと最適化による効率化後の比較検討を行います。

主な機能は以下のものが挙げられます。

 

  • マルチバイナリーとマルチスレッドのアプリケーションに対する詳しい解析結果の提供:静的分析、動的分析、セマティック分析の組み合わせにより、SLXはスレッドの系譜、通信、同期またデータの依存関係を視覚化し、想定されるアーキテクチャーとの整合性が確認できるソースコードから実際のアーキテクチャ概念を提供します。このレベルまでの詳しい解析が行えるのは、SLXのツールのみです。

 

  • 関数、スレッド、アプリケーションレベルでの解析による通信・メモリ関連のボトルネックを特定:SLX共有メモリ(POSIX共有メモリ変数)解析により、アプリケーションがスレッド間および他のアプリケーションとどのように相互作用しているかを把握することが可能です。配列および構造体のサブオブジェクトを含む変数へのすべてのアクセスが表示されます。ポインタを介してアクセスした場合にも、同様の表示がされます。これは、実際のソースコードに基づいた最新のアーキテクチャ概要を提供し、機能デバッグ、コードリファクタリング、およびドキュメントの作成を補助します。

 

  • 保護分析により、データ破壊を招く可能性のあるスレッド間あるいはプロセス間のメモリ共有保護(セマフォ、ミューテック)の欠落を特定:SLX は保護メカニズム解析にも対応しており、ソース・ラインにある問題を直接指摘し、コードの修復につなげます。これにより、スレッド間でのデータ競合だけではなく、アプリケーションと別々のプロセス間でも検出します。

 

  • 高速な「what-if」分析を実行してコード実行を視覚化することによる、ヘテロジニアス・マルチコアシステム上でのハードウェア計算ブロックの文さんを最適化:標準化された記述フォーマット (Multicore AssociateによるSHIM2)で記述されたCPU, DSP, FPGAの組み合わせをもとに、特定コードベースに対するパフォーマンス、パワー、メモリ要件によって最適化を行いいます。

 

  • コードの最適化候補を自動的に識別することで開発時間の節約:SLXは、パフォーマンスの向上と並列処理の検出のためのコードのリファクタリングを支援するためのガイダンスを提供します。 タスク、パイプライン、またデータレベルの並列処理など様々なレベルでサポートがされています。
loader

Silexica

Contact us