Heterogeneous multicore architecture has been becoming the mainstream architecture in high performance computing community. However, due to its architecture is so complexity and diversity, neither of the traditional mainstream message-passing and shared memory programming models could describe the role of the computing units. So the some challenge is unavoidable to face, include programing on it is very difficult, achieving productivity and portability is also hard. This project aims to meet these challenges through studying a new programming model based on software distributed shared memory. The research focus on the following topics :(1) Data consistency maintenance through main memory to the GPU device memory.(2) the address space mapping mechanism from GPU device memory to main memory.(3) the load balancing strategy between CPU and GPU. (4) the data prefetching scheme for shared data. The project aims to do some fundamental research to reduce the programming complexity for the heterogeneous multicore platforms and improve programming productivity.
异构多核是由架构不同的核心组成的计算平台,由于其能够在特定的领域中针对应用的特点充分发挥不同处理器核的作用,成为了高性能计算平台主流架构和硬件基础。但也由于其不同架构组合复杂多样,传统的单一消息或者共享的编程模型都难以清晰描述各个计算部件之间的协同关系,导致其面临着编程要求高、产能低和调试的困难等挑战。本项目在由GPU集群构成的异构多核计算平台上,以软件分布式共享内存模型为基础,研究基于GPU设备内存的分布式共享设备内存的编程模型,达到简化编程,优化性能的目的。重点研究如下几个问题:(1)基于GPU设备内存、主存的两级共享内存的数据一致性维护;(2)GPU设备内存地址空间到主存地址空间的映射机制;(3)CPU-GPU间负载合理分配策略;(4)共享内存中数据预取策略。本项目旨在能为降低异构多核平台上的编程复杂性,提高编程效率奠定理论和技术基础。
图形处理器GPU善于处理大规模密集型数据和并行数据,通用并行架构CUDA让GPU在通用计算领域越来越普及。由于GPU集群的高性价比,高性能计算领域中GPU集群的使用越来越普遍,但GPU集群并行编程并没有一个标准的通信模型,绝大多数集群应用采取CUDA+MPI的方法实现,而CUDA和MPI编程都非常困难,需要程序员了解GPU硬件架构和MPI消息传递机制,显式控制内存与显存、节点与节点间的数据传输。因此,对编程人员来说,GPU集群并行编程仍是一个复杂的问题。.本项目基于GPU集群,结合分布式内存上的共享内存编程模型GA与通用并行架构CUDA的特征,采用共享显存方式,通过全局共享地址空间实现节点间GPU-to-GPU的数据通信,并通过内部透明的CPU端临时全局数组和GPU端全局数组来维护数据一致性,保证通信数据的正确性。同时,该接口解决了多进程多GPU环境下GPU设备的初始化问题,并提供GPU集群信息查询接口及图形化监控界面两种方式,帮助用户及时了解设备使用情况。设计开发了CUDA-GA原型系统,从数据传输和计算内核两方面对GA库中的数组运算进行优化,加速后的函数库可供用户直接使用。CUDA-GA为用户提供了一个简单方便的GPU集群并行编程通信接口,在保证通信性能的同时简化编程难度,提高程序员编写GPU集群应用程序的效率。我们还结合具体的典型应用:乔姆斯基预处理共轭梯度算法来解三维抛物线方程,分析出调优的特征,为CUDA-GA加入性能自动调优做准备。
{{i.achievement_title}}
数据更新时间:2023-05-31
农超对接模式中利益分配问题研究
粗颗粒土的静止土压力系数非线性分析与计算方法
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
特斯拉涡轮机运行性能研究综述
中国参与全球价值链的环境效应分析
lncRNA-MEG3通过miR-770-5p影响肠神经嵴细胞迁移和增殖在先天性巨结肠发生中的作用
异构平台上以数据为中心的多线程编程模型扩展
多核平台上的BESIII离线物理软件与调度策略研究
基于事务内存的云计算编程模型研究
基于共享变量的多核并发程序模型检测