# HG changeset patch # User Yuhi TOMARI # Date 1424197654 -32400 # Node ID a41beec3553ef26f20048622f397250fed9fc892 # Parent 4c245ed4e61a3ad12614244ddc4049579ebc0c9e benchmark slide diff -r 4c245ed4e61a -r a41beec3553e paper/figures/GPU/fft_dragonfly.pdf Binary file paper/figures/GPU/fft_dragonfly.pdf has changed diff -r 4c245ed4e61a -r a41beec3553e paper/figures/multicore/.DS_Store Binary file paper/figures/multicore/.DS_Store has changed diff -r 4c245ed4e61a -r a41beec3553e paper/figures/multicore/word_count.pdf Binary file paper/figures/multicore/word_count.pdf has changed diff -r 4c245ed4e61a -r a41beec3553e slide/blank.html --- a/slide/blank.html Wed Feb 18 02:10:50 2015 +0900 +++ b/slide/blank.html Wed Feb 18 03:27:34 2015 +0900 @@ -666,47 +666,173 @@
-

-

+

実験環境

+ + + + + + + + + + + + + + + + + + + + +
ModelMacPro Mid 2010
CPU6-core Intel Xeon@2.66GHz
Serial-ATA DeviceHDD ST4000VN000-1H4168
Memory16GB
OSMacOSX 10.10.1
GraphicsNVIDIA Quadro K5000 4096MB
+
+ + + + + + + + + + + + + + + + + + + +
ModelMacPro Late 2013
CPU6-core Intel E5@3.5GHz
Serial-ATA DeviceApple SSD SM0256
Memory16GB
OSMacOSX 10.10.1
GraphicsAMD FireProD700 6144MB
+

+ MacPro 2010 と MacPro 2013 で実験を行った。 + MacPro 2013 がより新しいモデルで、クロック数が高く、SSDを使用している。 +

-

実験に利用する例題-WordCount-

-
- -
-

実験に利用する例題-FFT-

-
- -
-

実験環境

-
- -
-

マルチコア CPU による並列実行のベンチマーク

+

WordCount によるマルチコア CPU における並列実行のベンチマーク

+ + + +
+ +

2つの実験環境でコア数に対する実行時間の測定を行った。

+

+ MacPro 2010 において 6CPU を使用した場合、 + 1CPU を使用した場合に比べて 5.0 倍の速度向上が見られた。 +

+

+ MacPro 2013 においては 6CPU を使用した場合、 + 1CPU を使用した場合に比べて 5.2 倍の速度向上が見られた。 +

+

計算機のコア数である 6CPU までは充分に並列度を維持する事ができた。

+

DMA の prefecth に関するベンチマーク

-
- -
-

GPGPU のベンチマーク

+ + + +
+ +

+ DMA 転送の prefetch 機能を使用した場合(prefetch)と + 使用しなかった場合(no_prefetch)について測定を行った。 +

+

+ 測定の結果、prefetch を使用すると CPU 数が1の場合は1.17%、 + CPU 数が6の場合は1.63%の性能向上が見られた。 + 6CPU までは prefetch を使用した場合の性能が高く、6CPU を超えるとほぼ同じ性能となった。 +

+

データ並列実行のベンチマーク

+ + + +
+ +

+ データ並列実行に関して、マルチコア CPU 、OpenCL、CUDA について通常実行した場合と + データ並列実行した場合に関して WordCount を用いて測定を行った。 +

+

+ マルチコア CPU では1.06 倍の性能向上が見られた。 + GPU に関しては劇的な性能向上が見られ、OpenCL は 115 倍、 + CUDA は 14 倍の性能が向上した。 + この結果から GPGPU を行う際はデータ並列による実行が必須であることがわかる。 +

+

+ 全体的に性能は向上したが、マルチコア CPU に比べて GPU の性能が出ていない。 +

+
+
+ +
+

FFT による GPGPU のベンチマーク(MacPro2010)

+ + + +
+ +

+ FFT により マルチコア CPU、CUDA、OpenCL について測定を行った。 + CUDAは 1CPU と比べて3.5倍、 + 6CPU と比べて1.1倍の性能向上が見られた。 +

+

+ OpenCL に関しては、1CPU と比べて2.75倍の性能向上が確認できたが、 + 6CPU と比べると0.76 倍の性能低下が見られた。 + OpenCL のみで FFT を行った場合と比べても0.76倍の性能低下が見られた。 +

+
-

GPGPU のベンチマーク

-
- -
-

FFT による GPGPU のベンチマーク

+

FFT による GPGPU のベンチマーク(MacPro2013)

+ + + +
+ +

+ GPU の性能が高い計算機で測定した結果、GPGPU の性能向上が確認できた。 + OpenCL が1CPU と比べて6倍、 + 6CPU と比べて1.6 倍の性能が出た。 + OpenCL のみで FFT を行った場合と比べても同等の性能を発揮することができた。 +

+

BlockedRead による並列 I/O のベンチマーク

+ + + +
+ +

+ Cerium の従来の読み込み方式である mmap、一般的な file open である read、 + 更に今回実装した BlocledRead の測定を行った。 + BlockedRead に関しては io Thread を使用した場合(BlockedRead_io)と、 + 使用しない場合(BlockedRead_speany)の測定を行う。 +

+

+ 6CPU において、BlockedRead_IOを使用した場合、mmap に比べて1.1倍、 + read に比べて1.58倍、 + BlocedRead_speany と比べて 1.34 倍の性能向上が見られた。 +

+
+
diff -r 4c245ed4e61a -r a41beec3553e slide/images/dmabench.png Binary file slide/images/dmabench.png has changed diff -r 4c245ed4e61a -r a41beec3553e slide/images/fft_dragonfly.png Binary file slide/images/fft_dragonfly.png has changed diff -r 4c245ed4e61a -r a41beec3553e slide/images/fft_firefly.png Binary file slide/images/fft_firefly.png has changed diff -r 4c245ed4e61a -r a41beec3553e slide/images/io_thread_firefly.png Binary file slide/images/io_thread_firefly.png has changed diff -r 4c245ed4e61a -r a41beec3553e slide/images/sort_multicore.png Binary file slide/images/sort_multicore.png has changed diff -r 4c245ed4e61a -r a41beec3553e slide/images/word_count_multicore.png Binary file slide/images/word_count_multicore.png has changed diff -r 4c245ed4e61a -r a41beec3553e slide/images/wordcount_dataparallel.pdf Binary file slide/images/wordcount_dataparallel.pdf has changed diff -r 4c245ed4e61a -r a41beec3553e slide/images/wordcount_dataparallel.png Binary file slide/images/wordcount_dataparallel.png has changed