当前位置:问答库>论文摘要

题目:基于多核平台下渐进式并行编程框架的设计与实现

关键词:并行计算,OpenMP,CUDA,并行编程框架,Hadoop

  摘要



       在多核时代,面对种类繁多的多核处理器,对应用程序员来说既是机遇也是挑战。一方面我们有更多可供选择的多核计算平台来提高应用程序的性能;另一方面我们也面临着一个严峻的问题:如何使现有的大量串行代码并行化以便充分发挥出多核平台的计算能力。因此如何有效利用各种多核平台来提高程序的性能是亟待解决的的难题。

      为了降低并行编程的难度,实现并行应用程序的平台无关性,从而将串行软件实现渐进式并行化,本文设计了一个基于库的、可扩展的、平台无关的,渐进式的多核异构平台下的并行编程框架,所谓基于库的是指并行编程框架具有可扩展性,我们可以根据实际问题需要,向该并行编程框架中添加相应平台的库函数实现(例如:如果底层的硬件平台是多核CPU,则下层API会用OpenMP或者Pthreads 开发;如果底层的硬件平台是 GPU,则下层API会用 NVIDIA CUDA或者OpenCL开发;如果底层的硬件平台是Cluster,则下层API会用MPI或者Hadoop开发);所谓平台无关是指通过分层设计来支持多核CPU、多核GPU、Cluster异构系统的硬件平台,这也有利于开发低成本普适的桌面并行的高性能计算;所谓渐进式的是指:将现有大量的串行代码中适合并行的部分(如:具有数据无关联性的循环等)通过输入相应的参数调用并行编程框架,从而实现适合并行的串行程序高效的运行。通过这样的分层设计结构,就可以有效的使原来的串行程序根据需要做到渐进式的实现并行化,从而充分发挥多核平台高性能计算的性能优势。

     通过设计一个计算多矩阵对乘法运算加速比的科学计算问题来说明本文所设计的多核平台下渐进式并行编程框架是有效的,今后可以尝试在更多实际的应用领域来扩展本文的并行编程框架,从而进一步完善该并行编程框架。