CUDA培训
CUDA入门
1. CUDA 简介
2. CUDA kernel函数,warp,线程组织
3. 系统架构
4. 内存映射
5. CUDA三步式编程结构
在CUDA-GDB中理解CUDA
1. CUDA-GDB 基本用法
2. 观察GPU寄存器
3. 观察错误信息
4. 从GPU上打印信息
5. 试验:编译和调试向量乘法程序
使用NSight调试CUDA程序
1. NSight简介,安装和设置环境信息
2. 在CUDA info窗口观察计算状态
3. 试验:编译和调试矩阵向量乘法程序
4. 试验:使用Nsight调试CUDA程序
使用CUDA profiler 优化CUDA程序
1. 测量GPU时间,nvprof,命令行选项
2. 分析热点,采样视图
3. 内存优化,共享内存
4. 试验:使用nvprof优化CUDA程序
GPU深度学习的应用
深度学习GPU解决方案:
基于GPU的交互式深度学习训练平台:DIGITS;
深度学习框架的GPU加速:TensorFlow,Caffe等;
NVIDIA深度学习SDK:cuDNN,TensorRT,NCCL;
深度学习显卡选择;
OpenACC并行编程
OpenACC上机实战:Helloworld
OpenACC四步开发流程:判断并行性,并行化表达,显式数据传递,优化
判断并行性:Profile工具pgprof
并行化表达:引导关键字Kernerls和Parallel Loop
显式管理数据的拷贝:引导关键字Data
OpenCL并行编程
OpenCL:编程模型,存储模型
生态(覆盖intel,amd,nvidia,移动端arm)
CUDA vs OpenCL
OpenCL向哪里走
AMD ROCM HC/HIP编程
AMD并行编程
AMD生态
hipify转换
HC/HIP编程
HIP vs OpenCL