GPGPU基本概念
1、标量计算
数据定义:标量即为单个数据;
计算模式:D = A * B + C,A、B、C、D均为标量;
数据类型:INT、INT32、FP32、FP32;
计算单元:cuda core。
2、向量计算
数据定义:可理解为一维数组;
计算模式:D = A * B + C,A、B、C、D均为向量;
数据类型:INT、INT32、FP32、FP32;
计算单元:cuda core。
3、矩阵计算
数据定义:可理解为二维数组;
计算模式:D = A * B + C,A、B、C、D均为矩阵;
数据类型:INT、INT32、FP32、FP32;
计算单元:cuda core。
4、张量计算
数据定义:可理解为多维数组;
计算模式:D = A * B + C,A、B、C、D均为向量;
数据类型:INT、INT32、FP32、FP32;
计算单元:tensor core,tensor core提供GEMM(Genernal Matrix Multiply);
举例说明:如RGB三通道彩色图片,有Width/High/Channel三个坐标。
5、CNN
卷积神经网络(Convolutional Neural Network)
- 层级结构:输入层->(卷积层->激活函数->池化层)*N->全连接层->批归一化层->丢弃层;
- 卷积层:提取局部特征(如边缘、纹理);
- 激活层:引入非线性,使网络能拟合复杂函数;
- 池化层:降维、平移不变性、减少计算量;
- 全连接层:整合全局特征用于分类/回归;
- 批归一化层:加速训练、减少对初始化的敏感度;
- 丢弃层:训练时随机屏蔽部分神经元(如比例0.5),减少过拟合。
6、RNN
循环神经网络(Recurrent Neural Network)
7、GNN
图神经网络(Graph Neural Network)
8、卷积计算
卷积计算示意图如下,可见卷积计算的主要内容为乘加运算:
9、激活
- 作用:引入非线性,使网络能拟合复杂函数;
- 常用类型:ReLU:f(x)=max(0,x)f(x)=max(0,x),缓解梯度消失,计算高效;
Leaky ReLU:允许负值斜率(如0.01x),缓解神经元死亡;
Sigmoid/Tanh:少用于中间层(易饱和),多用于输出层(如二分类)。
10、池化
- 功能:降维、平移不变性、减少计算量;
- 类型:最大池化(Max Pooling):取窗口内最大值(保留显著特征);
平均池化(Average Pooling):取窗口均值(平滑特征); - 参数:窗口大小(如2×2)、步长(通常等于窗口大小)。