KZKY memo

自分用メモ.

GPU/CPUの計算速度比較 02

ここに載っている一般的なlogistic regressionを解くとき,GPU vs CPUで速度比較したのでその時のメモ.

実験環境

計算リソース

実験1 設定

  • #dims = 784 (固定: same as in sample code)
  • #samples = [10000, 20000, 30000, 40000, 50000, 60000]
  • #iter=100 (固定)

実験2 設定

  • #dims = [10000, 20000, 30000, 40000, 50000, 60000]
  • #samples = 400 (固定: same as in sample code)
  • #iter=100 (固定)

実験3 設定

  • #dims = 64000 (英語のnews記事の単語数くらい based on news20)
  • #samples = 400 (固定: same as in sample code)
  • #iter=100 (固定)
  • GPUメモリに収まらないので,batchサイズ=5000にして学習する
  • CPUは終わらなそうなので未比較

結果

結果1

f:id:KZKY:20150326011214j:plain

結果2

f:id:KZKY:20150326011216j:plain

結果3

f:id:KZKY:20150326011213j:plain

結果1からはサンプル数が多くて,次元数が数100程度の学習問題は,CPU分散学習でも良いと思われる.

結果2からはサンプル数が少なくて,高次元非スパースの学習問題は,GPUにすると良い, CPUには無理と思われる.

結果3からはサンプル数が多くて,高次元非スパースの学習問題は,GPUにすると良い,CPUには無理と思われる.

実社会の問題は,サンプル数が多くてスパースな場合が多いので,そのデータ表現でCPU vs GPUを試したい.

参考

CPUはsingle threadなので不公平だけどまあ良しとする.
GPUカードあれば良し.