30.04.2014 Views

NVIDIA CUDA 计算统一设备架构

NVIDIA CUDA 计算统一设备架构

NVIDIA CUDA 计算统一设备架构

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Direct3D 互 。<br />

节<br />

和<br />

函<br />

节<br />

,Direct3D<br />

位<br />

节<br />

的<br />

(linear 或 memory)<br />

9.0。<br />

和<br />

实<br />

数<br />

,<strong>CUDA</strong><br />

启<br />

节<br />

)。<br />

arrays)。<br />

(<strong>CUDA</strong><br />

节<br />

。<strong>CUDA</strong><br />

与<br />

、16<br />

数<br />

个<br />

4.5.1.2 存 储 器<br />

程 可 在 同 一 个 设 备 上 执 行 设 备 代 码 , 但 根 据 设 计 , 一 个 宿 主 线 程 只 能 在 一 个 设 备 上 执 行 设 备 代 线 主 宿 个 多<br />

存 储 器<br />

4.5.2.2 内 容 请 参 见 第 关 相<br />

API 动 程 序 驱 ,<br />

4.5.3.2 内 容 请 参 见 第 关 相<br />

<strong>CUDA</strong> 数<br />

<strong>CUDA</strong> 因 而 , 需 要 多 个 在 多 个 设 备 上 执 行 设 备 代 码 。 此 外 , 通 过 一 个 宿 主 线 程 的 运 行 时 创 建 的 资 源 无 法 由 来 自 其 他 宿 主 线 程 的 运 行 时 使 用 。 。 码<br />

32 位<br />

位<br />

个<br />

支<br />

位<br />

数<br />

位<br />

位<br />

设 备 存 储 器 可 指 派 为 线 性 存 储 器<br />

<strong>CUDA</strong><br />

组<br />

32 上 的 线 性 存 储 器 位 于 备 设<br />

地 址 空 间 内 , 因 此 , 独 立 分 配 的 实 体 可 通 过 指 针 引 用 另 外 一 个 实 体 , 比 如 ,<br />

4.3.4 存 储 器 布 局 是 不 透 明 , 专 为 纹 理 拾 取 而 优 化 ( 参 见 第 的 组<br />

)。 它 们 可 以 是 一 维 、 二 维 或<br />

分<br />

1、2、4 的 , 由 元 素 组 成 , 这 些 元 素 包 含 维 三<br />

8 , 这 些 分 量 可 以 是 有 符 号 或 无 符 号 的 量 分<br />

或<br />

4.5.1.3 OpenGL 互 操 作 性<br />

的 (page-locked)<br />

16 , 也 可 以 是 型 整<br />

API ( 当 前 仅 有 驱 动 程 序 点 浮<br />

32 或 ) 持<br />

浮 点<br />

组 仅 可 由 内 核<br />

OpenGL 缓<br />

(buffer 可 能<br />

object)<br />

使 的<br />

节<br />

能<br />

实 写<br />

4.5.2.3 可 通 过 第 主 宿<br />

第 4.5.3.6<br />

<strong>CUDA</strong> 的 存 储 器 复 制 函 数 读 取 和 写 入 线 性 存 储 器 和 绍 介<br />

。 组<br />

储 器 和 设 备 存 储 器 之 间 的 带 宽 较 高 —— 但 仅 针 对 宿 主 存 储 器 的 宿 主 线 程 所 执 行 的 数 据 传 输 。 分 页 锁 定 的 存 储 器 是 一 种 稀 缺 资 源 , 因 此 分 页 锁 定 存 储 器 中 的 分 配 将 先 于 可 分 页 存 储 器 的 分 配 而 出 错 。 此 外 , 由 于 减 少 了 操 作 系 统 可 用 于 分 页 的 物 理 存 储 器 数 量 , 分 配 过 多 的 分 页 锁 定 存 储 器 将 降 低 整 体 系 统 性 能 。 存<br />

分 页 存 储 器 恰 好 相 反 。 分 页 锁 定 存 储 器 的 优 势 之 一 在 于 , 如 果 将 宿 主 存 储 器 指 派 为 分 页 锁 定 存 储 器 , 宿 主<br />

宿 主 运 行 时 还 提 供 了 函 数 来 分 配 和 释 放 分 页 锁 定<br />

— 存 储 器 主 宿<br />

malloc()<br />

配 的 普 通 可<br />

二 进 制 树 内 。 在<br />

过 纹 理 拾 取 读 取 , 仅 可 绑 定 到 具 有 相 同 分 量 数 的 纹 理 参 考 。 通<br />

4.5.1.4 Direct3D 互 操 作 性<br />

Direct3D<br />

<strong>CUDA</strong> 能 资<br />

使 实 的<br />

节<br />

能<br />

实 写<br />

使<br />

冲 对 象<br />

<strong>CUDA</strong> 到 射 映<br />

<strong>CUDA</strong> 空 间 , 从 而 使 址 地<br />

OpenGL 取 读 够<br />

入<br />

<strong>CUDA</strong> 据 或 使 数 的<br />

OpenGL 入 数 据 供 写 够<br />

4.5.2.7 第 。 用<br />

API 了 如 何 通 过 运 行 时 述 描<br />

现 此 目<br />

4.5.3.10 第 , 标<br />

API 了 如 何 通 过 驱 动 程 序 述 描<br />

此 目 标 。 现<br />

cuD3D9RegisterResource() 参<br />

API 了 如 何 通 过 驱 动 程 序 现 此 目 标 对 于 可 映 射 哪 些 资 源 的 限 制 条 件 , 请 参 考 手 册 。 介 绍<br />

设 设<br />

<strong>CUDA</strong><br />

GPU 上 上<br />

上 见<br />

cudaD3D9RegisterResource()<br />

目 标 , 同 一 节 还 和 此 现<br />

设<br />

标<br />

文 一 次 仅 可 与 一 创 建 的 。 此 外 下<br />

备 互 操 作<br />

下 文<br />

备 必 须 是 在 同 一<br />

<strong>CUDA</strong> 映 射 到 可 源<br />

地 址 空 间 , 从 而<br />

使 <strong>CUDA</strong><br />

Direct3D 取 读 够<br />

入 的 数 据 , 或 者<br />

记<br />

Direct3D 入 数 据 供 写 够<br />

4.5.2.8 第 。 用<br />

API 了 如 何 通 过 运 行 时 述 描<br />

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

为 了 促 进 宿 主 和 设 备 之 间 的 并 发 执 行 , 某 些 运 行 时 函 数 是 异 步 的 : 控 制 将 在 设 备 完 成 所 请 求 的 任 务 之 前 返<br />

23<br />

操 作 性 目 前 仅 支<br />

4.5.1.5 异 步 并 发 执 行<br />

<br />

执 通<br />

后<br />

个 Direct3D<br />

持 Direct3D<br />

和 Direct3D<br />

回 应 用 程 序 。 此 类 函 数 包 括<br />

D3DCREATE_HARDWARE_VERTEXPROCESSING 创 建 时 必 须 使 用 在 备<br />

:<br />

过 __global__<br />

cuLaunchGrid() 或 数<br />

cuLaunchGridAsync()<br />

的 内 核 ; 动<br />

2.0 南 , 版 本 指 程<br />

Async 储 器 复 制 和 带 有 存 行<br />

的 函 数 ; 缀

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

Saved successfully!

Ooh no, something went wrong!