2017年7月31日月曜日

GTX1050Ti と Tesla m2050

Deep learningの学習用にGTX1050Tiを購入した。

実はこれより前に、AmazonにTesla m2050の中古品が\3,680という破格値で出てたので購入した。見るからにゴツく、補助電源も2本必要というとっても電力を喰いそうなボードだ。パネルがついていないのでサーバーで使われていたものかも知れない。

PCにセットして動作させてみたところ問題なく動作し、NVIDIAからダウンロードしたCUDAのsampleプログラムも動作した。

…しかし残念ながらdeep learningには使えない。
NVIDIAのGPUにはCompute Capability(CC値)という性能指標のようなものがあり、このm2050は3.0だそうだが、Deep learningにはCC値が3.0以上のものでないと使えないそうだ。
https://www.tensorflow.org/install/install_sources
http://www.arcbrain.jp/support/NVIDIA/Deep_Learning/

そこで、CC値が3.0以上でDeep larningに使える安価なGPUは無いか探したところ、GTX1050Tiが使えることが判り、購入した。(GTX1050TiのCC値は6.1) この他にGTX1080Tiというのもあるが、価格が10万円近いので個人用に買うにはチョト、いや、かなり厳しい。



GTX1080Tiはm2050同様補助電源が必要だが、GTX1050Tiは補助電源不要という点もうれしいところだ。

「TensorFlowで学ぶディープラーニング入門」という書籍の「Chapter05/MNIST double layer CNN classification」を使って、CPUで演算した場合とGPUで演算した場合の性能差を見てみた。
cpuで演算するtensorflowライブラリを使用した場合は67分掛かった。
これに対してgpuで演算するtensorflowライブラリの場合は3分22秒だった。

約20倍の性能差があるということか。
ただし、使用しているCPUはAMDのAMD FX4170なのでXeon等と比べると演算性能は低い。
また、cpu演算版tensorflowライブラリはSSE等の命令を使っていないライブラリなので、それらを使うようにすれば性能は上がるかもしれない。一方GTX1050Tiの方はPCI Expressが3.0だが、使っているPCのマザーボードのPCI Expressは2.0のため2.0として動作している。PCI Express 3.0は2.0に対してスループットが2倍なので、PCI Express 3.0仕様のマザーボードにすればこちらも性能が上がる可能性がある。要するにどちらもまだ伸び代(高速化の余地)はあるということだ。




0 件のコメント:

コメントを投稿

TE0720 No.4 (BNN-PYNQを動かしてみる 2)

TE0720でBNN-PYNQを動かすことが出来た。 以下は前回に続いてBNN-PYNQが動くまでの記録。 gdb (GNU debugger)で例外が出る原因を調べてみた。 例外が発生しているのはシェアードライブラリ(python_hw-cnv-pynq.so)の中であ...