SSブログ

NVENCのサンプルコードがリブートしたら動かなくなった。 [徒然]

Video_Codec_SDK_8.0.14のコンパイルが通って、NvEncoderとNvTranscoderが動いてご満悦な感じでしたが、OSをリブートするとCUDA関係らしいエラーが…。

Video_Codec_SDK_8.0.14/Samples/NvEncoder$ ./NvEncoder  -i out.yuv -o test.mp4 -size 674 440
NvEncoder.cpp line 143: cuInit error:0x64
NvEncoder: NvEncoder.cpp:144: NVENCSTATUS CNvEncoder::InitCuda(uint32_t): Assertion `0' failed.

Video_Codec_SDK_8.0.14/Samples/NvTranscoder$ ./NvTranscoder 
cuInit(0, __CUDA_API_VERSION, hHandleDriver) has returned CUDA error 100


はじめで転んでいるので、CUDAの設定の問題なんだろうなと思うのだが、ブート時に有効になっていないのかなと思ったり。たぶん前はCUDA自体を使っていないコードなので、コメントアウトしてなんとかしたんだと思った。

$ ./NvEncoder  -i out.yuv -o test.mp4 -size 674 440
NvEncoder: ../common/src/NvHWEncoder.cpp:491: NVENCSTATUS CNvHWEncoder::NvEncOpenEncodeSessionEx(void*, NV_ENC_DEVICE_TYPE): Assertion `0' failed.
中止 (コアダンプ)


ん〜コメントアウトしても容易に解決しないな。CUDAがきちんと動いてくれる方面を確かめたほうが良さそうだな。ブートされてリセットされてしまう設定というのは何なんだろう。コンパイルができているという話であれば、やっぱり環境が動かすのに足りていない状態になってしまったんだろうな。

そもそもcuInit()の引数の数がWebのものと違ったり気持ち悪いところはある。


$ nvidia-smi 
Failed to initialize NVML: Driver/library version mismatch


ドライバがなんか良くないみたい。というか、それまでなんで動いていたんだろう…。

前はNvidiaのサイトのインストールイメージが出来が悪かったので(特にグラフィックドライバが腐っていて表示されなくなったことがあった)、地元のリポジトリのみでやろうとしていたんだけど、どうにもうまく行かないので本家のUbuntuのインストーラで入れてみる。CUDA Toolkit 9.2なるものを入れてみた。

あ、リブートしたら動いた。苦労せずとも
https://developer.nvidia.com/cuda-downloads
で普通に入れていれば問題なかったってばよw

もう面倒くさいのでNVIDIAにおまかせでいいや。というかはじめからそうできれば問題なかったのだが、下手な前知識が無駄な事態を招いてしまった。

タグ:NVENC
コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0