なんとなく日誌

覚え書きとか。twitter:https://twitter.com/noronoroxxxxxx

RX470で機械学習ことはじめ その4 ~PCIe2.0で接続するとどうなる?~

本当にPCIe2.0では動かないのか?

公式の情報によると、RX470でROCmを使うにはPCIe3.0が必要らしい。
(※Vega以降の世代ならPCIe2.0でも大丈夫)
noroue4.hatenablog.com

でも多くのグラボにはPCIe3.0は1スロットしかなく、複数GPUを載せることができない。
できるならマルチGPUも使えると嬉しい。
本当にPCIe2.0では動かないのか、RX470マイニングエディションをPCIe2.0×4のスロットに差して試してみる。(Ubuntu18.04、i5-4460)

結果

rocm-smi

起動する。

rocminfo

起動しない。

f:id:noroUE4:20190205233310p:plain
rocm-smiとrocminfoの実行

    hsa api call failure at line 900, file: /home/jenkins/jenkins-root/workspace/compute-rocm-rel-2.0/rocminfo
    /rocminfo.cc. Call returned 4104

というエラーが出た。

clinfo

起動しない。

f:id:noroUE4:20190205233339p:plain
clinfo

    clGetPlatformIDs(-1001)

というエラーが出た。

Python3のtensorflowでMNISTのチュートリアルを実行

f:id:noroUE4:20190205234147p:plain
TensorFlowのエラー

    Your CPU supports instructions that this TensorFlow binary was not compied to use: SSE4.1 SSE4.2 AVX AVX2 FMA
    terminate called after throwing an instancve of 'ihipException'
        what():    std::exception
    中止(コアダンプ)

というエラーが出た。
おそらくGPUを認識しておらずCPUを使って実行していると思われ、このCPUならAVXとか使えるよってアナウンスが出てる。
ihipExceptionというのは、名前から察するにHIP関係のエラーだろうか。

とりあえず、今のところはPCIe2.0スロットに差し込んだだけではまともに動かないようだ。