30.04.2014 Views

NVIDIA CUDA 计算统一设备架构

NVIDIA CUDA 计算统一设备架构

NVIDIA CUDA 计算统一设备架构

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

展<br />

位<br />

(step),<br />

个<br />

块<br />

(random<br />

无<br />

permutation)。<br />

块<br />

(subset)<br />

位<br />

位<br />

位<br />

字 内 的 地 址 时 , 这 会<br />

};<br />

float f;<br />

char c;<br />

字 的 存 储 器 读 取 请 求 提 供<br />

5 因 为 每 个 成 员 都 是 使 用 是 这<br />

选<br />

终 , 共 享 存 储 器 也 会 运 用 一 种 广 播 服 务 时 同 步 将 其 读 取 并 广 播 给 多 个 线 程 。 在 最<br />

半 warp<br />

32 从 而 能 够 在 对 一 个 , 制<br />

子<br />

节 作 为 步 幅 访 问 的 。 机 减 少 存 储 体 冲 突 的 数 量 。 更 精 确 地 来 说 , 包 含 多 个 地 址 的 存 储 器 读 取 请 求 是 通 过 几 个 步 骤 逐 渐 完 成 的 —— 字<br />

提<br />

(broadcas)<br />

广<br />

每<br />

32 个 线 程 读 取 同 一 个 多 的<br />

剩<br />

两 个 时 钟 周 期 一 步 为 一 个 无 存 储 体 冲 突 子 集 提 供 服 务 ; 在 每 个 步 骤 中 都 通 过 以 下 步 骤 在 尚 未 被 服 务 的 地 址 中 建 立 子 集 : 每<br />

供 服 务 , 直 至 为 所 有 地 址<br />

剩 一 个 字 作 为 广 播 字 ; 集 中 包 括 : 播 字 内 的 所 有 地 址 ; 择<br />

地 址 指 向 的 各 存 储 体 的 地 址 。 不 指 定 在 每 个 周 期 选 择 哪 个 字 作 为 广 播 字 以 及 为 各 存 储 体 选 择 哪 个 地 址 。 余<br />

图 5-8<br />

了 包 括 广 播 机 制 在 内 的 存 储 器 读 取 访 问 的 示 例 。 示<br />

warp 常 见 的 无 冲 突 情 况 就 是 半 种 一<br />

32 所 有 线 程 都 读 取 同 一 个 的 中<br />

内 的 地 址 。 字<br />

右 侧 : 随 机 排 列<br />

无 存 储 体 冲 突 的 共 享 存 储 器 访 问 模 式 示 例<br />

的 线 性 寻 址 。 字<br />

46 <strong>CUDA</strong> 编<br />

2.0 南 , 版 本 指 程<br />

32 : 步 幅 为 一 个 侧 左<br />

图 5-5.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!