暑期学校 | 阳王东:异构计算机系统上协同并行计算与应用(3)

发布时间:2018-07-23浏览量:109

22日下午,来自湖南城市学院信息与电子工程学院院长、教授阳王东老师给我们大家带来了《异构计算机系统上协同并行计算与应用》系列报告的第三场,此次报告阳教授主要围绕以下四个主题展开:

1.CUDA并行程序的优化策略

2.基于指导语句的异构协同并行编程框架的研究与实现

3.在CPU-GPU异构平台上SpMV的协同并行实现和优化

4.CPU-GPU构平台上张量并行计算技术

首先,阳教授从三个方面分析了CUDA并发程序的优化策略,第一,当我们开始编写CUDA程序时,我们应当进行任务划分,也就是尽可能使逻辑复杂任务由CPU完成,大规模数据并行和计算密集型任务由GPU完成,另外一次GPU执行的任务应该有充足的计算量,以减少通信开销,同时要保证计算任务和数据规模要协调,避免占有率低的情况。第二,在存储器访问优化方面,为了优化主机-设备之间的通信开销,尽可能使传输数据和计算并行执行。第三,指令流优化,包括算术指令,控制指令,访存指令等。最后阳教授给我们列举了两个优化应用示例。

然后,阳教授讲述了基于指导语句的异构协同并行编程框架的研究背景,近年来,异构众核系统迅速崛起,并且因其高性能,低能耗,低成本的优势,已经成为当今和未来高性能计算发展的重要趋势。随着异构众核系统的计算能力日益强大, 应用需求也日益增多,目前已经应用在多个领域,如:人口出行交通行为数据挖掘、天气预报、油藏分布模拟图、核爆炸模拟等。阳教授指出如果我们不能有效利用异构众核,将会浪费70%的异构计算能力。但异构计算中可编程也面临着一系列巨大的挑战,如何减轻基于异构平台的编程负担并有效利用异构众核设计一种简单易用的异构协同并行编程框架, 能够自动地在各处理器之间划分任务并管理各处理器之间的负载均衡和通信优化等。

接下来,在CPU-GPU异构平台上SpMV的协同并行实现和优化上,阳教授首先介绍了稀疏矩阵的几种压缩存储格式以及SpMV在GPU上的实现,最后分析了SpMV在GPU上的性能及存在的性能瓶颈。

报告最后,阳教授分享了他们目前的一个研究项目,在CPU-GPU异构平台上进行张量并行计算,谈到为什么要研究这个项目,阳教授指出张量计算是数学计算的一个基础,有着强大的计算量,而GPU的一个主要特点就是有着很强的计算能力,张量可以看作是矩阵的高维推广,就像矩阵能够展示事物之间的关系一样,张量能够表现更高阶的关系,现实世界中存在大量的多元关系,张量分析描述了多个方面之间的交互机制,因此有着重要的研究意义,在当下的人工智能领域也有着广泛的应用。


撰稿人:丁国浩

排版:吴双