成果報告書詳細
管理番号20130000000998
タイトル平成22年度-平成24年度成果報告書 極低電力回路・システム技術開発(グリーンITプロジェクト) 研究開発項目7 低消費電力メニーコア用アーキテクチャとコンパイラ技術
公開日2013/10/22
報告書年度2010 - 2012
委託先名国立大学法人九州大学 学校法人立命館 国立大学法人電気通信大学 株式会社トプスシステムズ 株式会社フィックスターズ
プロジェクト番号P09003
部署名電子・材料・ナノテクノロジー部
和文要約件名:平成22年度-平成24年度 成果報告書 「極低電力回路・システム
技術開発(グリーンITプロジェクト)」研究開発項目7「低消費電力メニーコ
ア用アーキテクチャとコンパイラ技術」 

メニーコアの利点は、チップ上に搭載された多数のコアを活用した超並列処理の実現により、高性能化と低消費電力化を両立できる点にある。これを実現するためには、(1)実行対象となるアプリケーションから十分なレベルの並列性を抽出し、かつ、(2)コア数の増加に伴い高い性能を実現できるスケーラビリティを確保することが極めて重要となる。このような課題を解決するため、我々はSMYLE(Scalable ManY-core for Low Energy computing)プロジェクトを遂行した。主な成果は以下の通りである。

汎用メニーコアSoCの開発(SMYLEref、SMYLE OpenCL Compiler、ランタイムライブラリ):各アプリケーションやタスクを加速実行する仮想的なアクセラレータVAM(Virtual Accelerator on Many-core)の概念を導入し、複数のVAMをメニーコア領域にマッピングすることで様々なレベルの並列性を活用可能な汎用メニーコアSoCアーキテクチャSMYLErefを開発した。また、そのソフトウェア開発/実行環境として、VAMの合成機能を有するSMYLE OpenCL Compilerやランタイムライブラリを開発した。これらに加え、複数のFPGAボードを用いた128コアSMYLErefプロトタイプを開発した。評価を行った結果、全コアを利用し並列プログラムを順次実行する従来方式と比較して約4倍の性能向上を実現できることが分かった。これは、動作周波数を1/4とし、それに伴い電源電圧を40%程度削減できれば、動的消費エネルギーを約1/10に削減できることを意味する。

ドメイン特化型メニーコアSoCの開発(SMYLEvideo):ビジュアルコンピューティング(特に動画像認識)向けメニーコア・アーキテクチャを開発した。アーキテクチャとアルゴリズムの協調設計を行い、異なる種類のコアをクラスタ化したヘテロジニアス構成を採用するに至った。また、プロセス間通信に関わる処理時間のオーバーヘッドを隠蔽するゼロオーバヘッド通信方式を考案した。さらに、画像のフレーム単位ではなくブロック単位で処理することにより、外部メモリの使用量を1/7に、また、必要となるメモリ帯域を1/5程度に削減することに成功した。シミュレーションならびに見積もりに基づく評価を実施した結果、特徴点の検出・特徴量の抽出を行うアルゴリズムであるSIFTの実行時に15フレーム/秒の性能を実現できることが分かった。また、商用の専用ハードウェアアクセラレータを具備した4コア程度の画像認識プロセッサに対して、最小構成時に性能1.7倍、消費電力1/2以下、回路規模1/2以下という大きな優位性を得た。

ソフトウエア開発環境の構築(CLtrump、PEMAP、BEMAP): 3つのソフトウェア開発サポートツールを開発した。CLtrumpは逐次Cプログラムから並列化されたOpenCLソースコードを生成する。ここでは、プログラマとのインタラクティブな協調作業により効率の良い並列化を実現する。PEMAPは、アプリケーションをメニーコアへと移植する前に達成可能な性能を推定するツールである。本ツールは、プログラム実行の結果は保証しないが、ターゲットとなるメニーコア環境での実行時間を可能な限り再現するためのコードを自動生成する。評価を行った結果、0.44%のエラーで性能を推定できることが分かった。これらに加え、メニーコア評価用ベンチマーク・プログラムBEMAPを開発し、オープンソースとして公開した。
英文要約Title: Ultra Low Power Circuits and System Technology Development (Green IT Project), Research Number 7, Architecture and Compiler for
Low Power Many-Core Microprocessors (FY2010-FY2012) Final Report

In designing many-core processors, the most important challenges are (1) ensuring a sufficient level of parallelism and (2) maintaining performance scalability against the increased number of cores. Against this background, we have started a research and development project called SMYLE (Scalable ManY-core for Low Energy computing). The main contributions of this research are as follows.

Development of a Many-core SoC (SMYLEref, SMYLE OpenCL, and Run-time Library) : We have designed a many-core architecture that can be used in general purpose SoCs. The architecture supports efficient execution of VAMs, Virtual Accelerator on Many-core. VAMs are generated through an architecture synthesis technique, and are statically mapped onto the many-core domains. We also have proposed an OpenCL-based programming model and provided a relevant compilation and run-time execution environment. Another contribution of this research is amulti-board FPGA emulation system, which has been developed as anexecution platform of 128-core SMYLEref. In our evaluation, it has
been observed that the proposed parallel execution methodology can produces 4X speedup compared with a conventional approach. We can achieve 1/10 of energy consumption by means of lowering the clock frequency if we assume the same performance with the conventional execution.

Development of a Domain Specific Many-core SoC (SMYLEvideo) : This research has developed a domain specific many-core SoC. Through an architecture-algorithm co-design for video mining applications we designed a scalable many-core processor, which consists of clustered heterogeneous cores with stream processing capabilities and FIFO-based zero-overhead inter-process communications. For achieving high-performance and low-power consumption, each application is partitioned to exploit both task and data parallelism, and programmed as a distributed stream processing with relatively large local register-file based on Kahn Process Network model. Our evaluation shows that SMYLEvideo can achieve 1.7X performance improvement, ess
than or equal to 50% of power consumption, and half of the hardware size, compared to a state-of-the-art four-core system integrated with a hardware accelerator.

Support for SW development (CLtrump, PEMAP, and BEMAP): This research focuses on developing several tools to improve software productivity. A C to OpenCL translator called CLtrump supports user-interactive optimization and parallelization. Another tool called PEMAP has been developed for estimating the sustained many-core performance before porting legacy applications. The tool can be used for early-stage performance estimation. Our experiments on PEMAP show we can estimate performance of hand-parallelized programs in an error of 0.44% of sequential program’s performance on average. We have also developed a benchmark set called BEMAP for performance evaluation, which is released under an open source license.
ダウンロード成果報告書データベース(ユーザ登録必須)から、ダウンロードしてください。

▲トップに戻る