- 博客(1152)
- 资源 (21)
- 问答 (1)
- 收藏
- 关注
原创 计算机原理—Intel FRED中断优化
Intel推出FRED(灵活返回与事件交付)架构,旨在替代传统中断/异常处理机制。通过四类事件分级栈与原子化返回指令ERETS/ERETU,实现低延迟、安全的事件处理,消除特权级切换开销,提升性能(如io_uring测试中达2倍提升)。其统一模型简化内核开发,增强可扩展性与安全性。虽当前硬件支持有限(如AMD预计2026年),但Linux已初步适配,生态正逐步构建,标志着中断处理向高效、简洁演进的新方向。
2026-10-02 08:55:55
167
1
原创 AI和大模型—张量计算
张量是高维空间中的数据表示,可统一标量、向量、矩阵等概念。在大模型中,文本经Token化后转化为高维向量,通过张量形式组织,实现多维数据的高效处理。核心运算为矩阵乘法与累加,支撑注意力机制与多层网络的正反向传播。张量计算加速了神经网络、NLP及图像处理中的参数优化与梯度更新,是大模型底层运行的关键技术。
2026-10-01 09:31:40
144
1
原创 大数据处理—数据库数据仓库数据湖
大数据并非单一技术,而是多种技术的整合。从早期文件型数据库到关系型数据库,再到为分离分析与交易而生的数据仓库,逐步演进。面对海量非结构化数据,数据湖以低成本、高灵活性存储原始数据应运而生。为融合二者优势,湖仓一体兴起,实现数据湖的低成本存储与数据仓库的高效管理。整个发展脉络体现了数据保存、治理与价值挖掘的演进逻辑,是大数据技术体系的基础。
2026-09-30 09:26:30
251
原创 计算机原理—内存分配库mimalloc分析
mimalloc v3通过页级分片、多链表设计与Page Map机制,实现高性能内存管理。其核心在于将空闲链表按page分片,结合本地、跨线程释放链表,降低争用;采用Arena管理虚拟地址,支持延迟回收与快速释放。通过分离元数据、优化跨线程共享与页面回收策略,显著提升局部性、可扩展性与内存利用率,特别适用于高并发、中小对象场景。
2026-09-29 11:00:12
477
原创 Linux系统—数据删除的应对机制
删库跑路后数据恢复取决于多种因素,如文件系统类型、硬件(机械盘优于固态盘)、是否启用TRIM、删除后是否写入新数据等。Linux中rm -rf删除的文件在未被覆盖前仍可能恢复,关键在于立即停止操作、保持现场,通过只读挂载、LVM快照或磁盘镜像等方式降低风险。利用extundelete、debugfs等工具可尝试恢复,但成功率受日志、进程占用、文件加密等因素影响。预防胜于治疗:应建立删除审核机制、使用安全删除工具、定期备份,并结合快照与异地备份构建可靠的数据防护体系。
2026-09-28 10:43:29
198
2
原创 AI和大模型—维度的处理
本文系统阐述了矩阵降维在大模型中的核心作用,重点解析低秩矩阵与满秩矩阵的差异,引入奇异值分解(SVD)理论:任何矩阵可分解为多个秩为1矩阵之和,按重要性保留前几项即可实现高效降维与数据压缩。结合低秩矩阵分解(LRMF),该方法广泛应用于图像压缩、主成分分析及大模型参数优化(如LoRA)。相较精确但计算昂贵的SVD,LRMF更适用于稀疏、海量数据场景,是实现大模型高效微调的关键技术。理解矩阵降维机制,对掌握大模型底层原理至关重要。
2026-09-27 10:04:41
174
1
原创 AI和大模型—向量数据库
向量数据库通过将图片等非结构化数据转化为高维向量,实现基于语义相似度的高效检索,解决了传统数据库无法按内容查找图片的难题。它利用HNSW、IVF-PQ等近似最近邻算法,在精度与速度间平衡,支持毫秒级响应。广泛应用于AI中的RAG、推荐系统、多模态搜索等领域,弥补大模型“幻觉”问题。虽不能替代传统数据库,但作为新兴技术,正推动智能应用发展,其在整合性、更新维护等方面仍有提升空间。
2026-09-26 16:33:12
205
3
原创 AI和大模型—导数和积分
在很早以前学习线性代数时,就发现这东西太枯燥了。学了就忘。直到看到了西电的那本从几何角度学线代后的书籍后,才豁然开朗。每个人的学习的潜质不同,但每个人都要善于找到自己学习的突破点。不能拘泥于教材或学校提供的机制一种情况。打仗要防止思想僵化和教条主义,学习更是如此!
2026-09-25 09:57:46
285
4
原创 c++编程实践—为什么需要静态库
静态库在Linux平台中通过打包目标文件实现代码复用与模块化,具备编译期确定性、依赖清晰、部署简便、安全性高等优势,适用于嵌入式、高性能计算、工具类应用及单文件分发场景。其支持链接优化,便于测试与维护,但存在可执行文件体积大、更新需重编译、无法运行时替换等问题。尽管如此,静态库仍因其稳定性和可控性,在特定场景下不可或缺,且常与动态库协同使用以兼顾灵活性与性能。
2026-09-24 11:03:48
150
原创 计算机原理—内存分配器的分析
本文分析了主流内存分配器(ptmalloc、jemalloc、TCMalloc、mimalloc、Scudo等)在服务端、桌面及安全场景下的性能与适用性,强调无通用最优解。提出“全局通用+局部专用”组合策略,结合吞吐量、延迟、碎片、安全防护等维度综合评估。重点推荐根据场景选择:高并发用jemalloc/TCMalloc,内存敏感用mimalloc,安全优先用Scudo或hardened_malloc,同时提醒避免盲目替换,需验证兼容性与实际负载表现。
2026-09-23 11:21:37
659
1
原创 c++编程实践—为什么需要动态库
动态库通过运行时加载与共享,实现模块解耦、并行开发与二进制交付,提升系统灵活性与可维护性。其在设计、开发、部署等多维度具备显著优势,如支持插件架构、按需加载、版本独立更新及多进程共享,广泛应用于算法封装、硬件驱动适配、多数据库支持等场景。然而,也面临ABI兼容、版本管理、路径安全及性能开销等挑战,需谨慎设计与管理。总体而言,动态库是应对复杂系统需求、优化资源利用的必然选择。
2026-09-22 11:11:31
84
原创 c++编程实践—条件变量的正确使用
条件变量是多线程同步的重要机制,尤其在生产者-消费者场景中有效避免轮询开销。其核心问题包括假唤醒、丢失信号与死锁,其中假唤醒需通过循环判断或谓词机制防范。C语言中需手动使用while循环配合pthread_cond_wait,C++11起推荐使用std::condition_variable结合谓词(如cv.wait(lock, []{return ready;})),可自动处理假唤醒,提升安全性和简洁性。建议开发者优先采用带谓词的C++方式,确保线程安全。
2026-09-21 10:11:59
378
2
原创 AI和大模型—归一化
归一化是深度学习中稳定训练的关键技术,通过调整激活值分布缓解梯度消失/爆炸、提升收敛速度与精度。从早期的LRN到BN、LN、RMSNorm,再到专为大模型设计的QK-Norm、DeepNorm等,归一化机制不断演进,适应不同架构需求。当前大模型普遍采用RMSNorm或LayerNorm,兼顾效率与稳定性。未来趋势向“无归一化”范式发展,探索自适应、可学习的归一化方式,如AdaLN、FiLM等,以实现更灵活高效的模型训练。
2026-09-20 10:40:12
329
原创 AI和大模型—生产级别的Memory设计
本文探讨了生产级Agent记忆系统的设计思路,指出传统RAG向量库在精确匹配与状态管理上的局限。针对数据安全、状态控制与流程复用三大核心需求,提出分层架构:通过缓存层实现短期记忆,状态管理层结合KV数据库与摘要机制保障状态一致性,数据层采用MVC模式实现敏感数据脱敏与可控访问。最终构建可复用、可扩展的智能记忆体系,强调将传统软件设计经验与大模型特性融合,方能实现高效可靠的生产级应用。
2026-09-19 09:42:11
221
2
原创 AI和大模型—矩阵浅析
矩阵是AI与大模型的基础数学工具,可从数表、线性方程组系数、函数、几何变换、坐标系描述及张量等多个维度理解。它不仅是数值的排列,更是线性映射的载体,广泛应用于旋转、缩放、应力分析等场景。掌握矩阵的本质有助于深入理解算法底层逻辑,但应用层面可根据需求选择掌握深度。
2026-09-19 09:38:16
256
原创 计算机原理—静态变量的存储和初始化
C++静态变量分为静态存储期与初始化机制两部分。静态变量存于.data(已初始化)或.bss(未初始化)段,程序启动时分配,结束时回收。.bss不占文件体积,运行时零初始化;.data则占用实际空间。初始化分编译期(常量/零初始化)与运行时(动态初始化),后者存在跨翻译单元初始化顺序问题(SIOF)。局部静态变量自C++11起线程安全,首次调用时延迟初始化,存储仍属静态区。其设计体现灵活性,也增加了理解复杂性。
2026-09-18 10:08:38
175
1
原创 并行编程实战—TensorRT安装及测试
本文记录了在Anaconda环境下安装与配置TensorRT 11.2.1.2的过程,重点解决CUDA 13.2兼容性问题。通过conda调整频道优先级并使用cuda-python==13.2.0成功验证CUDA运行时版本为13020,确认显卡为RTX PRO 4000(23GB显存)。结合Pillow、ONNX等依赖,完成环境搭建,并通过完整验证脚本确认TensorRT及CUDA功能正常,为后续推理部署奠定基础。
2026-09-17 10:38:31
108
原创 计算机原理—线程的组成单元
线程是系统调度的最小单元,其动态运行依赖于用户态与内核态的静态组成。用户态包含线程栈、TEB/TLS、同步对象;内核态则有内核栈、TCB、上下文寄存器、共享页表等。二者通过系统调用、中断、上下文切换及同步机制交互。尽管线程切换成本较高,但因共享进程页表,内存管理开销小。掌握线程的静态结构,方能理解其动态调度本质,是实现高效多线程开发的基础。
2026-09-17 10:29:14
137
原创 计算机原理—进程的组成单元
进程是操作系统中资源分配与调度的基本单位,本质为运行程序的实例。从结构上看,进程由用户态(代码段、数据段、堆、栈、PEB、mmap区域)与内核态(PCB/task_struct、内存描述符、内核栈、文件描述符表等)组成,并通过进程创建、通信、调度与信号等机制实现用户态与内核态的交互。深入理解其三大部分构成,有助于掌握系统调度、资源管理及线程协作等核心机制。
2026-09-16 11:10:46
73
2
原创 计算机原理—构建过程中的分段分析
本文系统阐述了Linux下ELF目标文件的结构与链接机制。目标文件(如.o、.so)由文件头、代码段(.text)、数据段(.data/.bss)及符号表等组成,通过readelf、objdump等工具可查看其段信息与符号详情。链接过程依赖符号解析与重定位(.rela.text),实现跨模块函数调用与地址修正。文中以main.cpp与myrandom.cpp为例,演示编译、链接及调试流程,揭示目标文件在链接阶段的关键作用,强调符号管理与段划分对权限控制与程序复用的重要性。
2026-09-15 11:58:30
533
4
原创 设计心得—从思想角度看设计
本文探讨了编程中思想与实践的融合路径,强调抽象是通往设计自由的核心。优秀的编程思想需具备完整体系、可实践的学习路线,并能兼容多元编程范式。从“道”到“术”的落地,需经历需求分析、技术选型、语言适配、工程化实现及异常处理等环节。真正的能力在于将抽象思想转化为可复用、可持续的工程体系,通过质量管控、全局视野与知识沉淀,实现从开发者到架构师的跃迁。唯有不断吸收优秀思想并付诸实践,方能在代码世界中追求更高境界。
2026-09-15 11:54:09
540
1
原创 数据结构和算法—Dijkstra和贪心算法
贪心算法通过每步选择局部最优解来逼近全局最优,效率高但适用范围有限。Dijkstra算法是其特例,用于非负权图的单源最短路径,依赖松弛操作与优先队列,确保正确性。二者区别在于:贪心为通用思想,Dijkstra为具体验证算法。应用场景广泛,如导航、路由、编码等。代码实现体现其核心逻辑,凸显算法思维在现实问题求解中的重要价值。
2026-09-14 13:26:36
403
2
原创 AI和大模型——Graph engineering
Graph Engineering是应对AI智能体协作复杂化的系统化设计范式,源于对提示词、上下文、循环等工程的演进与抽象。它借鉴并行图计算思想,通过动态、可变的图结构实现任务的并行与协调,是Workflow在复杂场景下的高级形态。虽无统一标准,但其核心在于解决多Agent协同中的接口与调度问题。实际应用中应基于并行性与结果可验证性判断是否采用,强调从单点串行(Loop)到多点并行的渐进抽象,避免无效成本。本质是面向复杂任务的更高阶架构能力,体现AI工程从“点”到“面”的演进逻辑。
2026-09-12 10:44:28
120
3
原创 并行编程实战—CUDA中的Tile编程之六Tile原语
CUDA Tile原语是底层硬件支持的最小可操作单元,涵盖矩阵乘法、归约扫描、转置重排、条件选择及数学运算等。其核心优势在于将高级操作自动映射至Tensor Core,提升计算效率。通过ct.mma实现混合精度累加,ct.sum与ct.cumsum支持归约与扫描,ct.transpose和ct.permute灵活调整数据布局,ct.where实现条件选择,配合ct.add等数学函数,构建高效并行内核。例程验证了GEMM、归约、转置、条件选择与数学运算的协同应用,展现Tile在高性能计算中的强大能力。
2026-09-12 10:36:02
166
原创 并行编程程实践—NVIDIA GPU及相关软件生态的分析
本文系统梳理了NVIDIA GPU发展脉络与CUDA生态演进,涵盖从Fermi到Blackwell的12代架构,重点解析Compute Capability、CUDA Toolkit版本及软硬件兼容性。强调CUDA 13已不再支持Maxwell/Pascal/Volta离线编译,推荐使用最新驱动与工具链。结合实际开发场景,提供环境检查命令与版本匹配建议,助力开发者高效部署GPU应用。
2026-09-11 10:24:49
55
原创 c++编程实践—统一初始化
本文系统阐述C++初始化的重要性与实践方法,强调统一初始化在避免未定义行为、保障数据一致性、提升性能与可维护性中的关键作用。从传统到现代初始化方式演进,结合RAII、构造属性、宏注册等机制,提出通过集中管理实现初始化顺序可控。重点解析C++11/20新特性如constinit、列表初始化及编译期初始化对静态初始化顺序问题(SIOF)的解决,并以组件注册例程展示统一初始化的实际应用,揭示现代C++向清晰、安全、通用化方向发展的趋势。
2026-09-09 16:36:45
158
3
原创 跟我学c++中级篇—大括号初始化问题分析
<think>我们根据用户要求,需要根据提供的文章内容生成不超过150字的摘要。文章主要讨论C++列表初始化(大括号初始化)及std::initializer_list的问题。摘要要简洁概括核心要点。注意字数限制。</think>C++列表初始化虽推荐,但存在细节陷阱:initializer_list构造函数优先级过高、元素只读不可移动、生命周期风险、模板推导困难、空列表歧义等。使用时应区分参数与元素初始化,避免用于不可复制对象,显式指定类型;基本类型与聚合类型仍宜用大括号初始化。
2026-09-09 10:25:08
469
1
原创 计算机原理—程序的链接
<think>我们根据文档生成摘要,要求≤150字。需要概括程序链接的核心内容:链接器作用、类型、流程、动态静态库、并行等。语言简洁。</think>本文分析了Linux下程序链接流程,涵盖链接器(ld、gold、lld、mold)职责、符号解析与重定位、静态/动态库编译链接示例、并行任务处理策略及整体执行步骤,并介绍PIC、GOT/PLT机制,说明链接器如何将众多目标文件与库合并为可执行文件。
2026-09-08 11:09:25
218
原创 计算机原理—程序的具体执行流程
<think>我们根据内容生成摘要,≤150字。需要覆盖:程序加载后并非直接main,Linux/Windows都经动态链接器/加载器、CRT初始化后调用main,退出时资源回收。字数限制。</think>程序加载后并非直接进入main,而是由操作系统创建进程,经动态链接器/加载器完成资源、依赖、重定位等初始化,再由C/C++运行库(如_start或mainCRTStartup)构造全局对象后调用main;退出时经标准退出流程回收资源。Linux与Windows机制相似,但具体实现不同。
2026-09-07 10:59:10
555
原创 并行编程实战—CUDA中的Tile编程之五元素级运算和广播
<think>我们根据用户要求,需要生成一个≤150字的文章摘要。用户提供的文章内容主要介绍Tile的逐元素运算和广播机制,包括广播规则、算术运算、类型提升等内容,并给出了例程。摘要需要精炼概括核心内容。 注意字数限制。我们写一个简短摘要。 提取关键点:Tile支持逐元素运算,要求形状可广播;广播规则类似NumPy,从尾部对齐、单例维度扩展、不匹配则报错;算术运算遵循广播,输出类型取精度更高者,Python提升标量类型而C++可能报错;文章建议保持类型匹配或显式转换。 组织语言,控制在150字内。 摘要草案
2026-09-06 12:17:53
220
1
原创 AI和大模型——扰动秩不等式
<think>我们只需要根据内容生成≤150字摘要。内容讲扰动秩不等式:图像加噪、矩阵秩变化、上下界、AI应用。摘要要简洁。</think>扰动秩不等式揭示矩阵秩在扰动下的变化边界:噪声虽能提高矩阵秩,但新秩受原秩之和限制,主要信息仍由少数奇异值控制。该不等式与Weyl定理共同约束数据维度变化,为降噪提供依据。在AI中,它支撑低秩压缩、LoRA高效微调、增强泛化稳健性及动态秩调整,并作为量化扰动、监控误差的理论工具。
2026-09-05 09:44:43
228
1
原创 计算机原理—Linux是如何加载可执行文件到内存
<think>我们根据要求生成摘要,不超过150字。内容是关于程序从代码到运行时的过程,包括shell解析、fork/execve、内核加载ELF、内存映射、动态库、栈建立、ASLR等。摘要需概括主要步骤和要点。字数限制150字,需精炼。</think>程序运行需经历从源码到进程的装载:shell解析命令后fork创建子进程,内核通过execve加载ELF文件,清除旧地址空间并重建内存布局,完成分页映射、动态库加载及栈初始化,最终跳转执行。其间涉及ASLR等安全机制,理解该流程对优化至关重要。
2026-09-04 11:25:03
212
1
原创 并行编程实战—CUDA生产级管理
<think>我们根据要求生成≤150字的文章摘要。需要概括主要内容:环境部署问题引出容器和k8s,GPU自动化管理工具,重点NVIDIA GPU Operator及其功能,最后总结。控制在150字内。</think>本文从环境部署痛点引出容器与Kubernetes,进而介绍GPU自动化管理工具,重点阐述NVIDIA GPU Operator的架构、组件与核心功能(自动化部署、统一镜像、生命周期管理、弹性扩容等),并说明其降低CUDA环境安装门槛的价值,适合需快速扩展GPU规模的企业参考。
2026-09-02 11:05:45
223
1
原创 数据结构和算法—最短路径的算法
<think>我们只需要根据给定的长文生成≤150字的摘要。内容主要介绍最短路径问题、算法分类、单源与全源算法等。需要概括核心要点,不要遗漏重要信息。注意字数限制。</think>最短路径问题分单源与全源两类,主要算法包括Dijkstra、Bellman-Ford、SPFA、A*及Floyd-Warshall、Johnson等,各有适用场景与复杂度。应用覆盖导航、网络、社交、金融、生物等领域,实际中需根据图的特性与需求选择合适的算法。
2026-09-01 10:38:51
266
3
原创 并行编程实战—CUDA中的Tile编程之四Tile与SIMT关系
对于CUDA编程来说,SIMT是CUDA编程的底层建筑,提供了强大的硬件操作和管制能力。而Tile则是在此基础上的一种新的抽象编程模型,它可以让开发者更好的关注于数据和算法任务。就如高级语言中的LLVM编译器一样,中间的IR提供了一种理论上的高扩展的支持。从CPU编程的发展可以窥探GPU编程的发展。抽象高级化是一种必然之路,NVIDIA的CUDA框架不做,第三方也会做。正如Trion和TileLang。不如顺应潮流,与时俱进。而开发者,更要如此。
2026-08-29 10:29:16
218
朗新WEBSERVER接口(南网和天津电网)
2009-03-16
大数阶乘算法的一个例子
2018-10-06
AndroidStudio使用NDK生成静态库的方法?
2015-08-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅