いつもCUDA並列ブロックは毎回最初から最後まで実行されますか?私は意味:CUDAスレッドは起動時と同じ順序で実行されます
私は3つのスレッドを持っている場合は、私はいつもこれを取得:最初のスレッドが終了•
。 ?2番目のスレッドが終了します。 •3番目のスレッドが終了しました。
これが正常な動作の原因かどうかは疑問ですが、私はCUDAの新機能です。私は、Open MP、C++ Threads、またはJava Threadsは通常毎回異なる結果を出すことを知っています。しかし、CUDAではいつも同じ注文があります。それは可能ですか?それとも、何かがうまくいかないということですか?
私は実際には10個のスレッドを持っており、約100回実行して常に同じ結果を得ています。 1から10までです。すべてがうまくいくと、これはまだ起こる可能性がありますか? :) – user3111627
はい。 Warpはロックステップで実行される32個のスレッドのグループです(私の答えで提供されたドキュメントへのワープリンクを読むことができます)。したがって、彼らの行動はより予測可能である可能性が高い。 64スレッドを起動しても、多少の差異は見えないかもしれません。しかし、3百万のスレッドを起動すると、動作の違いが表示されます。 –