Consulting

コンサルティング

試行評価サービス・受託並列化サービスまでの流れ

並列化にかかわる、あらゆるニーズに対応します。

試行評価サービス・受託並列化サービスまでの流れ

試行評価サービスについて

推奨する並列化アプローチ

ハードウェアのマルチコア化が着実に進む現在、ソフトウェアを効率よく動作させるためには、プログラムの並列化が必要です。
これには次の2つの作業が必要です。

1.並列に実行できる部分を見つけ出す
2.並列に実行できる部分を並列に動作するように書き換える

この2つに対し、OSCARTechコンパイラはソリューションをご提供しますが、達成できる並列性能はプログラムの実装方法によって異なります。そのため、本格的な作業を展開し始める前に、試行評価サービスの実施をお勧めしています。並列化の試行により、

1.並列性抽出が可能なデータ構造とプログラム構造となっているか
2.並列実行時にどの程度の性能アップが期待できるか
3.実際に並列動作させることで達成できた性能アップはどの程度か

の3つを知ることができ、OSCARTechコンパイラの本格導入の判断材料となります。

試行評価サービスの実施手順

3つのステップにて試行評価サービスを実施します。

1.並列性抽出が可能なデータ構造とプログラム構造となっているか
2.並列実行時にどの程度の性能アップが期待できるか
3.実際に並列動作させることで達成できた性能アップはどの程度か

事前ステップの実施内容

弊社技術者が対象C言語となるプラグラムを目視にて数時間で調査し、現状のソースコードを大きく変更することなく、静的解析ステップに進めるか否かを判断します。

静的解析ステップの実施内容

OSCARTechコンパイラを用いて対象Cプログラムの並列性を抽出します(並列性抽出のためにソースコードを書き換えることがあります)。主に4つの並列性抽出に関する情報をご提供します。

  • ①並列度

    コンパイラ内部で算出した実行コストを基にした
    並列性能の期待値を知ることができます。

    並列度
  • ②マクロタスクグラフ

    制御依存関係とデータ依存関係を表し、プログラム
    全体に内在する並列性を容易に確認できます。

    マクロタスクグラフ
  • ③タイミングチャート

    コンパイラ内部で各コアへのマクロタスクの割当て
    (スケジューリング)結果を視覚的に確認できます。

    タイミングチャート
  • ④Parallelizable C 規約との適合性 Parallelizable C 規約との適合性

【納品物】
・並列性抽出 評価結果報告書
・評価に使用した逐次用C言語プログラム
・Parallelizable C 規約の適合性結果

備考: 試行評価のため、並列化ソースコードは納品することは出来ません

動的解析ステップの実施内容

並列化ソースコードから並列実行可能なモジュールを作成し、実機上で実行します。実行コア数毎の実行時間を取得し、性能向上率等を算出します(メモリアクセスの最適化等を実施します)。

  • ①実行時間(逐次・並列) 実行時間(逐次・並列)
  • ②性能向上率(実行時間短縮率) 性能向上率(実行時間短縮率)

【納品物】
・並列実行 評価結果報告書
・評価に使用した逐次用C言語プログラム

備考: 試行評価のため、並列化ソースコードは納品することは出来ません