2016-06-16 12 views
3

CUDA APIを使用してDarknetをGPUアクセラレーションで実行しようとしていました。そこで私はここからの指示に従い、MakefileでGPU = 1に変更してmakeを始めました。 私がテストを実行しようとすると、CUDAエラーのために失敗します。CUDAを使用したGPUアクセラレーションでDarknetフレームワークが開始されない

./darknet yolo test cfg/yolo.cfg yolo.weights data/dog.jpg CUDA Error: unknown error darknet: ./src/cuda.c:21: check_error: Assertion `0' failed.

私はUbuntuの14.04、CUDA 7.5と私のNVIDIA-SMI 352.93およびドライババージョン使用しています:タイタンX に352.93を私はので、私のCUDAが正常に動作し、ドライバのバージョンが最新であることをかなり確信しています私はCaffeを加速するために使っています。 DarknetはCUDAディレクトリを見つけることができません。

誰でも問題を解決できますか?

+0

あなたのコードはこの[repo](https://github.com/pjreddie/darknet)に基づいていますか? – pradyot

答えて

4

設定パラメータ 'ARCH'の値を変更する必要があります。デフォルト値は--gpu-architecture = compute_52、--gpu-code = compute_52です。私の設定は--gpu-architecture = compute_30、--gpu-code = compute_30であり、動作します。それはあなたの実際のGPUアーキテクチャに依存します。詳細は、cudaツールキットのドキュメントを参照してください。

+0

OPにはTitan X GPUがあり、Titan X GPUでは実際の計算アーキテクチャはcompute_52なので、変更する必要はありません。私はこの提案が意味をなさないとは思わない。 –

+0

あなたの答えはTesla K80 GPUで動作します。投稿してくれてありがとう、どこにでもこの情報が見つかりませんでした。 – Qazi

1

./src/cuda.cのコードを21行目で読んで、エラーメッセージに示されているアサーションが失敗したかどうかを確認することで、その理由を知ることができます。

./src/cuda.c:21: check_error: Assertion `0' failed. 
0

私はこの問題に直面して解決しました。私のソリューションは、

sudo rm -rf ~/.nv

してから再起動しました。

0

私は同じ問題を抱えていました。 MakefileでARCHを修正すると私の問題が解決しました。 私のGPUはGTX 1080年だった私はここに私のGPUの設定が適切であることが分かっ

> $nvidia-smi 

(Iは、NVIDIA-SMIを使用して、それをチェックアウトしました)。

http://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/ 

Makefileのarch設定を次のように変更しました。

ARCH= -gencode arch=compute_61,code=[sm61,compute_61] \ 
+0

私のcudaツールキットバージョンはcuda 9.1で、私のLinuxバージョンはubuntu 16.04でした – jaylee

関連する問題