漢なら GPU 複数刺してレイトレーシング/機械学習で 24 時間稼働させたいですよね!
2017/05 時点では対応 CPU の PCI lanes が多く(up to 40 lanes), x16 スロットがフルで刺さるのは X99 マザー一択になります.
(X99-E WS とかは x16 x 7 スロット! あります)
そこで X99 マザー(Asus X99-E WS) + GTX 1070/1080 Ti 複数枚刺しで Ubuntu 16.04 で GPU レイトレーシング/機械学習をしようと思案しまして, まずは耐久性をはかるために仮想通貨のマイニングプログラムを走らせてみたのですが PLX エラーがでてつらい.
GTX 1080 Throwing Bad TLP PCIe Bus Errors
https://forums.geforce.com/default/topic/957456/geforce-drivers/gtx-1080-throwing-bad-tlp-pcie-bus-errors/post/4969345/
どうも X99 のエラッタのせいのようです. マザーボードの BIOS 最新にしても治りませんでした.
-
pci=nommconf
にしたら数時間は稼働するがその後カーネルパニック -
pci=nomsi
にしたら PLX エラーは出なくなったが, やはり CUDA プログラムがたまに死にます. たとえば...
[ 1110.390678] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK02_LOCAL_MEMORY_LOW_SIZE failed
[ 1110.390684] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK03_LOCAL_MEMORY_HIGH_SIZE failed
[ 1110.390687] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK04_LOCAL_MEMORY_CRS_SIZE failed
[ 1110.390690] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK05_LOCAL_MEMORY_TOTAL_SIZE failed
[ 1110.390693] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK11_TOTAL_THREADS failed
[ 1110.390695] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK14_SHARED_MEMORY_SIZE failed
[ 1110.390698] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK16_CTA_THREAD_DIMENSION_ZERO failed
[ 1110.390701] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK18_L1_CONFIG_TOO_SMALL failed
[ 1110.390704] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK19_CTA_REGISTER_CONSUMPTION failed
[ 1110.390706] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: SKEDCHECK23_CONSTANT_BUFFER_SIZE failed
[ 1110.390719] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: ESR 0x407020=0x6a41e80 0x407028=0x1e00 0x40702c=0x221680c 0x407030=0x0
[ 1110.390926] NVRM: Xid (PCI:0000:0b:00): 13, Graphics Exception: ChID 0010, Class 0000c1c0, Offset 00000418, Data 0000000
となりました.
また, 別のケースでは, 10 時間くらい稼働させたところ hugepage エラー(ECC エラー?) + ATA エラーが出て, 再起動するとマザーボードの温度が高すぎて起動できない, のもありました(これはマザーボードを冷却すれば治るか?)
思い起こせば, 手元の別の Windows 環境も X99 でしたが, 複数 GPU を刺すと BSOD 出たりして不可解な挙動していたので X99 のエラッタが原因だったのかもしれませんね.
途中でプログラムが死んでも再スタートしても OK なプログラムでない場合は, X99 マザーは避けた方がよいです.
TODO
- GPU 4~7 枚刺で安定して 24 時間稼働できるシステムを探す旅に出たい. AMD Naples or Intel X299?
- GPU cgroups, Docker, runC あたりと組み合わせて自動 suspend/resume できるような GPU プログラムを極めてくれるような優秀な GPU 仮想化若人を探す旅に出たい.