cpp: what can I do with it

cpp 是我最开始学习的编程语言,最开始只学到了点皮毛,其实就是 c + class。懂得了面向对象的概念,但是对于多态、封装、继承都没怎么接触。学习数据结构和算法也是使用 cpp,这个时候开始接触 STL,对于 STL 的边界还是没有概念。至于 cpp 的泛型编程、RAII、异常处理、多线程,都是在煜哥的带领下接触到的。知道了 cppreference、 effective cpp,至于学了 cpp,除了能用它来做算法题,一点也没想过用 cpp 可以来做什么。 cpp 目前可以用来干什么呢? 作为一个系统级编程语言,加上历史悠久,目前 cpp 已经应用在许多领域,包括游戏开发、图形用户界面(GUI)应用程序、数据库管理系统、操作系统、浏览器、云计算和分布式系统、编译器、嵌入式系统、企业软件和库。 cpp 应用列表

January 14, 2024 · 1 min · Cedric

Dear Hiring Manager, I am excited to apply for the Software Engineer, Triton Compiler position at OpenAI. With a strong background in GPU computation acceleration and compiler development, I believe my experience aligns well with the requirements of this role. In my first role, I worked extensively with NVIDIA GPUs, implementing computational acceleration for a desktop software. I developed signal processing algorithms such as Fast Fourier Transform (FFT), which required in-depth research and optimization of NVIDIA GPU architecture and CUDA kernels. This experience gave me a solid understanding of GPU computing and a deep appreciation for performance optimization. ...

2 min · Cedric

title: ‘Ramp’ date: 2025-11-18T15:48:20+08:00 author: Cedric draft: false summary: read more categories: tags: 在 TVM (Tensor Virtual Machine) 中,ramp 是向量化表达 (vectorized expression) 的核心构造之一,它用于表示连续等差元素的向量,常见于循环展开、SIMD 指令生成、memory load/store 的地址计算等场景。 1. ramp 的定义与向量关系 在 TVM 的 TIR 表达式层面,向量不是一个独立的数据结构,而是通过 PrimExpr 的形状信息 (lanes) 来表示。例如: ramp(base, stride, lanes) 含义: 参数 含义 base 起始标量值(scalar) stride 步长(每个 lane 的增量) lanes 向量长度(多少个元素) 表达的值为: [base, base+stride, base+2*stride, ..., base+(lanes-1)*stride] 即它代表一个等差序列的向量值,在 TVM 中用于表示一组连续地址或线性索引序列。 示例: ramp(0, 1, 4) => [0,1,2,3] ramp(32, 2, 4) => [32,34,36,38] 这就是 TVM 表示向量的方式,ramp 本质上就是逻辑向量的一种表达。 ...

2 min · Cedric