- 博客(30)
- 收藏
- 关注
原创 LiveInterval分析–以AMDGPU为例
本文分析了LLVM AMDGPU后端中的LiveInterval机制及其在寄存器分配中的应用。LiveInterval用于精确表示虚拟寄存器在程序时间轴上的活跃范围,通过SlotIndex时间轴上的半开区间实现。文章详细介绍了核心概念包括SlotIndex、LiveRange、VNInfo和LiveInterval,并通过示例说明了其工作原理。针对AMDGPU架构,重点分析了VGPR、SGPR和AGPR的LiveInterval特性,以及在寄存器分配流程中的关键作用。
2026-05-31 20:16:10
236
原创 SlotIndex机制--以AMDGPU为例
本文介绍了LLVM后端的SlotIndex机制及其在AMDGPU后端中的应用。SlotIndex为每条MachineInstr分配索引并划分内部slot,用于精确表示寄存器活跃范围。文章详细解释了slot类型和语义,以及SlotIndexes如何为指令编号。SlotIndexes通过半开区间表示寄存器活跃性与LiveInterval配合使用,对AMDGPU的寄存器分配、优化和调度至关重要。SlotIndex机制是LLVM后端寄存器活跃性分析的基础,对寄存器敏感的架构尤为关键。
2026-05-31 20:12:34
379
原创 AMDGPU后端RegMask使用介绍
摘要:本文详细解析了LLVM MI层RegMask在AMDGPU后端中的关键作用与实现原理。RegMask作为特殊操作数通过位图编码描述指令执行后保留的物理寄存器,主要用于call指令的寄存器活跃性分析。文章对比了RegMask与PEI/CSR的分工,阐述了AMDGPU如何从AMDGPUCallingConv.td定义生成RegMask,并通过getCallPreservedMask根据不同调用约定选择相应mask。
2026-05-26 23:09:39
440
原创 AMDGPU Device 函数传参详解
摘要:本文详细解析AMDGPU设备函数(__device__)的调用约定与参数传递机制。主要内容包括:1)区分Kernel与Device函数的不同ABI路径;2)详解CC_AMDGPU_Func传参规则和RetCC_AMDGPU_Func返回值约定;3)说明Callee-saved与Caller-saved寄存器划分;4)分析Clang前端的AMDGPUABIInfo分类规则;5)通过HIP/IR/汇编示例展示调用流程,并与x86-64 SysV ABI对比。适用于LLVM/AMDGPU后端开发及高性能计算
2026-05-24 12:59:05
435
原创 AMDGPU Kernel(Compute)传参详解
AMDGPU Kernel传参机制解析 本文详细分析了AMDGPU Kernel函数的参数传递机制,主要特点包括: 参数通过kernarg segment内存区域传递,由runtime写入,而非传统寄存器/栈方式 编译器负责计算参数偏移并通过kernarg指针加载到VGPR 与Device函数的关键区别在于调用约定(AMDGPU_KERNEL)和参数传递方式 参数布局遵循严格的对齐规则,大结构体通过间接指针传递 内核函数具有特殊的隐式参数(如workgroup ID)和SGPR分配机制 调试时可关注kern
2026-05-21 21:46:46
399
原创 AMDGPU 后端 ABI 总览
本文概述了AMDGPU后端ABI的关键要素,包括: ABI定义:规定了二进制层面函数调用约定、寄存器使用、栈管理和kernel与runtime交互方式,实现分散在多个LLVM组件中。 七大维度: 数据布局(多地址空间) 多种调用约定ID 参数/返回值传递规则 寄存器保存策略 特殊栈帧结构 寄存器约束 运行时要求 并行ABI体系: Compute Kernel使用kernarg buffer传递参数 Device函数采用VGPR/SGPR寄存器传递 图形着色器有专用约定 与x86-64 SysV ABI形成鲜
2026-05-20 21:04:17
442
转载 使用 Nginx 实现对 Milvus 的负载均衡
本文介绍了如何使用 Nginx 实现 Milvus 向量数据库的负载均衡方案。Nginx 作为高性能反向代理服务器,通过轮询策略将客户端请求分发到多个 Milvus 节点,从而提高系统并发能力和可用性。文章详细讲解了 Nginx 的安装配置步骤,包括依赖库安装、编译部署等过程。同时说明了如何配置 Milvus 分布式集群,包括设置读写分离节点和共享元数据存储(MySQL)。最后给出了 Nginx 的负载均衡配置示例,展示了如何将请求均匀分配到不同 Milvus 服务器。
2021-07-22 10:29:27
529
原创 Android 问题解决:Caused by: java.security.cert.CertificateException
SSL 认证 Caused by: java.security.cert.CertificateException
2016-11-30 22:39:44
7579
转载 Android消息处理机制(Handler、Looper、MessageQueue与Message)
Android消息处理机制 MessageQueue、 Handler、Looper、Message
2016-08-25 19:41:00
391
转载 谈谈Android里的Context的使用!
Android里的Context的使用 本文转载出处 :http://blog.youkuaiyun.com/qinjuning 大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中
2016-08-22 14:25:04
1009
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅