組み込みマイコンにおけるベンチマーク利用法の新しい動向 ―― 車載,産業機器,民生機器などの分野別ベンチマークを提供するEEMBC(エンバシー)
EEMBCベンチマーク・スイーツの詳細
● デフォルトではprintf()とclock()がテスト・ハーネスに用いられている
基本的にEEMBCでは,ベンチマーク・ソース・コードをスクラッチから開発しています.ほかに業界標準のリファレンス・コードや,会員,業界から寄付されたコードも利用します.ベンチマーク・ソフトウェアが引用するデータ・セットはEEMBC独自で決めます.すべてのベンチマーク・ソフトウェアは,テスト・ハーネスという共通のレイヤを介してプロセッサ・ハードウェアにインターフェースします.
テスト・ハーネスは,ハードウェア・インターフェースを司る以外に,WindowsやLinux,UNIXの搭載されたパソコンまたはワークステーションからのベンチマークの起動や実行制御も行います(図1).
システム設計者はテスト・ハーネスをプロセッサ・サブシステムに合わせてコーディングする必要がありますが,デフォルトのテスト・ハーネスではprintf()とclock()の2種のライブラリしか用いないため,これらのライブラリがすでに用意されている場合は,比較的簡単にコーディングができます.もし,これらのライブラリが用意されていない場合は,直接プロセッサの搭載されたターゲット・ボード上のI/Oとタイマにアクセスするようにテスト・ハーネスを書き換える必要があります.
なお,テスト・ハーネスは,実際のハードウェアのみならずシミュレーション・プラットホームにも対応しているため,SOC(system on a chip)におけるシミュレーション・ベースの性能検証や性能最適化のような実チップのないときでも活用できます.
● スコア計測法はOTBとOPTが用意されている
EEMBCベンチマークには2種類のスコア計測法があります.一つはOut-of-The-Box(OTB)で,この場合EEMBCベンチマーク・ソース・コードに変更を加えることは許されませんが,一般に提供されるコンパイラを用いてコンパイラに最適化を加えることは許されます.
コンパイラのスイッチ設定情報は,スコアの認定を受ける場合は必ずEEMBC技術センターに開示しなければなりません.
もう一つはFull-fury(OPT)で,この場合には,EEMBCベンチマーク・ソース・コードに変更を加えたり,性能最適化のために必要に応じてアセンブラで置き換えたり,また特殊なライブラリ関数を用いたり,CPUに内蔵されたハードウェア・アクセラレータを利用したりすることが許されます.
EEMBCのWeb上に公開されたスコアはほとんどがOTBの値です.従って,プロセッサを選定する際にはまずOTBで同じ条件での比較を行い,次にOPTスコアが対象プロセッサに存在すれば,それも考慮した比較を行います.