×

CUDA的异构并行计算详细资料介绍

消耗积分:1 | 格式:pdf | 大小:0.29 MB | 2019-04-23

20615

分享资料个

  在过去的几十年间,人们对并行计算产生了越来越多的兴趣。并行计算的主要目标是提高运算速度。

  从纯粹的计算视角来看,并行计算可以被定义为计算的一种形式,在这种形式下,计算机可以同时进行许多运算,计算原则是一个大的问题往往可以被划分为很多可以同时解决的小问题。

  从程序员的角度来说,一个很自然的疑问,就是如何将并发计算映射到计算机上。假设你有许多计算资源,并行计算可以被定义为同时使用许多计算资源(核心或计算机)来执行并发计算,一个大的问题可以被分解成多个小问题,然后在不同的计算资源上并行处理这些小问题。并行计算的软件和硬件层面是紧密联系的。事实上,并行计算通常涉及两个不同的计算技术领域。

  计算机架构(硬件方面)

  并行程序设计(软件方面)

  计算机架构关注的是在结构级别上支持并行性,而并行编程设计关注的是充分使用计算机架构的计算能力来并发地解决问题。为了在软件中实现并行执行,硬件必须提供一个支持并行执行多进程或多线程的平台。大多数现代处理器都应用了哈佛体系结构(Harvard architecture),如图1-1所示,它主要由3个部分组成。

  内存(指令内存和数据内存)

  中央处理单元(控制单元和算术逻辑单元)

  输入/输出接口

  高性能计算的关键部分是中央处理单元(CPU),通常被称为计算机的核心。在早期的计算机中,一个芯片上只有一个 CPU,这种结构被称为单核处理器。现在,芯片设计的趋势是将多个核心集成到一个单一的处理器上,以在体系结构级别支持并行性,这种形式通常被称为多核处理器。因此,并行程序设计可以看作是将一个问题的计算分配给可用的核心以实现并行的过程。当实现一段串行算法时,你可能不需要为了编写一个程序而特意去理解计算机架构的细节。但是,当在多核计算机上执行算法时,对于程序员来说,了解基本的计算机架构的特点就显得非常重要了。要编写一个既正确又高效的并行程序需要对多核体系结构有一个基本的认识。以下介绍了并行计算的一些基本概念,以及这些概念与CUDA编程设计的联系。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !