C言語コードの高速化を支援する「OSCAR Multicore Suite」をベータ公開

2021 年 6 月 29 日
各位
株式会社フィックスターズ
代表取締役社長 三木 聡
(コード番号: 3687 東証一部)
問合せ先 取締役管理本部長 堀 美奈子
(電話番号:03-6420-0751)


C 言語コードの高速化を支援する「OSCAR Multicore Suite」をベータ公開
4 並列化で 3.4 倍のソフト性能向上を自動で

ソフトウェアの並列化サービス・コンサルティングをするオスカーテクノロジー株式会社(本社:東京都港区、
代表:三木 聡)は 6 月 22 日、早稲田大学の研究成果である並列化技術を組み込んだソフトウェア
「OSCAR Multicore Suite」をベータ公開しました(https://www.oscartech.jp/product)。C 言語で開発され
ているソフトウェアの並列化を総合的に支援するソフトウェアスイートです。ベータ期間中はどなたでも無料
でお使いいただけます。




OSCAR Multicore Suite による並列化解析結果イメージ

オスカーテクノロジーは、早稲田大学 理工学術院の笠原博徳・木村啓二研究室 の研究成果を基にした組
み込み向け自動並列化コンパイラ「OSCARTech コンパイラ」などを提供してきました。OSCAR Multicore
Suite は、既存製品を基に大幅に機能を強化したソフトウェアスイートです。組み込みソフトウェアに限らず、
C 言語で開発される幅広いプログラムの高速化を総合的に支援します。

IoT(Internet of Things)や AI(人工知能)の普及で、ハードウェアの性能を使いこなす並列処理ソフトウェア
のニーズが高まっています。数千円で販売されている小型コンピュータでもマルチコアの CPU が普及して
おり、並列計算に優れた GPU(画像処理プロセッサ)が使えない環境でもソフトウェアの並列化によって性
能を引き出しやすくなっています。大規模な計算基盤でも、計算したい問題の種類や扱いたいデータによっ
ては、GPU ではなく CPU を使った並列処理のニーズが根強くあります。

一方で、開発したソフトウェアを並列処理できるように改修するには、高い技術力と時間がかかるのが現状
です。OSCAR Multicore Suite は、こうしたソフトウェアの並列化を自動化し、専門家による改修作業を支
援することで、並列処理ソフトウェア開発の総合的な効率化を実現します。

製品構成
OSCAR Multicore Suite は 3 つの機能を有するソフトウェアスイートです。いずれも C 言語で開発されたソ
フトウェアのソースコードを対象に使えます。

● OSCAR Multicore Estimator
並列化のためのコード解析機能です。ソースコードを静的解析し、様々なコンピューティング環
境での実行時間を予測します。予測する実行時間はマルチコア CPU 上で並列動作させた場合
も計算でき、並列化の可否や計算のボトルネックなどを解析して総合的なレポートを出力しま
す。

● OSCAR Multicore Profiler
プログラムの処理時間を実測するための支援機能です。動的なプロファイル取得のためのコー
ドを自動的に挿入し、様々な処理時間の計測を支援します。時間測定のオーバーヘッドが最小
となるように、プロファイル取得のコード挿入位置を自動で判定します。

● OSCAR Parallel Compiler
シングルスレッドで実行されるソースコードを、マルチコア環境に応じたコードに変換する自動
並列化コンパイラです。よくあるループ処理に限定される自動並列化だけでなく、マルチグレイ
ン並列化と呼ばれるタスクレベルでの自動並列化を実現します。




ループ処理に限定される並列化と OSCAR Parallel Compiler が実現するマルチグレイン並列の比較
研究成果と製品性能

OSCAR Multicore Suite は、早稲田大学の笠原・木村研究室が世界で初めてタスクレベルでの並列化解
析を実現(文献 1)した研究成果である OSCAR(*) Parallelizing Technology に基づき開発されています。
ループ処理が主体となるソフトウェア(文献 2)だけでなく、条件分岐が多くループ処理の少ないプログラム
にも適用できます(文献 3)。このソフトウェアスイートを利用することで、例えば並列処理ソフトウェアの開発
期間を短縮して開発コストを削減するといったメリットが得られます。

(注*)OSCAR:Optimally Scheduled Advanced Multiprocessor

ソフトウェアの並列化には高い技術力と長い時間がかかるため、多くのケースで予め実現したいソフトウェ
ア機能を開発してからスペシャリストが並列化改修する開発手順が取られています。OSCAR Multicore
Suite を使うと、例えばスペシャリストが不在でも Parallel Compiler で自動並列化を試しながら開発が進め
られます。既存のソフトウェアを並列化することでどの程度の性能が期待できるか Multicore Estimator で
見積もったり、スペシャリストによる並列化作業を Multicore Profiler で効率化したりもできます。

自動で安価にソフトウェアの並列化が実現できるため、プロトタイプ開発や手動での高速化改修をするほど
の予算がないソフトウェア開発でもコンピュータの性能を引き出せるようになります。例として、バイオ分野で
顕微鏡画像の加工に使われているオープンソースソフトウェア「TeraStitcher」に OSCAR Multicore Suite
を適用しました。Multicore Estimator と Profiler で計算処理のボトルネックとなる関数を解析し、Parallel
Compiler で並列化したところ、4 並列化で 3.42 倍の高速化ができました。並列化の作業時間は実行ファイ
ルの生成を含めて約 7 分でした。




顕微鏡画像の加工ソフト「TeraStitcher」の自動並列化結果。4 並列化で 3.42 倍の高速化に成功



オスカーテクノロジーはベータユーザーのフィードバックを受けて OSCAR Multicore Suite に改修を加え、
商用ソフトウェアとしての提供を予定しています。
参考文献

文献 1:笠原 博徳, 合田 憲人, 吉田 明正, 岡本 雅巳, 本多 弘樹, ``Fortran マクロデータフロー処理のマク
ロタスク生成手法'', 電子情報通信学会論文誌, D-1 Vol.75, No.8 pp.511-525, Aug.1992.

文献 2:Mamoru Shimaoka, Yasutaka Wada, Keiji Kimura, Hironori Kasahara, "Coarse Grain Task
Parallelization of Earthquake Simulator GMS Using OSCAR Compiler on Various cc-NUMA
Servers", 28th International Workshop on Languages and Compilers for Parallel
Computing(LCPC),Sep.2015.

文献 3:Dan Umeda, Takahiro Suzuki, Hiroki Mikami, Keiji Kimura, Hironori Kasahara, ""Multigrain
Parallelization for Model-based Design Applications Using the OSCAR Compiler", Proc. Of The 28th
International Workshop on Languages and Compilers for Parallel Computing (LCPC), Sep.2015.



オスカーテクノロジー株式会社について
2013 年に設立され、2020 年に株式会社フィックスターズの傘下に入ったオスカーテクノロジー株式会社
は、早稲田大学の研究者が発明した OSCAR Parallelizing Technology の商用化を目指し、同テクノロジ
ーを体化した特許(**)の専用実施権および同研究者が開発した OSCAR 並列化コンパイラの非独占的
利用権を取得してマルチコアプロセッサ上で動作するソフトウェアを並列化することによる、徹底的な高速
化・省電力化を実現するソフトウェア OSCAR シリーズを開発しています。

(注**)以下の3件の特許
1) 特許第 6319880 号「並列性の抽出方法及びプログラムの作成方法」
2) 特許第 6600888 号「並列化コンパイラ、並列化コンパイル装置、及び並列プログラムの生成方法
3) US 10,698,670「PARALLEL PROGRAM GENERATING METHOD AND PARALLEL-IZATION
COMPILING APPARATUS」



###


報道関係のお問い合わせ
フィックスターズ・オスカーテクノロジー 報道対応担当
Email: info@oscartech.jp
Tel: 03-6420-0751

9186