RTX3080で機械学習ベンチマーク(CUDA on WSL2 on BootCamp)


はじめに

検証環境

  • MacBook Pro上のBoot Camp環境で、CUDA on WSL2を利用しています。
  • マシンスペック
    • MacBook Pro(2018)
      • OS:Windows 10 Pro Insider Preview(Boot Camp)
      • バージョン:2004
      • Windows OS ビルド:20279.1
      • macOS:Big Sur 11.1
    • CPU:Intel Core i7-8559U
    • GPU:NVIDIA GeForce RTX 3080
      • GPUエンクロージャ:Razer Core X Chroma
      • ドライババージョン:465.12
    • Memory:16GB
    • Storage:NVMe SSD 200GB

検証タスク

  • CIFAR10
  • フレームワーク
    • CUDA:11.0
    • Python:3.7.6
    • NNabla:1.14.0
      • 1.14.0からCUDA 11.0に対応

結果

  • ① MacBook Pro + eGPU(RTX3080) (CUDA on WSL2)
    • with GPU:0.149[sec]/10[iter] (595.61[sec]/40000[iter])
    • only CPU:20.8[sec]/10[iter] (208.47[sec]/100[iter])
  • 前回までのベンチマーク参考値12
    • ② MacBook Pro + eGPU(RTX2080Ti) (CUDA on WSL2)
      • with GPU:0.929[sec]/10[iter](3717.86[sec]/40000[iter])
      • only CPU:19.2[sec]/10[iter] (192.30[sec]/100[iter])
    • ③ MacBook Pro + eGPU(RTX2080Ti) (CUDA on Windows)
      • with GPU:0.189[sec]/10[iter] (757.95[sec]/40000[iter])
      • only CPU:21.9[sec]/10[iter] (218.70[sec]/100[iter])
  • その他環境でのベンチマーク参考値1
    • ④ Desktop PC (Ubuntu-18.04, Corei9-9900K, RTX2080Ti)
      • with GPU:0.080[sec]/10[iter] (323.13[sec]/40000[iter])
      • only CPU:15.9[sec]/10[iter] (158.77[sec]/100[iter])
    • ⑤ Desktop PC (Windows10, Ryzen9-3900XT, RTX2080Ti)
      • with GPU:0.117[sec]/10[iter] (467.05[sec]/40000[iter])
      • only CPU:14.2[sec]/10[iter] (142.05[sec]/100[iter])
  • ①~③の中では、今回のテストケースが最速でした。
  • 結果を見る限りでは実用的なレベル感だと思います。

考察

  • 今回、周りの環境(GPUドライバなど)もアップグレードしているので、上記結果を単純比較することはできませんが、以下の2点が速度向上に寄与していると思われます。
    • CUDA on WSLに対するGPUドライバの最適化
    • RTX2080Ti → RTX3080による演算の高速化

あとがき

  • (RTX2080Tiに換装しなおしてデータを取り直せば、はっきりしますね…。)