Product Summary

製品概要

OSCARTech®コンパイラとは

OSCARTech®コンパイラとは

OSCARTechコンパイラは早稲田大学の笠原・木村研究室で30年にわたって研究開発されたマルチグレイン並列化技術を商品化した純国産の自動並列化ツールです。

OSCARTechコンパイラには以下が含まれます。
・並列解析エンジン:逐次プログラムの自動並列化
・並列化アシスタンス:並列性向上のアドバイス
・並列性可視化ツール:並列性のビジュアル化

逐次C言語コードを入力とし、並列解析エンジンにより、プログラム全域を字句解析・構文解析し、処理単位(マクロタスク)へ分割後、各種解析・最適化を実施し、徹底的に並列性を抽出後、並列化C言語コードを出力します。これにより従来型の自動並列化技術では成しえない高速化を実現します。

利点

プログラムを並列化するには、

① OpenMPなどの標準的な並列化APIに基づいてプログラムを修正する
② タスクレベルの機能を手動で複数のコアに割り付ける

など、ソフトウェア開発者が時間をかけて実施しているのが現状です。
OSCARTechコンパイラでは、複数コアへの処理割り付け、同期処理やデータ競合回避を自動的にできるため、巨大なプログラムにも適用でき、かつ非常に高性能なプログラムを開発でき、以下の利点を享受できます。

(1)開発コストの低減と開発期間短縮

自動化により、並列化に伴うソフトウェアエンジニアの工数を大幅に縮小し、ソフトウェア開発コストの低減に寄与します。
加えて、並列化に要する期間が短縮でき、ソフトウェア開発期間を大幅に短縮します。

(2)ソフトウェア品質の維持

人手によるプログラムの並列化には、作業後のソフトウェア品質の悪化というリスクを伴います。
OSCARTechコンパイラはソフトウェアの論理的な動作を保って並列化を施しますので、元となるプログラムの品質を保つことが可能です。

特徴

(1)マルチグレイン並列処理

粗粒度並列処理や独自のアルゴリズムであるマクロタスク融合機能など、並列解析エンジンがプログラム全体を広範囲かつ階層的に解析し、最適化することにより、制御プログラムも効率よく並列化します。

(2)コア間の高速な同期処理

並列処理に不可欠なコア間の同期処理は独自方式で自動化され、並列実行の同期処理時間を最小化します。

(3)プロファイラによる自動最適化

プロファイル情報の取得機能および結果のフィードバック機能を有することで、より最適な静的スケジューリングが実現された並列化コードを自動的に生成します。

(4)並列化アシスタンスと組み合わされた多彩な並列性可視化ツール

マルチグレイン並列処理での各マクロタスクの依存関係をグラフ化し、プログラムに内在する並列性、もしくは並列化を阻害する要因の特定を容易にします。

各マクロタスクの依存関係(例)
各マクロタスクの依存関係(例)

並列化を施した結果をコア毎のガントチャート形式でグラフ化することで、プログラムの実行コスト(実行サイクル)と各マクロタスクの実行順序、およびコア毎の稼働状況も確認でき、並列性能向上ヒントが得られます。

ガントチャート形式によるコアへの割り付け(例)
ガントチャート形式によるコアへの割り付け(例)

適用可能分野

強力な自動並列化アルゴリズム、そして、これを有効に活用した省電力化機能によって、科学技術計算から組込みソフトウェアまで幅広い分野に適用可能です。

AI ロボティクス オートモーティブ マルチメディア処理
ディープラーニング 産業用ロボット 自動運転 医療画像処理
音声認識・対話 家庭用ロボット ECUソフトウェア 生体認証
数値計算 ドローン モデルベース開発 印刷処理