【環境】
- CPU:Inte(R) Xeon(R) processor D-1540 (2.00GHz、8core)
- メインボード:Supermicro X10SDV-TLN4F
- チップセット:System on Chip
- メモリ:32GB(8GB DDR4-2133 ECC REG ×4)
- OS:CentOS7.1 x86_64
- GNUコンパイラ:GCC 4.8.3
- Intelコンパイラ:Parallel Studio XE 2015 Composer Edition for C++ Linux 15.0.3
- OpenMPI:1.8.5
- Intel(R) MPI Library:Version 5.0 Update 3
- 姫野ベンチ:himenoBMTxp_l size L
- 姫野ベンチ並列バージョン:cc_himenobmt_mpi size L
※以下スコアは全て測定回数5回の平均値です。
①シングルスレッド評価
姫野ベンチ(himenoBMTxp_l)を各コンパイラにてコンパイルし測定しました。
コンパイラ |
スコア |
gcc |
3014.4 MFLOPS |
icc |
5388.6 MFLOPS |
以前測定したIntel Xeon E5-2687W(3.1GHz)のスコア3525 MFLOPSと比較しても非常に高いスコアといえます。姫野ベンチはメモリに依存しているベンチマークですので、メモリがDDR3からDDR4になったことでスコアが大きく延びていると考えられます。また、インテルコンパイラではgccの約1.8倍のスコアとなりましたのでインテルコンパイラの使用が非常に有効といえます。
②マルチスレッド評価
コンパイラとMPIライブラリを組み合わせて姫野ベンチ並列バージョン(cc_himenobmt_mpi)をコンパイルし測定しました。
スレッド数 |
gcc+OpenMPI |
icc+Intel MPI |
シングル |
2995.6 MFLOPS |
5346.2 MFLOPS |
8 |
12672.6 MFLOPS |
12939.4 MFLOPS |
16(HyperThreading on) |
11318.6 MFLOPS |
12301.6 MFLOPS |
両組み合わせにおいてシングルスレッドでは前項目のシングルスレッド評価と同等の信頼できるスコアが確認できます。8スレッドでは12600~12900 MFLOPS程度、「HyperThreading on」の16スレッドでも11300~12300 MFLOPS程度と12000 MFLOPS付近にてスコアが収束しているように見えます。
確認の為、「icc + Intel MPI Library」にて2~4スレッドの測定も行いました。
スレッド数 |
icc+Intel MPI |
1 |
5346.2 MFLOPS |
2 |
9894.2 MFLOPS |
3 |
12003.6 MFLOPS |
4 |
13248.0 MFLOPS |
2スレッドではリニアに数値が倍増しているといえますが、3スレッドで既に収束範囲に到達しています。これも、姫野ベンチがメモリに依存しているベンチマークであるため、3スレッド以降ではメモリ帯域を使い切ってしまい収束範囲に達してからはスコアが伸びなくなったと考えられます。
【総評】
Supermicro X10SDV-TLN4Fに搭載のIntel Xeon D-1540は組込CPUに分類されますが、シングルスレッドのスコアでは、2世代前のワークステーション用CPUに迫るスコアを記録しました。マルチコア(8コア)CPUですので、メモリ帯域を多く使用しないプログラムであればマルチスレッドで性能が発揮されると期待できます。
以上、Intel Xeon D搭載マシンの姫野ベンチマーク評価でした。