Skip to content
Go back

Parallel Algorithms: Part 2

· Updated:

url

拙訳

走査の制限(Scan Limitations)

  • 2の累乗の長さである必要がある
  • ひとつのブロックで実行する(グローバルメモリのみを用いる場合を除く)
    • ひとブロックにスレッド数の最大2倍の長さ

任意長の配列での走査(Scan on Arrays of Arbitrary Length)

    1. 配列をブロックに分ける
    1. 各ブロックで走査を実行する
  • 多くのシェーダモデルに渡り並列に動作する
    1. 各ブロックの総和の合計を新しい配列に書き込む
    1. ブロック増分を計算するためにブロック総和を走査する
    1. ブロック増分を対応するブロックの各要素に加える
  • 2の累乗でない長さ: ブロックサイズまで最後のブロックを0でパッディングする