CUDA和OpenACC培训


        


把GPU加速技术运用到您的应用中的三种基本的方法

不过,首先很多应用已经应用了GPU加速技术,所以先看看您感兴趣的应用是不是已经支持GPU加速。

如果您正在开发自己的应用程序,您可以通过以下方法应用GPU加速技术:
1. 直接用预先优化过的GPU加速库替代MKL、IPP、FFTW和其他广泛应用的函数库。
2. 在您的源代码中添加OpenACC引导语句(或编译器的“提示”)来自动并行化循环。
3. 用您已经掌握的编程语言实现自己的并行算法。

OpenACC引导语句是非常容易使用的:可能5%的代码改动就能给您带来10倍及以上的性能加速!另一方面,如果您从一开始就使用CUDA来开发您的应用程序,那您将获得更大的灵活性和性能的提升。

容天在这里的目的就是帮助您轻松熟练地使用GPU编程技术,因为这将对加速您的应用程序起到立竿见影的效果。

容天将常年在全国举办GPU编程的培训,在我们的培训会上,您不仅可以学到GPU编程的技术,还可以结交很多全国各地志同道合的新朋友。

 

OpenACC (2 天)


目标

本课程将介绍如何使用基于引导语句的OpenACC和额外的指令进行编程来实现性能加速

 

预备知识熟悉C语言

对象开发者项目经理

操作系统Linux

 

第一天

上午(9:00-11:00)- CUDA基础

• 介绍GPU计算

• CUDA架构与编程模型

• CUDA API

• CUDA 调优

下午(13:00-16:00)- OpenACC (1/2)

• OpenACC概述和编译器介绍

• OpenACC 编程模型

• OpenACC 的数据管理

 

第二天

上午(9:00-11:00)- OpenACC(2/2)

• OpenACC的循环结构

• OpenACC异步
• OpenACC运行API

 

 

下午(13:00-16:00) – 进阶技巧

循环变换
函数库集成

OpenACC 2的新功能    

 


CUDA & NVIDIA 架构 (2 )

 



目标:

本课程将向您揭示CUDA的主要特点使您有能力充分开发GPU的潜力并通过CUDA内核的操作技巧获得更高的性能


预备知识熟悉C语言

对象开发者项目经理

操作系统Linux, Windows

 

 

 

第一天

 

上午(9:00-11:00)- CUDA基础

• 介绍GPU计算

• CUDA架构与编程模型

• CUDA API

• CUDA 调优

下午(13:00-16:00)– CUDA 内核性能 (1/2)

• 利用二维CUDA网格进行大规模计算

• CUDA warps

• 数据的对齐方式与合并 

第二天

 

上午(9:00-11:00)– CUDA内核性能 (2/2)

纹理存储器与常量存储器

共享存储器

 

 

下午(13:00-16:00) – CUDA 网格优化

• 最大化占用

编译分析计数器

• CUDA性能工具: 调试器

• 函数

  
CUDA 高级 (1天)

 

 

目标:

本课程将向您介绍CUDA最高级的特点它将使您能够融合GPU和CPU的计算使用GPU流和多GPU的并行技术获得更高的性能提升

预备知识CUDA & NVIDIA架构

对象开发者

操作系统Linux, Windows

上午(9:00-11:00)- CUDA

• CUDA 数据传输优化

异步与并行

• CUDA

传输性能

下午(13:00-16:00) – CUDA  MPI/OpenMP

• CUDA并行

• MPI介绍

• CUDA和MPI的结合

• 利用CUDA和MPI进行多GPU并行计算