0

以下のリンクで示されているコードは、Tesla C1060 では機能しますが、Quadro 3000M を搭載したモバイル ワークステーションでは機能しません。

これは主にコードが行うことです:

http://pastebin.com/9JKUMwZ4

Quadro 3000M での実行は、カーネルを単純にスキップし、数ミリ秒でブランク イメージを出力します。Tesla C1060 で実行すると、処理された画像が (たとえば) 100 秒で出力されます。奇妙なことは、ここ数日、c1060 での実行もかなり予測不可能に見えたことです (カーネルをスキップしたり、-10^12 などの奇妙な数値を出力したりすることがあります)。私はこの行動を理解していません。ドライバーのバージョンの問題でしょうか?

助けてくれてありがとう。

ps。ubuntu 11.10の両方のマシン

Quadro 3000M  ---> Cuda compilation tools, release 4.1, V0.2.1221
Tesla C1060   ---> Cuda compilation tools, release 4.1, V0.2.1221

編集: 問題は、私の 2 枚のカードの異なる GPU アーキテクチャに関連している可能性が非常に高いです。

4

1 に答える 1

1

__syncthreads()内部if声明があります。これは許可されていないため、デッドロックが発生する可能性があります。

__syncthreads() デッドロックの投稿を参照してください。

Cuda-memcheck とデバッガーは、このような問題やその他の問題を調査するための最適なツールです。

于 2013-01-18T06:57:00.807 に答える