回答:
これは、GPUの物理プロセッサ(PP)への仮想プロセッサ(VP)のアライメントの問題です。多くの場合、PPの数は2の累乗であるため、2の累乗とは異なるVPの数を使用すると、パフォーマンスが低下します。
VPのPPへのマッピングは、PP の数のサイズのスライスの山として見ることができます。
16個のPPがあるとします。
それらに16 VPをマッピングできます:1 VPは1 PPにマッピングされます。
それらに32 VPをマッピングできます。16VPの2スライス、1 PPが2 VPを担当します。
など実行中、各PPは自分が担当する最初のVPのジョブを実行し、次に2番目のVPのジョブなどを
実行します。17VPを使用すると、各PPは最初のPPのジョブを実行し、 17番目のジョブを実行するAND他のものは何もしません(以下で指定)。
これは、GPUで使用されるSIMDパラダイム(70年代ではベクターと呼ばれていました)によるものです。これは多くの場合、データ並列処理と呼ばれます。すべてのPPは同時に同じことを行いますが、データは異なります。https://en.wikipedia.org/wiki/SIMDを参照してください。
より正確には、17 VPの例では、最初のスライスのジョブが完了すると(最初のVPのジョブを実行するすべてのPPによって)、すべてのPPが同じジョブ(2番目のVP)を実行しますが、作業するデータ。
学習とは関係ありません。これはプログラミングのみです。