自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZhiqianXia

技术笔记

  • 博客(160)
  • 收藏
  • 关注

原创 高成就者的人格特征

高成就者的人格,更像一个。

2025-12-14 15:22:40 499

原创 MxNxK状态问题 如何降低状态空间

MxNxK问题的复杂性往往源于维度间的交互。

2025-12-12 10:22:24 237

原创 TableGen 常用 DAG Operator 完全指南

【代码】TableGen 常用 DAG Operator 完全指南。

2025-12-12 00:10:55 342

原创 TableGen 编程规范与最佳实践

TableGen代码是LLVM后端的基石。

2025-12-11 23:57:56 392

原创 LLVM TableGen 核心知识点整理

2025-12-11 23:23:36 133

原创 图论中常见不变量与性质全集(带严格数学公式)

2025-11-30 11:50:42 512

原创 LESSONS IN TABLEGEN 报告总结

该文档是Nicolai Hähnle在FOSDEM 2019上关于LLVM TableGen的分享内容,核心介绍了TableGen作为LLVM中的工具与语言,其工具端包含和(共享前端、不同后端),可生成MCInstrDesc、指令选择等目标文件,语言端是记录定义的超集,支持类、多类等特性;还详细阐述了TableGen的类型系统(如bit、dag等)、核心语言特性(类、let语句、多类、foreach、defset、内置函数),并以AMDGPU图像内置函数与指令。

2025-11-20 10:36:01 563

原创 LLVM 指令选择 笔记

2025-11-19 10:06:33 596

原创 NCCL学习笔记

NCCL(NVIDIA Collective Communication Library)是 GPU 集群高性能集体通信的核心软件层,专注于优化 GPU-to-GPU 交互支持 NVLink、PCIe、InfiniBand 等 interconnect 技术,广泛应用于分布式 AI 与 HPC workloads.NCCL起初的设计目标是构建一款易集成、拓扑感知的集体通信库,最终提升多 GPU 应用的可扩展性,并行应用可扩展性中,通信相关的核心限制因素是通信量和通信与计算的重叠程度.

2025-11-12 00:32:55 601

原创 Bourbaki的故事

布尔巴基是一个数学家集体,他们的核心思想是使用极端严谨的公理化方法和“数学结构”的观念,来统一和重构整个现代数学的基础。

2025-11-03 20:27:30 918

原创 Zermelo–Fraenkel 公理集合论(ZF)

标准的ZF系统包含以下8条公理(有时会将“空集公理”和“无穷公理”单独列出)。外延公理两个集合相等,当且仅当它们拥有相同的元素。定义了集合的“身份”——集合由其元素唯一决定。空集公理存在一个不包含任何元素的集合,称为空集(∅)。为整个集合宇宙提供了一个起点。配对公理对任意两个集合 (a) 和 (b),存在一个集合 ({a, b}),其元素恰好是 (a) 和 (b)。允许我们构造简单的有限集合。并集公理。

2025-11-03 19:44:36 1000

原创 初等数论基础知识

一个基础:整数的整除性。一个核心素数的分布与性质。一个核心工具同余理论。一类核心问题:求解不定方程的整数解。几个关键定理算术基本定理欧拉定理/费马小定理中国剩余定理。

2025-11-03 19:12:34 878

原创 # 数学符号参考手册大全

【代码】# 数学符号参考手册大全。

2025-11-03 19:07:34 1055

原创 代数常见结构

这类结构有两个运算,通常一个类似“加法”,一个类似“乘法”。这些是最简单的代数结构,通常要求运算满足某些公理。这类结构源于序理论,但在抽象代数中也占有重要地位。这类结构可以看作是“向量空间”概念的推广。

2025-11-03 18:38:39 856

原创 有趣的100个数学思想

2025-11-03 18:13:45 957

原创 Blackwell GPU提供LLVM和MLIR支持的相关工作 报告

在2025年4月于柏林举办的EuroLLVM会议上,Durgadoss Ramanathan等人介绍了为NVIDIA Blackwell GPU提供LLVM和MLIR支持的相关工作,包括Blackwell GPU的核心特性(如MMA从Hopper的Warp Group演进为CTA对、新增TMEM及专用指令、TMA新模式等)、编译器 lowering 流程(MLIR→LLVM→PTX)中针对Blackwell的扩展(新增约30个MLIR操作、1000个NVVM内在函数及TMEM的6号地址空间)、

2025-10-30 17:16:55 715

原创 LLVM libc 进展技术报告

在2024年LLVM开发者会议上,Google的Tue Ly介绍了LLVM libc(LLVM旗下从零构建的C标准库,支持C23、POSIX标准,适配多OS、多CPU、嵌入式系统及GPU,基于C++和部分内联汇编开发,目标是实现完整C23标准并打造跨平台统一libc)及其math库(libm)的当前状态与未来方向;libm以。

2025-10-30 15:29:33 639

原创 指针认证ABI(基于ELF平台)相关内容总结

基于ELF平台的指针认证ABI(PAuth ABI)PACxx核心问题:代码指针在生命周期中(从只读内存加载到寄存器、暂存到读写内存再重新加载)易遭受替换攻击——攻击者通过内存写入篡改指针,导致调用/跳转到恶意代码。解决方案指针认证(Pointer Authentication),通过特定指令为指针添加签名(PAC),在使用前验证签名,确保指针未被篡改。依赖ISA:基于ARM架构,具体为Armv8.3:引入签名指针功能,是指针认证的基础;:进行额外改进;共涉及48条指令。

2025-10-30 15:15:23 998

原创 RSICV 函数调用ABI实现 报告总结

该文档以RISC-V向量扩展为例,详细介绍了在LLVM中添加新调用约定的方法,首先回顾调用约定的核心作用(统一函数调用者与被调用者的参数寄存器、返回值寄存器使用规则及寄存器状态维护责任),接着阐述RISC-V标量与向量寄存器的ABI规范、栈布局(含标量/向量局部变量、变长对象等在栈中的位置),最后重点说明实现细节(包括在Clang侧添加函数属性、处理向量类型参数的约束与LLVM类型建模、调用者/被调用者保存寄存器的配置与代码实现,以及寄存器不足时参数通过栈传递的机制)。统一参数寄存器使用。

2025-10-30 15:01:36 890

原创 SPIR-V后端稳定性的推进工作报告总结

在2024年LLVM开发者会议上,Vyacheslav Levytskyy和Michal Paszkowski介绍了SPIR-V后端稳定性的推进工作,当前SPIR-V后端已实现显著提升,包括支持约500个LIT测试用例、达到OpenCL 3.0兼容性SYCL兼容性达93%-99%(依优化级别而定),还完成26个SPIR-V扩展的实现并提升了与Khronos LLVM/SPIR-V Translator的兼容性;

2025-10-29 17:28:22 797

原创 gcc/llvm 编译器发布的实践洞察 报告

该文档围绕GCC与LLVM的发布工程策略展开,介绍了二者的历史演进、开发与发布模型,通过对比分析指出GCC的核心优势是稳定性、长期支持(3年维护期)及能可靠编译整个Linux发行版,但存在创新较慢、开发流程僵化的问题;LLVM则具备灵活性、快速创新和模块化设计的优势,不过面临缺乏长期支持(LTS)、ABI/API稳定性不足的挑战,同时探讨了LLVM作为Linux替代系统编译器的障碍及潜在的混合LTS模型,最后提出相关关键问题供进一步讨论。

2025-10-29 17:10:02 609

原创 Mojo Optimization Pipeline 构建经验报告总结

该文档推测为2024年10月LLVM开发者大会(LLVM DevMtG 2024-10)技术演讲(TechTalk)的幻灯片,演讲者可能为Weiwei,核心内容围绕构建Mojo编程语言优化管道(Mojo Optimization Pipeline)的实践经验展开,预计会分享在优化管道开发过程中遇到的关键挑战、采用的技术方案、实现的优化效果(如性能提升、编译效率改善等)以及从中提炼的核心经验,为相关编程语言优化或编译器开发领域提供参考。关联会议。

2025-10-29 17:05:48 975

原创 github 软件安全术语

方便你在查阅文档或实际应用时快速参考?要不要我帮你整理一份。

2025-10-29 16:38:57 993

原创 如何成为Review 邮件的“快读高手”

步骤关注点目标预计耗时1. 扫标题组件、版本、发件人快速筛选,判断相关性10秒2. 读描述“为什么”要改、如何测试理解意图和背景1分钟3. 审代码文件路径、核心逻辑、代码“坏味道”评估技术方案和质量1-3分钟4. 看讨论维护者意见、讨论状态、遗留问题了解社区共识和下一步30秒-不定最后,熟能生巧。刚开始可能会慢一些,但随着你对项目代码和常见模式的熟悉,你的阅读速度会飞速提升。这项技能不仅能让你更好地参与社区,也是向顶尖开发者学习的绝佳途径。

2025-10-29 09:55:47 268

原创 技术Leader的典型画像

一个理想的技术Leader,是“首席技术决策者”“团队教练”和“战略合伙人”三者的完美结合。在代码评审和架构设计中,他是严谨的架构师。在项目攻坚时,他是冲在一线的将军。在团队迷茫时,他是举着火把的引路人。在与外部协作时,他是团队价值和利益的守护者。在规划未来时,他是连接技术与商业的桥梁。最后,也是最重要的一点:他是一位“造钟师,而不是报时员”。他的终极成功,不是解决了多少个紧急故障,而是打造了一个能够自我进化、高效运转、人才辈出的技术团队和组织体系。

2025-10-28 14:02:02 481

原创 切换C++编译器 报告总结

该文档围绕“切换C++编译器”展开,阐述了切换的四大核心原因(获取新C++标准支持、适配新目标平台、使用其他工具链/IDE特性、解决旧编译器漏洞),指出切换并非简单操作,需经历基础设施搭建(开发与CI环境配置,含工具链安装、版本冲突处理)、依赖管理(第三方库兼容验证、替换与封装)、项目编译(处理编译器特定扩展、过时特性、行为差异与警告)、运行测试(应对未定义行为与实现定义行为问题)四大关键步骤,同时提供了“先调研、制定计划”等避坑策略,强调切换需并行使用新旧编译器、重视文档与版本控制。获取新C++标准支持。

2025-10-27 17:35:47 707

原创 C++ 常见代码异味(Code Smells)

该文档由软件工程师 Arne Mertz 撰写,聚焦 C++ 中的常见代码异味,首先依据 Martin Fowler 定义明确代码异味是系统深层问题的表面迹象(易识别、非实际问题、可能不构成问题但常违反原则/缺失模式/影响可维护性),随后通过 SFML 网球示例等开源代码片段,详细分析了长函数、过早泛化、深层嵌套控制流、复杂表达式、缺少 const/constexpr、缺失 RAII、违反“五法则”、原生循环。

2025-10-27 17:33:25 1049 1

原创 代码审查(Code Reviews)总结

高级(senior)和初级(junior)开发人员高级开发人员(senior)和初级开发人员(junior),打破层级限制,确保不同经验水平的视角都能融入审查过程。参与原则:倡导“curious?review!(好奇就参与审查)”,鼓励所有对代码有兴趣、希望深入了解的人员主动参与,无需受限于岗位或资历。附加要求:参与人员可在审查中present interesting solutions(展示有趣的解决方案),促进优质方案的分享与交流。

2025-10-27 17:10:31 840

原创 现代C++ 核心使用惯例与认知

编写安全、清晰、高效且易于维护的代码。安全:通过 RAII、智能指针、范围循环等机制,消除常见的错误来源。清晰:通过auto、lambda、算法等提升代码的表达力。高效:通过移动语义、零开销抽象、编译时计算等保证顶级性能。易于维护:通过强类型、减少显式资源管理、使用标准组件,让代码更模块化,更不容易出错。要学习现代 C++,建议从C++11的基础特性开始,然后逐步了解C++141720乃至23的新特性。书籍如和是极佳的学习资源。

2025-10-27 16:56:27 753

原创 PillarsOfModernCpp 报告总结

该文档围绕现代C++的核心支柱展开,重点介绍了RAII(资源获取即初始化)这一关键语言特性(用于通过析构函数自动清理内存、文件句柄等资源),同时涵盖C++98到C++11及后续标准的特性演进(如智能指针、右值引用与移动语义)、类型安全实践(如用enum class、自定义结构体区分参数类型)、编译期计算(模板元编程实现斐波那契数列、constexpr函数)、现代语法特性(结构化绑定、范围for循环、lambda表达式)及工具与实践。

2025-10-27 16:49:22 874

原创 The Aging Programmer 报告总结

Kate Gregory在Meeting C++ 2024分享的《The Aging Programmer》,基于调查、研究及访谈(含已离开行业者),指出程序员衰老中面临身体(视力、疼痛、耐力等)、心理(动力、愤世嫉俗)及职场歧视问题,强调部分问题源于环境而非年龄,提供了定期检查身体、针对性锻炼(力量、耐力、柔韧性)、健康习惯(不吸烟、防晒等)、应对认知变化(借助工具、专注单任务)、建立社交与适应变化。

2025-10-27 15:56:56 798

原创 华为专利申请的核心指导思想

这是研发人员向知识产权部门描述发明的基础文件。华为的专利文件以其高质量著称,这直接关系到专利的稳定性和保护范围。华为有专门的IP(知识产权)团队与研发团队紧密合作。这是华为模式最精髓的部分,可总结为。(知识产权嵌入研发流程)。华为的专利战略是全球性的。

2025-10-22 14:38:11 1010

原创 虚拟内存核心常识

隔离与安全:每个程序都在自己的“沙箱”(虚拟地址空间)里运行,无法窥探或破坏其他程序的内存。这是现代操作系统稳定的基石。简化编程:程序员看到的是统一、连续、独立的虚拟地址空间,大大降低了开发难度。更大的“内存”空间:程序可以使用比物理内存大得多的地址空间(例如,32位系统是4GB,64位系统更是天文数字)。允许部分加载:程序启动时,无需将全部代码和数据载入内存,只需要加载当前运行所需的页面即可,加快了启动速度。

2025-10-20 10:14:33 614

原创 真正的思考

主动性与目的性建立连接与模式识别批判性与质疑精神探索本质与深层原理创造性与想象力伴随不确定性与挣扎总结来说:真正的思考,不是信息的简单输入与输出,而是大脑为了寻求真知、解决问题或进行创造,所进行的主动、深刻、连接、批判且充满挣扎的内心旅程。它是一种需要终身学习和培养的能力,是人类智慧最璀璨的体现。

2025-10-19 15:54:02 316

原创 SOC MMU Metrics 级别概念

重点关注TLB命中率和页表遍历对内存带宽的占用,因为工作负载多样且对吞吐量要求高。可能会为特定工作负载(如大数据)设定最低TLB命中率目标。重点关注最坏情况下的翻译延迟,确保其有确定的上界。需要在性能和功耗之间平衡。TLB Miss导致的内存访问和页表遍历会显著增加功耗,因此需要设定能效指标(如“每次翻译的能耗”)。需要额外关注两级地址翻译的效能,以及VMID的利用率和相关TLB失效。

2025-10-19 13:53:09 804

原创 SOC 流控制概念学习

SOC内部的流控制是一个确保复杂芯片内部数据畅通无阻的一套完整的协同机制。硬件级的握手信号(Ready/Valid)来保证每个传输步骤的可靠性。FIFO缓冲区来平衡不同模块间的速度差异。仲裁机制来公平、高效地解决资源访问冲突。系统级的中断和DMA来优化处理器与外部世界的通信效率。

2025-10-19 13:15:28 621

原创 我们如何更好地相处和协作?

办公室的政治正确,本质上就是。

2025-10-18 21:08:07 315

原创 程序员常用数学工具

数学工具核心思想解决的问题性质微积分/分析变化、无限、极限瞬时变化率、累积总量、优化、连续过程建模线性代数线性关系、空间、变换多变量系统、线性方程组、空间变换、数据降维概率论不确定性、随机性可能性预测、统计规律、风险评估、随机过程统计学数据推断、决策从样本推总体、变量关系、预测趋势、数据描述群论/抽象代数对称性、代数结构对称性与不变性、结构分类、组合计数、密码学拓扑学连续变形下的不变性本质形状区分、整体性质(连通性、洞)微分方程变化率之间的关系动态系统建模、场论、平衡与稳定性分析逻辑学。

2025-10-18 00:34:11 712

原创 大脑保养清单

您不必每天完成所有事项。先从“每日必做”中勾选3-4项开始,逐步养成习惯,再结合“每周精选”来强化效果。

2025-10-18 00:14:45 218

原创 i915 Perf 学习笔记

特性标准 Linux Perfi915 Perf本质通用性能监控框架该框架下的一个硬件特定驱动目标硬件CPU 及核心子系统Intel GPU用户工具perf命令同样使用perf命令实现复杂度相对标准(针对CPU PMU)非常高(因为GPU硬件更复杂)内核代码位置i915 Perf 是 Linux Perf 架构强大扩展能力的证明。

2025-10-17 15:19:46 514

LLVM MachineScheduler UML 图

LLVM MachineScheduler UML 图

2024-11-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除