“GPU高性能计算程序设计与深度学习应用技术培训班”通知

 GPU高性能计算程序设计与解决方案培训班 课程大纲 


一、 GPU高性能计算——并行计算基础 1、并行计算的应用场景和实际意义(战略、经济和成本);2、并行计算机体系结构:处理器、内存和互连网,常用的并行计算机系统;3、性能分析模型:如何测量并行性能和扩展性;4、 CPU/GPU体系结构对比介绍:流水线、多核、缓存、访存、通信模型、分支预测等;5、 常用的高性能开发技术概述:5.1 OpenMP编程;5.2 Pthreads编程;5.3 MPI编程; 
上机实验:1、 求解π值 


二、GPU高性能计算——OpenACC编程基础与优化进阶 1、 OpenACC基础:概念,与CUDA区别,编译器,生态;2、 OpenACC开发环境搭建配置;3、 OpenACC四步开发流程:判断并行性,并行化表达,显式数据传递,优化 3.1判断并行性:Profile工具pgprof;3.2并行化表达:引导关键字Kernerls和Parallel Loop;3.3显式管理数据的拷贝:引导关键字Data;3.4优化:统一内存管理,线程并行层级,collapse,tile 
OpenACC上机实操:1. Hellow world; 2.矢量点乘; 


三、 GPU高性能计算——CUDA编程基础与优化进阶 1、 CUDA基础:API、数据并行、线程模型、存储模型、控制、同步、并发和通信、加速比;2、 CUDA开发环境搭建和工具配置;3、 CUDA优化进阶:线程组织调度,分支语句,访存优化,数据传输,原子操作;4、 GPU并行计算模式及案例分析: 分析调试:parallel nsight,visual profiler,cuda-gdb;5、 CUDA生态系统和相关专业领域软件介绍; 
CUDA上机实操:1. Helloworld,向量加,cuda库的使用(cuBLAS、cuFFT );2. 矩阵乘,直方图,卷积,规约,前缀求和 ; 


四、 大规模并行开发:多GPU开发 1、 GPU异步编程,多GPU编程(混合OpenMP和MPI)及调试调优工具;2、 OpenACC互操作性:OpenMP,MPI,CUDA; 
OpenACC上机实操:1、 Jacobi迭代,分形图 
五、 GPU高性能计算——OpenCL编程基础 1、 OpenCL:编程模型,存储模型,生态;CUDA vs OpenCL; 
OpenCL上机实操:1、点乘; 


六、 GPU高性能计算——深度学习 1、 深度学习基础介绍:神经网络,BP 方法,回归,统计学习,Hessian矩阵,基础数学等2、 常见的网络模型和平台框架:3、 深度学习GPU解决方案:3.1基于GPU的交互式深度学习训练平台:DIGITS;3.2深度学习框架的GPU加速:TensorFlow,Caffe等;3.3 NVIDIA深度学习SDK:cuDNN,TensorRT,NCCL;3.4深度学习显卡选择; 
深度学习上机实操:1、 使用DIGITS进行目标识别检测,信号处理;2、 Caffe,TensorFlow,Theano等通用深度学习框架的GPU加速库cuDNN的使用;3、 深度学习前端推理引擎TensorRT的使用;4、 单机多卡的深度学习解决方案NCCL实验; 


七、GPU计算最新技术前沿 1、CUDA 9新特性介绍;2、Pascal/Volta显卡架构介绍; 

联系人:林鸣
详询电话:17600460465