“高性能计算CPU/GPU并行编程研讨会” 2019年一期二期通知日期:2019-04-12 16:34:12 阅读:
 

 

各有关单位:

 

 随着人工智能AI、大数据Big Data、云计算Cloud Computing等计算机科学技术的发展和应用的普及,深度学习DL和人工智能AI成为当下最炙手可热的技术趋势,将成为技术行业基础设施的核心组成部分。GPU的价值不止体现在深度学习,在高性能计算、物联网、人工智能、生物信息、分子模拟、计算化学、材料力学、系统仿真、流体力学、机械设计、生物制药、航空动力、地质勘探、气候模拟等领域,算法越来越复杂,需要处理的海量数据越来越巨大,高性能计算能力就显得尤为重要。如今,几乎所有的深度学习(机器学习)研究者都在使用GPU进行相关的研究,NVIDIA针对深度学习的计算,有一套完整的解决方案,cuDNN已经成为主流深度学习框架调用的深度学习GPU函数库,包含完整的矩阵乘法和卷积计算的实现。我单位举办“高性能计算CPU/GPU并行编程研讨会”2019年一期二期,本次培训班由权威师资主讲。

 

 一、培训目的:

 

现有硬件资源最大化利用,提供多种并行优化方案组合策略,提高并行程序设计与开发水平,熟悉常见的并行计算模式,了解深度学习的主流GPU加速解决方案;实际体验高性能计算环境,能够应对主流的超算环境;提供符合自身特点的工程计算解决方案,了解高性能计算和深度学习应用场景。

 

  

 二、主讲专家:

 

 

  几位主讲老师来自中科院系统,研究领域:高性能计算,并行编程,生物医学图像处理。

 多年MPI/OpenMP/CUDA/OpenCL/OpenACC优化加速经验,多年大型项目移植优化经验。

 

  三、培训内容:

 


   OpenMP编程

                                 1OpenMP基础:概念介绍、环境搭建、基本用法、编程模型、性能分析

                                 2OpenMP线程操作:线程同步、数据同步、多线程并发、并行循环计算详解

                                 3OpenMP任务和数据处理:数据共享模式、作用范围制导语句、task指令的使用

          4、深入了解OpenMP的内存模型和硬件基础

  

               

           OpenMP上机实践:

                                 1Hello_world、基本指令的使用、积分法计算PI

                                 2、各种OpenMP指令实现并优化计算圆周率

                                 3sectiontask的使用、曼德博集合面积的计算、斐波那契数列

          4、挑战题:利用蒙特卡洛算法计算PI、邻接列表的并行处理


 

并行计算与编程基础

                                                               1、并行机体系机构与编程模型概述

                                  ① 共享存储结构

                                  ② 共享地址空间

                                  ③ 消息传递

                                  ④ 数据并行

                                  SMPGPU集群

                                 2、并行计算的模型与分析

                                  ① 并行执行时间评估模型

                                  ② 并行算法的效率特性

                                  ③ 并行计算拓展性分析

                                 3 MPI并行编程一

                                  MPI基本概念与定义 

                                  ② MPI运行环境

                                  ③ MPI基础:MPI程序初始化与终止、进程设置与获取、消息发送与接

                                  ④ 进程间的通讯:通讯模式、阻塞与非阻塞通讯

                                  ⑤ 上机实践

                             4 MPI并行编程二

                                   集合通信:数据广播、归约、分发、搜集、all to all 通讯、归约操作

                                  ② MPI派生数据类型

                                  ③ 上机实践

                                                  5  MPI并行编程三

                                  ① 进程组与通信子

                                  ② 虚拟拓扑:笛卡尔拓扑,图拓扑

                                  ③ 上机实践

                                 6、混合并行编程:MPI+OpenMP

                                  ① 多线程编程与openMP概述

                                  ② openMP指令介绍

                                      ③ 上机实践


 

 GPU高性能计算

OpenACC编程基础与优化进阶

                                 1 OpenACC基础:概念,与CUDA区别,编译器,生态;

                                 2 OpenACC开发环境搭建配置;

                                 3 OpenACC四步开发流程:判断并行性,并行化表达,显式数据传递,优化

                                     3.1判断并行性:Profile工具pgprof

                                  3.2并行化表达:引导关键字KernerlsParallel Loop

                                  3.3显式管理数据的拷贝:引导关键字Data

                                     3.4优化:统一内存管理,线程并行层级,collapsetile

 

                                  OpenACC上机实操:

                                 1.   Hellow world

                                 2.矢量点乘;


 

  GPU高性能计算

 CUDA编程基础与优化进阶

 

                                  1 CUDA基础:API、数据并行、线程模型、存储模型、控制、同步、并发和通信、加速比;

                                  2 CUDA开发环境搭建和工具配置;

                                  3 CUDA优化进阶:线程组织调度,分支语句,访存优化,数据传输,原子操作;

                                  4 GPU并行计算模式及案例分析:分析调试:parallel nsightvisual profilercuda-gdb

                                  5 CUDA生态系统和相关专业领域软件介绍;


                                  CUDA上机实操:

                                  1 Helloworld,向量加,cuda库的使用(cuBLAScuFFT );

                                  2、 矩阵乘,直方图,卷积,规约; 


 

大规模并行开发:多GPU开发

                                  1 GPU异步编程,多GPU编程(混合OpenMPMPI)及调试调优工具;

                                  2 OpenACC互操作性:OpenMPMPICUDA

 

                                  OpenACC上机实操:

                                  1 Jacobi迭代


 

GPU高性能计算-深度学习

                                  1、 深度学习GPU解决方案:

                                   1.1基于GPU的交互式深度学习训练平台:DIGITS

                                   1.2深度学习框架的GPU加速:TensorFlowCaffe等;

                                   1.3 NVIDIA深度学习SDKcuDNNTensorRTNCCL

                                      1.4深度学习显卡选择;

 

                                 深度学习上机实操:

                                  1、使用DIGITS进行图像分类;

                                  2CaffeTensorFlowTheano等通用深度学习框架的GPU加速库cuDNN的使用;

                                  3、深度学习前端推理引擎TensorRT的使用;

                                  4、单机多卡的深度学习解决方案NCCL实验;


 

 GPU技术前沿

                                  1 CUDA 10新特性

                                  2 PascalVoltaTuring显卡新架构


 

   四、时间地点

 

  一期: 2019年4月19日-22日  

  2019年4月18日全天或19日早晨报到 

 北京市海淀区北清路龙芯产业园1号楼327会议室

 

 二期:2019年5月24日-27日  

 2019年5月23日全天或24日早晨报到  

 北京市海淀区北清路龙芯产业园1号楼327会议室 

 

 五、培训对象:

 

 从事高性能计算、GPU加速、并行计算、CUDA编程、openCV、石油、气象、化工、人工智能、深度学习、计算机视觉、人脸识别、 图像处理、行人检测、自然语言处理等领域相关的企事业单位技术骨干、科研院所研究人员和大专院校相关专业教学人员及在校研究生等相关技术人员.                                                                                               

六、报名方式及费用:

 

 报名人员可直接回复报名回执表至邮箱。或与会务组电话联系咨询。¥RMB:4999元/人,提前20天报名早鸟票¥RMB:4500元/人(含报名费、培训费、教材费、资料费)食宿统一安排费用自理。