Programming Massively Parallel Processors A Hands-on Approach 4th Edition 学习笔记 Part 2
若无另外声明,本文图片均截取自原书。 Chapter 07: Convolution 卷积 本章主要介绍 2D 卷积实现,从朴素版本开始,分别使用常量内存、分块共享内存和 cache 技术依次进行优化。 7.1 Background 背景 卷积的定义此处不再赘述,简单来说就是对某个元素及其相邻元素进行加权求和。 ...
若无另外声明,本文图片均截取自原书。 Chapter 07: Convolution 卷积 本章主要介绍 2D 卷积实现,从朴素版本开始,分别使用常量内存、分块共享内存和 cache 技术依次进行优化。 7.1 Background 背景 卷积的定义此处不再赘述,简单来说就是对某个元素及其相邻元素进行加权求和。 ...
符号说明 $$ \begin{align*} X &: 卷积输入,\text{shape} 为[b,h,w,c_{in}]\\ W &: 卷积核,\text{shape}为[a,a,c_{in},c_{out}]\\ s &: 步长\\ f &: 卷积结果,\text{shape}为[b,(h-k)/s+1,(w-k)/s+1,c_{out}]\\ loss &: 损失函数,loss = g(f) \end{align*} $$ 约定,所有张量下标从 0 开始。 ...
在 cmu10414 hw3 的最后实现矩阵乘法的算子的时候靠肉眼和 printf 实在是调不通,研究了一下怎么在 VSCode 中联合调试 CUDA 和 Python 代码,特此记录。 项目准备 原项目中将 CUDA 代码编译为 so 动态链接库供 Python 调用,使用 cmake 进行构建。这里我们来构建一个最小样例进行调试。 ...
本文为Programming Massively Parallel Processors A Hands-on Approach 4th Edition(中文名:大规模并行处理器编程实战)第一部分学习笔记,包括全书前六章。 全书第一部分主要内容有:CUDA 架构、CUDA C 编程入门、CUDA 优化技术简介。 ...
前言 本文记录了完成《CMU 10-414/714 Deep Learning System》配套 Assignments 的过程和对应笔记。共有 6 个 hw,循序渐进地从头实现了一个深度学习框架,并利用搭建 DL 中厂常见的网络模型,包括 CNN、RNN、Transformer 等。 ...
写在最前面 从 2024-04-28 到 2024-09-08,历时四个多月,总算把 DLSys 学完了。这门课的一些收获: 自动微分理论知识和在实践过程中衍生的包括计算图等知识 系统学习了 ML 中几个基本模型和组件 Tensor 的 strides 相关内容 基础 CUDA 编程 个人认为这门课一些没达到我预期的地方: ...