共计 136 篇文章


2023

从 RNN 到 Transformer | 深度学习 Taichi Codegen 源码解读 | Taichi 09 代码生成 | 《编译原理》 08 中间代码优化 | 《编译原理》 07 运行存储分配 | 《编译原理》 06 中间代码生成 | 《编译原理》 05 语法制导翻译 | 《编译原理》 04 语法分析 | 《编译原理》 03 词法分析 | 《编译原理》 02 程序设计语言及其文法 | 《编译原理》 01 绪论 | 《编译原理》 循环优化 | 编译器 LLVM 编译器入门 | 编译器 家庭公网 IP 的配置与应用 | 玩机 CMake 合并静态库 | C & C++ ranlib 的作用 | C & C++ 修改 dyld 寻找路径 | C & C++ 如何使用 LLVM 优化器 | 编译器 课程笔记:AI 编译器后端优化 | 编译器 课程笔记:AI 编译器前端优化 | 编译器

2022

课程笔记:CHI Hierarchical Instructions | Taichi 课程笔记:SPIR-V 代码生成流程 | Taichi 课程笔记:核函数执行流程 | Taichi iCloud 上传卡住 | 玩机 TorchScript IR 中的类型体系 | PyTorch 使用任意字体 | 个人博客 什么是闭包? | 计算机基础 macOS 常用软件 | 玩机 模板参数遍历 | C & C++ 动态库的符号可见性 | C & C++ 《JIT Technical Overview》翻译 | PyTorch OpenCL 基本概念 | OpenCL new 和 make_shared 在内存上的区别 | C & C++ new 与 malloc 的区别 | C & C++ CUDA 经典问题:矩阵乘法 | CUDA 返回值优化 | C & C++ C++ 对象内存布局 | C & C++ C++ ABI 兼容 | C & C++ CUDA 经典问题:前缀和 | CUDA CUDA 经典问题:数组归约 | CUDA CUDA 经典问题:矩阵转置 | CUDA

2021

CUDA 知识点:线程束内同步函数 __syncwarp() | CUDA CUDA 知识点:线程束洗牌函数 | CUDA CUDA 知识点:bank 冲突 | CUDA CUDA 知识点:合并访存 | CUDA CUDA 知识点:GPU utilization 是如何计算的? | CUDA CUDA 知识点:为什么锁页内存会更快? | CUDA 11 嵌套过程调用 | 《Let’s Build A Simple Interpreter》 10 执行过程调用 | 《Let’s Build A Simple Interpreter》 09 调用栈与活动记录 | 《Let’s Build A Simple Interpreter》 08 识别过程调用 | 《Let’s Build A Simple Interpreter》 07 优化与重构 | 《Let’s Build A Simple Interpreter》 06 过程声明与变量作用域 | 《Let’s Build A Simple Interpreter》 05 符号表与语义分析 | 《Let’s Build A Simple Interpreter》 04 Pascal 语言解释器 | 《Let’s Build A Simple Interpreter》 03 基于 AST 的四则运算解释器 | 《Let’s Build A Simple Interpreter》 02 四则运算解释器 | 《Let’s Build A Simple Interpreter》 01 总述 | 《Let’s Build A Simple Interpreter》 TorchScript 原理篇(下) - 运行模型 | PyTorch TorchScript 原理篇(上) - 保存模型 | PyTorch TorchScript 踩坑篇 | PyTorch TorchScript 入门篇 | PyTorch 09 高级线程管理 | 《C++ Concurrency In Action》 08 并发设计 | 《C++ Concurrency In Action》 07 设计无锁的并发数据结构 | 《C++ Concurrency In Action》 06 设计基于锁的并发数据结构 | 《C++ Concurrency In Action》 微服务性能压测 | 系统开发 05 内存模型和原子操作 | 《C++ Concurrency In Action》 04 同步操作 | 《C++ Concurrency In Action》 03 共享数据 | 《C++ Concurrency In Action》 CUDA 知识点:流与并发执行 | CUDA CUDA 知识点:性能分析 | CUDA 全局构造函数在静态链接时为什么不生效? | C & C++

2020

02 线程管理 | 《C++ Concurrency In Action》 OpenCV 如何实现双线性插值缩放 | 系统开发 01 概述 | 《C++ Concurrency In Action》 CUDA C++ 编程指引:其他运行时特性 | CUDA CUDA C++ 编程指引:多设备系统 | CUDA CUDA C++ 编程指引:异步并发执行 | CUDA CUDA C++ 编程指引:内存层级 | CUDA CUDA C++ 编程指引:编译 | CUDA CUDA C++ 编程指引:硬件实现 | CUDA CUDA C++ 编程指引:编程模型 | CUDA 在腾讯云上部署博客 | 个人博客 个人域名备案 | 个人博客 使用 gperf 分析内存和 CPU | 系统开发 OpenCV 常用操作 | C & C++ 模板的全特化与偏特化 | C & C++ 条款 41 - 条款 52 | 《Effictive C++》 条款 31 - 条款 40 | 《Effictive C++》 条款 21 - 条款 30 | 《Effictive C++》 条款 11 - 条款 20 | 《Effictive C++》 条款 01 - 条款 10 | 《Effictive C++》 源码编译 clang | C & C++ 单例模式 | C & C++ CMake 指令、技巧与错误 | C & C++ Git 常用指令 | 系统开发 李沐:基于系统和算法的协同设计的大规模分布式机器学习 | 系统开发 bthread | bRPC bvar | bRPC Shell 常用指令 | 系统开发 多路复用 IO 模型中的函数 | 计算机基础 网络 IO 模型 | 计算机基础 HTTPS | 计算机基础 TCP 拥塞控制 | 计算机基础 TCP 流量控制 | 计算机基础 TCP 滑动窗口 | 计算机基础 TCP 协议的三次握手和四次挥手 | 计算机基础 svg 导出为指定分辨率的 pdf | Swift 调用 C++ | Swift 常用操作 | Swift 延迟执行 | Swift 搜索引擎优化(SEO) | 个人博客 判断 Mac 是否处于密码输入界面 | Swift SystemC 矩阵乘法 | Noxim 使用 EverBlog 发布印象笔记到博客 | 个人博客 SystemC 基础 | Noxim iOS 常用越狱插件 | 玩机

2019

在 GitHub 上部署博客 | 个人博客 基础架构 | Noxim XY 路由算法 | Noxim 配置文件 default_config.yaml 解析 | Noxim 编译与运行 | Noxim 11 文件系统 | 《操作系统》 线程同步方法 | 计算机基础 10 进程间通信 | 《操作系统》 09 死锁 | 《操作系统》 08 信号量与管程 | 《操作系统》 07 同步 | 《操作系统》 06 调度 | 《操作系统》 05 进程与线程 | 《操作系统》 04 虚拟内存 | 《操作系统》 03 内存分配 | 《操作系统》 02 启动、中断、异常和系统调用 | 《操作系统》 01 概述 | 《操作系统》 Tmux | 玩机