logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Rust 宏系统深度剖析:从 macro_rules! 到过程宏(Proc-Macros)

本文深入解析Rust宏系统,分为声明宏和过程宏两大类型。声明宏通过macro_rules!进行模式匹配和代码替换,过程宏则是编译时处理TokenStream的函数,包括派生宏、属性宏和函数式宏三种形式。文章以实战方式演示如何通过syn和quote库构建自定义派生宏#[derive(Builder)],自动为结构体生成构建器模式代码。宏系统能显著减少样板代码,提供类型安全和零运行时开销,但会增加编译

文章图片
#算法#rust#开发语言 +1
Rust 编译器内部机制与过程宏优化:从 AST 到 LLVM 的完整旅程

摘要: Rust编译器(rustc)通过多阶段流程将代码转换为高效机器码,包括词法分析、语法解析、语义检查、单态化和LLVM IR生成。过程宏提供了强大的元编程能力,分为属性宏、派生宏和函数式宏三种类型,能扩展编译器功能但可能增加编译时间。编译优化手段包括增量编译(减少重复工作)、并行编译(利用多核)和LTO权衡(优化运行时性能)。调试技巧涉及查看中间表示(AST/HIR/MIR/LLVM IR)

文章图片
#rust#开发语言#后端
Rust 嵌入式开发完全指南:从 MCU 到实时操作系统

Rust嵌入式开发摘要:Rust凭借内存安全、零成本抽象和并发安全等特性,成为嵌入式开发的理想选择。文章系统介绍了Rust嵌入式开发的核心技术,包括no_std环境、裸机编程、HAL抽象层、中断处理及实时操作系统集成,并通过智能温度计案例展示实战应用。与C语言相比,Rust在安全性、开发效率方面优势明显,但生态和学习曲线仍是挑战。文章还提供了性能优化和调试技巧,为开发者提供了全面的Rust嵌入式开

文章图片
#rust#单片机#开发语言
Rust 高性能数据工程:使用 Polars 库进行亿级数据分析

性能:基于 NumPy,单线程执行(受 GIL 限制)。内存占用:操作(如merge)经常复制整个 DataFrame,内存效率低下。API 限制:缺乏统一的查询优化器,等设计混乱。列式存储:Polars 基于 Apache Arrow,天然适合分析型查询 (OLAP)。惰性求值lazy()是性能的关键,它开启了查询优化器。查询优化:谓词下下推和投影下推是减少 I/O 和内存占用的核心。多线程:P

文章图片
#rust#数据分析#开发语言 +1
Rust std::sync 源码剖析:Mutex、RwLock 与 Condvar 的实现原理

本文深入分析Rust标准库中的线程同步机制,重点剖析Mutex、RwLock和Condvar的实现原理。Mutex通过原子操作和futex系统调用实现高效锁机制,利用RAII模式和中毒机制保障线程安全;RwLock采用状态机管理读写锁,解决读多写少场景的并发问题;Condvar与Mutex配合实现线程间通信,通过原子操作避免丢失唤醒问题。文章还对比了std::sync与parking_lot的性能

文章图片
#rust#安全#开发语言 +1
Rust 高性能数据工程:使用 Polars 库进行亿级数据分析

性能:基于 NumPy,单线程执行(受 GIL 限制)。内存占用:操作(如merge)经常复制整个 DataFrame,内存效率低下。API 限制:缺乏统一的查询优化器,等设计混乱。列式存储:Polars 基于 Apache Arrow,天然适合分析型查询 (OLAP)。惰性求值lazy()是性能的关键,它开启了查询优化器。查询优化:谓词下下推和投影下推是减少 I/O 和内存占用的核心。多线程:P

文章图片
#rust#数据分析#开发语言 +1
MoeGatingTopK 的分片设计哲学:数据并行的艺术与工程实践

本文系统阐述了MoeGatingTopK在昇腾平台上的分片设计方法,提出三大核心技术:1)多层次动态分片策略,实现97.8%的强扩展效率;2)智能负载均衡算法,有效应对万亿参数MoE模型的稀疏性问题;3)分层分片架构,在2048张昇腾910芯片上验证了企业级部署可行性。通过数学建模、硬件约束分析、算法优化到工程实现的完整闭环,形成可复用的分片设计范式,最终实现5.8倍的性能提升。文章包含性能优化模

文章图片
#人工智能#昇腾#CANN
Triton IR 与 Ascend 指令集对比 - 编译器层优化深度解析

本文系统解析TritonIR与Ascend指令集的编译器优化技术,探讨从高级中间表示到底层硬件指令的完整降低流程。通过多层IR映射、指令选择算法、内存层次优化和并行模型适配等关键技术,可将算子性能提升至硬件峰值的80%以上。文章详细介绍了TritonIR体系结构、Ascend指令集特性、优化策略及实战案例,为AI编译器开发者提供从理论到实践的完整框架。未来展望部分讨论了AI驱动优化和跨平台编译架构

文章图片
#CANN#昇腾#GPU +1
让数据在NPU芯片里“跑”对路:Ascend C如何“驯服”Cube Unit

NPU(神经网络处理器)​ 和CPU/GPU根本是两码事,它的心脏是Cube Unit——一个专为矩阵乘加设计的“计算怪兽”。但怪兽有自己的脾气:它一次必须吃16×16×16的数据块,喂错了就“消化不良”。这篇文章不讲玄学,就用大白话告诉你:为什么你从PyTorch直接转过来的模型跑得慢?数据排布格式(Data Layout)是头号杀手。我会带你钻进昇腾达芬奇架构内部,看看Cube Unit和Ve

文章图片
#CANN#昇腾
从MlaProlog的Matmul设计到高性能GEMM内核优化

本文深入解析了在昇腾AI处理器上优化通用矩阵乘法(GEMM)的核心技术。基于达芬奇架构的硬件特性,文章系统介绍了循环分块、双缓冲、寄存器优化等关键技术,将GEMM计算效率从基础实现的20%提升至接近硬件峰值算力的85%以上。通过完整的高度优化GEMM内核实现,展示了如何利用Cube计算单元、分层存储体系和指令级并行等硬件特性,为AI开发者提供了从理论到实践的完整优化指南。实测数据显示,优化后的GE

文章图片
#CANN#昇腾
    共 90 条
  • 1
  • 2
  • 3
  • 9
  • 请选择