TB-RX65N/TB-RX231/TB-RX130+CC-RX/GNURXでCoreMark®ベンチマークを動かせるようにしてみようと思います

こんにちは。NoMaYです。#2連投の1つ目です。

ルネサスさんのアプリケーションノートに以下の『RX100シリーズ RX100上でCoreMarkを実行する方法』というRSK-RX111+IAR EW統合開発環境でEEMBCのCoreMarkベンチマークを実行するものがあったのですが、これをRX-TB 3種類+CC-RX/GNURXへ移植してみようと思います。まず、手始めにTB-RX130+CC-RX+CS+で試してみました。(後日、他のTBボードやGNURXでも動かしてみようと思います。さらに、e2 studioでも動かせるようにしてみようと思います。なお、その時は、GitHub上でEEMBCが公開しているCoreMarkベンチマークの以下のリポジトリのソースに差し替え、かつ、RXスマートコンフィグレータが生成したソースを出来るだけ使うような作りに変更しよう、と思っています。)

プロジェクトのファイル一式
tb_rx130_coremark_ccrx_c_csplus_20191026.zip    384KB

アプリケーションノート: RX100シリーズ RX100上でCoreMarkを実行する方法
www.renesas.com/jp/ja/search?keywords=CoreMark&f[0]=content_type:document

ドキュメント
www.renesas.com/jp/ja/document/apn/rx100-series-running-coremark-rx100

サンプルプログラム
www.renesas.com/jp/ja/document/scd/rx100-series-running-coremark-rx100

GitHub上でEEMBCが公開しているCoreMarkベンチマークのソース
github.com/eembc/coremark


TB-RX130+CC-RX V2.03で試した結果と試した時のCC-RXの最適化オプションは、以下の画面コピーの通りです。得られたCoreMark値が91.5、動作周波数が32MHz、よって、CoreMark/MHzは2.86、となりました。(ちなみに、CoreMark値やCoreMark/MHzは、そもそもそういうものなのですが、最適化オプションによりかなり値が変わります。) なお、以下の画面コピーの通り、RSK-RX111+EWRX V2.41.1でのCoreMark/MHzは3.073のようでした。また、ルネサスさんの製品ページでのRX130(やRX111)のCoreMark/MHzは3.08です。




Parents
  • こんにちは。NoMaYです。

    fujitaさん、情報有難うございます。新しいGNURXで試してみました。結果は以下の通りでした。(小数点以下3桁目以降は切り捨てです。) CoreMark値(及びCoreMark/MHz値)は2割ほど向上していました。(ただ、-fltoを指定していると動作しなくなってしまいましたので、-fltoは外しました。(印象なのですが、値の計測を終了した後に、結果を出力しようとしたところで(ところから)、何かが起きてしまっているようでした。))

     

    旧GNURX 2019q2(4.8.4.201902)

    新GNURX 2019q4(8.3.0.201904)

    公称値
    コンパイル最適化オプション -O3 -flto -O3
    リンク最適化オプション
      CoreMark CoreMark/MHz CoreMark CoreMark/MHz CoreMark/MHz
    TB-RX130 (RX130 32MHz) 61.38 1.91 73.07 2.28 3.08
    TB-RX231 (RX231 54MHz) 137.11 2.53 165.38 3.06 4.16
    TB-RX65N (RX65N 120MHz) 326.61 2.72 386.70 3.22  4.34

     

  • おゝこれは素晴らしい。正直期待以上の結果でした。

Reply Children
No Data