2012年3月30日に、「第1回メニーコアシンポジウム」が開催された。情報化の進展とともに扱うデータ量は急増し、コンピュータや通信機器の消費する電力は、全消費電力の中で大きな比率を占めてきている。このため、新エネルギー・産業技術総合開発機構(NEDO)は、「極低電力回路・システム技術開発(通称グリーンITプロジェクト)」という研究開発を推進している。

グリーンITプロジェクトの中には7つの研究開発項目があるが、その1つの「低消費電力メニーコア用アーキテクチャとコンパイラ技術」という項目は、従来技術と比較して性能が2倍、消費電力が1/10のアーキテクチャを開発するということを目的としている。ただし、実際のハードウェアまで作るのではなく、簡易シミュレータで実現可能性を示すというのがゴールである。このシンポジウムは、「低消費電力メニーコア用アーキテクチャとコンパイラ技術」の研究成果の中間報告を行うものである。

中間報告を行う九大の井上准教授

研究開発チームは、九州大学(九大)、立命館大学、電気通信大学(電通大)、トプスシステムズ、フィックスターズというメンバーで、市場調査とどこをターゲットとすべきかをJEITA(電子情報産業協会)、メニーコア用のOSと開発環境の調査をeSOL、CATSに再委託して実施している。

九大、立命館、電通大のメンバーは「SMYLE(Scalable ManY-core for Low-Energy computing)プロジェクト」という名称でメニーコアのアーキテクチャとコンパイラなどの研究開発を行っている。

SMYLErefはメニーコアで各種の機能のアクセラレータを仮想的に実現する

九大・立命館・電通大らが提案するSMYLEの基本概念は、汎用の処理を行うホストコアと特定の処理を加速する小規模なメニーコアを1チップに集積し、携帯端末などに使う場合は、中央の図のように、メニーコアの一部をグラフィックス、一部をビデオ処理という風に割り当て、通信処理を行う場合には、パケット処理や暗号化にメニーコアの一部を割り当てるというようにする。このような小規模コアの集合で実現されたアクセラレータを「VAM(Virtual Accelerator on Many-core)」と呼ぶ。

各コアの性能は低いが、汎用のホストコアと比べると性能/電力は高く、小規模メニーコアの利用で低電力のアクセラレータが実現できるという。また、このようにプログラムでVAMの機能をカストマイズするアプローチをとると、1つのLSIで多くの用途に使えることになる。微細化に進展とともにLSIの開発費が膨大になってきており、用途ごとにLSIを開発することは難しくなってきているので、このような可変機能のメニーコアが有効であるという。

SMYLErefのソフトウェア開発フロー

そして、メニーコアのプログラムの開発フローは、C言語で書かれたプログラムをFIXSTARSが開発している「CLtrump」というツールでOpenCL言語に変換する。この変換は自動で行う部分もあるが、ユーザと会話的に並列化を行っていくというものである。

そして、立命館大で開発しているSMYLEOpenCLコンパイラで前記のメニーコアチップのバイナリを生成する。この時、コンパイラは、VAMの機能を実現するメニーコアのバイナリとVAMを駆動するホストコアのバイナリのペアを生成する。

現在はFPGAを用いてSMYLErefアーキテクチャのチップを実現する評価環境を構築した段階で、2012年度にアーキテクチャの改良やVAMマッピングのやり方、ソフトウェアツールの評価を行う予定である。

電通大が開発したSMYLErefの評価環境

各ボードは8コア分を実現しており、この写真の構成は16コアの評価環境となっている。そして、そのうちの1コアがホストコアの役割を担い、PCからシリアルコンソール経由で制御を行っている。

Topsシステムズは、ビデオ画像からオブジェクトの検索やトラッキングを行うビデオマイニング向けのプロセサの研究開発を行っている。ビデオマイニングは処理するデータ量が多く、既存のプロセサでは実現できない。一方、処理の並列性は非常に高く、99%以上が並列に処理できるので、メニーコアに向いている。また、認識に用いられるアルゴリズムは種類が多く、これらをそれぞれハード化するのは現実的でなく、メニーコアプロセサ上のソフトウェアで実現する必要があるという。

TOPSシステムが開発しているSMYLEvideoのコアの構成

汎用のプロセサコアは、2つのオペランドに演算を施し、結果をメモリやレジスタに格納するというものであるが、TopsのSMYLEvideoチップのコアは、右側の図のように多数のオペランドに多段の演算を行ったり、SIMDのように並列に演算を行ったりというようなアプリケーションドメインに特化した演算を行うことにより性能/電力を高める。

そして、このコアを8個程度と、共通の1次の命令キャッシュとデータデータキャッシュを纏めてクラスタとし、チップには多数のクラスタと2次キャッシュ、ホストCPUやメモリコントローラ、I/Oインタフェースなどを集積するという案である。こちらも2012年度にはFPGAで評価システムを作る計画である。

そして、このプロジェクトで開発されたアーキテクチャやツールなどは、可能な限りオープンで自由に利用できるよう公開していく方針であるという。

メニーコアの普及に何が必要か

シンポジウムの最後に「メニーコア時代のチャレンジ~普及に向けて何が必要か?~」と題するパネルディスカッションが行われた。九大の井上准教授がモデレータを務め、パネリストは自動車業界のデンソーの石原氏、調査会社iSuppliジャパンの南川氏、東芝の宮森氏、そして、早大の笠原教授、東京農工大の並木教授が登壇した。

パネルディスカッションのメンバー

メニーコアはともかく、マルチコア化は必至という意見が大部分であったが、デンソーの石原氏はエンジン制御の例をあげ、応答時間に厳しい制約があり、かつ、弁の制御はエンジンの回転角に依存する。マルチコアでこのような制御ができるかどうか自信がない。どうやれば使えるのか教えてほしいと述べていた。

また、石原氏は、制御は要件が大きく異なる部分があり1種類のコアではうまく処理できず、ヘテロ化が必要である。しかし、最近の開発費の高騰から、1種類のチップを開発するだけでも大変で、ヘテロで用途特化型はやる気がしないと述べていた。

並木教授は、組み込みと言ってもタブレットなどの情報系と制御系では要件が異なる。マルチコア・メニーコアといっても多くのアーキテクチャがあり、1つには括れない。毎回、アーキテクチャが作り直しになるのではやっていられないので、ハード、ソフトのレイヤをどう分割し、どう制御するかをちゃんと設計することが重要と述べていた。

組み込み分野は多様であり、一筋縄では行かないという感じであった。しかし、このシンポジウムには200人弱の参加者があり、組み込み分野へのマルチコア・メニーコアの適用への関心の高さがうかがえた。