ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

ROCm rocr-libhsakmt 库实现剖析 · 专栏目录

ROCm rocr-libhsakmt 库实现剖析 · 专栏目录 本专栏深入解析 AMD ROCm 生态核心组件 rocr-runtime 的用户态驱动层 libhsakmtThunk沿着设备管理 → 拓扑发现 → 虚拟地址空间 → 内存操作 → 事件机制的主线逐层拆解其与 KFD 内核驱动交互的 ioctl 协议与实现细节。本文为专栏的总目录便于按章节检索与阅读。第 0 章 · 专栏总览0.1 ROCm rocr-libhsakmt 实现深度剖析专栏介绍0.2 ROCm 软件栈全景libhsakmt 在 rocm 中的位置0.3 libhsakmt 源码结构总览0.4 阅读本专栏的前置知识与环境搭建指南第 1 章 · 架构概览与设备管理1.1 HSA(异构系统架构) 驱动 libhsakmt 概览1.2 理解 libhsakmt 库功能的两个维度subcontext 和 ioctl1.3 HSA libhsakmt 的设备管理1.4 KFD 设备文件的获取与驱动握手协议1-2 多 GPU 跨卡 VRAM 访问机制分析第 2 章 · HSA Topology 拓扑模型2.1 libhsakmt 中的 HSA Topology 模型概览2.2 HSA 的 Topology sysfs 布局与发现机制2.3 计算节点的计算能力描述HsaNodeProperties2.4 计算节点的 Memory 能力描述HsaMemoryProperties2.5 计算节点的互联(interconnect)能力描述HsaIoLinkProperties2.6 计算节点的 Cache 能力描述HsaCacheProperties第 3 章 · 虚拟地址空间与 Aperture / VM3.0(VM) libhsakmt 中的 vm 概念和 acquire_vm 功能3-0 虚拟地址空间划分方法aperture 概念3-1 Apertures3-2 manageable_aperture_t 实现分析3-2(补) manageable_aperture 的虚拟地址管理3-3 apertures 之 mem_handle_aperture3-4 aperture 之 svm aperture3-5 svm-reserve 模式实现分析第 4 章 · 内存操作全生命周期4 内存操作全景分配/注册 → GPU 映射 → 使用 → 解映射 → 注销 → 释放4(Flags) HsaMemFlags 分析4(Flags) HsaMemFlags 分析续4(Flags) 从 HsaMemFlags 与 HsaMemMapFlags 理解 GPU 存储管理硬件技术4(Flags) HsaMemFlags 标记分析CoarseGrain 内存一致性粒度分析综述4(Flags) HsaMemFlags 标记分析CoarseGrain 一致性标志从用户态到内核的传递链Thunk → ioctl → KFD4(NUMA) libhsakmt 内存分配中的 NUMA 使用流程与实现4-1 memory alloc free4-2 fmm_allocate_memory_object 实现分析4-3 memory map unmap4-4 userptr 的 register 实现机制详解4-5 SVM IOCTL 的实现问题分析与建议的解决方案4-6 指针信息反查HsaPointerInfo 与 hsaKmtQueryPointerInfo / hsaKmtSetMemoryUserData第 5 章 · Event / Signal 机制5 event(signal) 机制框架概览5.1 event 机制全景—从 Doorbell 到 Signal5.2 event 内核实现 — KFD Event 的低延迟、低开销、可扩展技术5.3 libhsakmt 层实现——如何封装和操作 event5.4 event 实战——多 Queue 完成检测与同步模式5.5 event 专题event_age —— KFD Event 的增量等待协议5.5(补) event 机制中的 KFD 中断处理全流程解析5.6 libhsakmt 的 Event 设计要点总结第 6 章 · GART / 地址转换6.2 GPU GART 实现深度解析——绑定机制与性能优化第 7 章 · 内存共享机制export / import7-1 共享机制 - export7-2 共享机制 - import7-3 共享机制测试用例 KFDGraphicsInterop 分析第 8 章 · Doorbell 机制8-1 doorbell 机制概览8-2 doorbell 的实现8-2(补) doorbell 的实现第 9 章 · User Queue 用户态队列9-1 user queue 的概念9-2 user queue 的创建与销毁9-3 queue 的内核创建流程9-3(补) queue 的内核创建流程——DQM vs PQM 架构设计与功能区别9-3(补) queue 的内核创建流程——硬件队列创建和配置9-4 Queue 与 Event 关联机制9-5 queue 测试用例 DisableCpQueueByUpdateWithNullAddress 功能详解第 10 章 · 性能跟踪与分析PMC / Trace10-1 概述10-2 查询计数器和计数器类型10-3 跟踪注册与资源管理10-4 访问权限管理10-5 跟踪启动、数据采集与停止10-6 实战案例与高级应用第 11 章 · ROCm 虚拟化KFD Context 多上下文11.1 KFD Context 的设计动机从单进程单上下文到多上下文隔离扩展专题 · 相关机制与源码剖析OpenCL 实现与 ROCR 中 libhsakmt 接口的对接架构分析Technical Documentation: HsaMemFlags Structure in ROCm HSAKMTROCm HSAKMT pthread_atfork 回调函数技术分析AMDGPU IHInterrupt Handler实现分析AMD KFD 的 SDMA Packet 类型和定义解析AMDGPU/KFD IVInterrupt Vector实现分析
返回列表