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です。




  • こんにちは。NoMaYです。

    以前のCoreMarkベンチマークのソースを見直し、サンプルプログラム置き場に置き直し、GitHubにも置きました。また、RX72N+CC-RX/GNURX/ICCRXでCoreMark値とCoreMark/MHz値を計測しました。[追記] 2020/12/03 計測に使用したICCRXをV4.14.1→V4.20.1と変更して計測結果を差し替えました。

    japan.renesasrulz.com/cafe_rene/m/sample_program/437

    github.com/NoMaY-jp/CoreMark-Renesas-RX/tree/cafe_rene/barebones_renesas_rx

    計測結果 (小数点以下3桁目以降は切り捨てです)

      CC-RX V3.02 ICCRX V4.20.1 GNURX 2020q4
    (8.3.0.202004)
    公称値

    コンパイル最適化オプション

    -optimize=max
    -speed
    -goptimize
    -Ohs
    --no_size_constraints
    -O3  
    リンク最適化オプション -optimize=speed  
      CoreMark CoreMark
    /MHz
    CoreMark CoreMark
    /MHz
    CoreMark CoreMark
    /MHz
    CoreMark
    /MHz
    RX72N Envision Kit
    (RX72N 240MHz)
    1250.42 5.21 1290.92 5.37 862.65 3.59 5.82

    計測時の画面コピー

    CC-RX


    ICCRX


    GNURX

     

  • こんにちは。NoMaYです。

    先日は見直したCoreMarkベンチマークのソースを使用して計測したRX72N+CC-RX/ICCRX/GNURXの結果しか書きませんでしたので、今回はRX130/RX231/RX65N+CC-RX/ICCRX/GNURXの結果も書き加えました。(今回使用したCC-RX V3.02では最適化能力が以前に使用したCC-RX V2.03より向上しているせいだと思いますが、公称値がひょいっと出てますね、、、『それでいいのかコアマーク?』という感もありますが、そういうもの(コンパイラの最適化能力依存のCPUコア性能/CPUコア出来具合の指標)ですね、、、) [追記] 2020/12/03 計測に使用したICCRXをV4.14.1→V4.20.1と変更して計測結果を差し替えました。

    計測結果 (小数点以下3桁目以降は切り捨てです)

      CC-RX V3.02 ICCRX V4.20.1 GNURX 2020q4
    (8.3.0.202004)
    公称値

    コンパイル最適化オプション

    -optimize=max
    -speed
    -goptimize
    -Ohs
    --no_size_constraints
    -O3  
    リンク最適化オプション -optimize=speed  
      CoreMark CoreMark
    /MHz
    CoreMark CoreMark
    /MHz
    CoreMark CoreMark
    /MHz
    CoreMark
    /MHz
    RX72N Envision Kit
    (RX72N 240MHz)
    1250.42 5.21 1290.92 5.37 862.65 3.59 5.82
    TB-RX130
    (RX130 32MHz)

    100.20

    3.13 100.78 3.14 73.07 2.28 3.09
    TB-RX231
    (RX231 54MHz)
    229.31 4.24 230.41 4.26 165.38 3.06 4.16
    TB-RX65N
    (RX65N 120MHz)
    524.43 4.37 514.42 4.28 386.70 3.22 4.34

     

  • こんにちは。NoMaYです。

    1つ前と2つ前の投稿のICCRXでの計測結果をV4.20.1のものへと差し替えました。(ただ、若干の向上傾向はあるかな、といった程度で、殆ど同じでした。)

  • こんにちは。NoMaYです。

    ルネサスさんのブログに以下が投稿されてました。(投稿されたのは、しばらく前のことになります、ね。) なお、RXv2 ですらですよ。

    光陰矢のごとし、RXv2コアのCoremark/MHzが5.0を超えた!その理由(わけ)は?
    Sugako Otani
    RX CPU Chief Architect
    www.renesas.com/jp/ja/blogs/time-flies-flash-light-renesas-rxv2-core-has-exceeded-coremark-50-how-does-it-achieve-result

    以下、EEMBCのサイトのRXマイコンのスコアの画面コピーです。RX65Nとか更新されてないですね、、、