来源书籍
Vulkan 应用开发指南
GPU/并行计算类
类别清单覆盖
6/7
已覆盖 6
补充生成 0
未覆盖 1
全书概览
Vulkan 应用开发指南
类别:GPU/并行计算类
四象限结论:速查手册(低浓度 + 低稳定性)
类别清单核对(GPU/并行计算类)
| 必答维度 | 覆盖状态 | 已有卡片/说明 |
|---|---|---|
| 硬件执行模型 | 已覆盖 | [[命令记录与命令执行是两个独立的时间点]] |
| 内存层级与访问模式 | 已覆盖 | [[内存分配策略没有放之四海而皆准的答案]]、[[多子通道加输入附件让延迟渲染的中间数据留在片上]] |
| 并行算法映射策略 | 已覆盖 | [[副命令缓冲区用继承状态换取并行录制]] |
| 同步与通信机制 | 已覆盖 | [[三种同步原语,按等待双方和代价分层]]、[[三种内存读写危险:RAW/WAR/WAW]] |
| 性能剖析方法论 | 未覆盖 | 当前卡片未覆盖剖析工具或指标。 |
| 编程模型的抽象与限制 | 已覆盖 | [[显式API用错误检查换性能]]、[[管线对象化:把最贵的编译工作做一次、存起来]] |
| 与 CPU 协作的开销 | 已覆盖 | [[多份栅栏实现CPU与GPU的流水线重叠]] |
作者:[美] 格拉汉姆·塞勒斯(Graham Sellers) [美] 约翰·克赛尼希(John Kessenich) 出版社:人民邮电出版社
评级结论:速查手册(第四级别,低浓度 + 低稳定性)
判断依据:
全书绝大部分篇幅是 Vulkan 1.0 API 的结构体字段、函数原型、标志位枚举的逐条说明(如
VkInstanceCreateInfo、VkMemoryBarrier、VkImageMemoryBarrier 等每个字段是什么、
该设成什么值),属于强绑定特定 API 版本的操作性内容——低浓度、低稳定性。
书中穿插了少量设计动机说明,例如: - 1.5 节讲 Vulkan 多线程模型的”外部同步”设计哲学(不在内部加锁,把同步责任交给应用层, 换取无锁的高性能) - 4.1 节讲内存屏障要解决的 RAW/WAR/WAW 三种读写危险,这是并行编程中可迁移的通用概念 - 6.3 节讲管线对象化的设计动机(把状态打包成一个对象,避免驱动运行时重新编译着色器) - 13.1~13.3 节讲输入附件和副命令缓冲区背后的动机——利用移动 GPU 的 tile-based 渲染 架构做带宽优化
但这些内容占比很小,且很快又转入具体标志位/字段罗列,因此整体定级为速查手册。
章节进度追踪表
| 章节号 | 章节标题 | 精读/略读 | 状态 | 卡片数 |
|---|---|---|---|---|
| 1 | Vulkan概述 | 精读 | done | 4 |
| 2 | 内存和资源 | 略读 | done | 0 |
| 3 | 队列和命令 | 精读 | done | 2 |
| 4 | 移动数据 | 精读 | done | 1 |
| 5 | 展示 | 略读 | done | 0 |
| 6 | 着色器和管线 | 精读 | done | 4 |
| 7 | 图形管线 | 精读 | done | 2 |
| 8 | 绘制 | 略读 | done | 0 |
| 9 | 几何体处理 | 略读 | done | 0 |
| 10 | 片段处理 | 略读 | done | 0 |
| 11 | 同步 | 精读 | done | 2 |
| 12 | 回读数据 | 略读 | done | 0 |
| 13 | 多通道渲染 | 精读 | done | 2 |
| 附录A | Vulkan中的部分函数 | 略读 | done | 0 |
| - | 词汇表 | 略读 | done | 0 |
精读章节对应文件(spine 顺序)
- 第1章:chapter001.html, chapter001_0001~0009.html
- 第3章:chapter003.html, chapter003_0001~0006.html
- 第4章:chapter004.html, chapter004_0001~0007.html
- 第6章:chapter006.html, chapter006_0001~0006.html
- 第7章:chapter007.html, chapter007_0001~0006.html
- 第11章:chapter011.html, chapter011_0001~0004.html
- 第13章:chapter013.html, chapter013_0001~0004.html
章节与卡片
01 Vulkan概述
- 显式API用错误检查换性能 普通读书笔记卡
- 内存分配策略没有放之四海而皆准的答案 普通读书笔记卡
- 外部同步:把加锁的决定权还给应用层 普通读书笔记卡
- 扩展显式启用换取零意外开销 普通读书笔记卡
03 队列和命令
- 命令记录与命令执行是两个独立的时间点 普通读书笔记卡
- 复用对象比反复申请释放更高效,但要小心尺寸退化 普通读书笔记卡
04 移动数据
- 三种内存读写危险:RAW/WAR/WAW 普通读书笔记卡
06 着色器和管线
- SPIR-V中间表示让驱动摆脱语言差异 普通读书笔记卡
- 特化常量:把编译期决定推迟到管线创建时刻 普通读书笔记卡
- 管线对象化:把最贵的编译工作做一次、存起来 普通读书笔记卡
- 资源按变化频率分层,减少状态切换开销 普通读书笔记卡
07 图形管线
- 显式声明附件生命周期,让驱动省掉不必要的写回 普通读书笔记卡
- 动态状态:给高频变化的属性开一条快速通道 普通读书笔记卡
11 同步
- 三种同步原语,按等待双方和代价分层 普通读书笔记卡
- 多份栅栏实现CPU与GPU的流水线重叠 普通读书笔记卡
13 多通道渲染
- 多子通道+输入附件,让延迟渲染的中间数据留在片上 普通读书笔记卡
- 副命令缓冲区:用继承状态换取并行录制 普通读书笔记卡
相关主题
暂无公开主题。