1. 核心DNN库概览
NVIDIA提供了一系列高性能深度学习库,覆盖训练、推理和加速各个环节:
主要库分类
-
训练加速:cuDNN, NCCL, DALI
-
推理优化:TensorRT, Triton Inference Server
-
全流程支持:CUDA, cuBLAS, cuFFT
-
通信优化:NCCL, NVSHMEM
2. 基础库:cuDNN
功能特性
-
深度神经网络基元优化库
-
支持卷积、池化、归一化、激活函数等操作
-
与主流框架深度集成(TensorFlow, PyTorch等)
基本使用模式
cpp
#include <cudnn.h>// 创建句柄
cudnnHandle_t cudnn;
cudnnCreate(&cudnn);// 创建张量描述符
cudnnTensorDescriptor_t inputDesc;
cudnnCreateTensorDescriptor(&inputDesc);
cudnnSetTensor4dDescriptor(inputDesc, CUDNN_TENSOR_NCHW, CUDNN_DATA_FLOAT,batch, channels, height, width);// 执行卷积操作
cudnnConvolutionForward(cudnn,&alpha,inputDesc, inputData,filterDesc, filterData,convDesc,algo,workspace, workspaceSize,&beta,outputDesc, outputData);// 释放资源
cudnnDestroyTensorDescriptor(inputDesc);
cudnnDestroy(cudnn);
3. 推理优化库:TensorRT
核心组件
-
ONNX解析器:导入预训练模型
-
Builder:优化网络结构
- <