ブロック内で1つのブロックと1つのスレッドのみを起動する単純なコードを作成しました。カーネルは1つの48KB共有メモリアレイを作成し、ストリーミングマルチプロセッサの共有メモリ全体を埋めます。コードは、共有メモリ内の個々のビットを設定および設定解除します。最初の32ビットでは、コードが正常に機能することに気づきました。ただし、残りのビットを反転し始めると、何も起こらず、ビットは変更されません。
何が起こっているのかアイデアはありますか?私はCUDAプログラミングに不慣れです。これがメモリバンクの競合と関係があると信じる理由はありますか?