第三章。
graphics processing unitsuse of a standard cpu.
图形处理单元(gpu),其中常见的陪在消费者pc标准的**处理单元(cpu),有效率的特殊目的而设计的处理器ciently执行必要的计算,产生程序数据的可视化输出。
**游戏有特别高的渲染需求,这个市场已带动了gpu的发展,在比较的cpu,提供了极高的性能货币成本。
当然,利益的处理能力是否已经产生gpu的要约可以利用更多的通用计算(见[1])。在。
尤其是有潜力使用gpu来提升传统的高性能计算系统,如hpcx常用做模拟类型的性能。有挑战要克服,但是,要实现这一潜力。
放置在gpu上的要求,从本地应用程序,然而,通常相当独特的,因此gpu架构是相当不同的cpu。
图形处理本身极为并行可高度线程执行在gpu处理核心的大量发现(通常是数百个)芯片。 gpu内存系统是完全不同的标准cpu相当于系统。
此外,gpu架构,反映了一个事实,一般的图形处理不需要科学模拟的准确性和精度相同的水平。目前需要专门的软件开发,使应用程序能够有效地利用gpu架构。
这份报告首次给出了在gpu上的科学计算的讨论。然后,我们描述的nvidia tesla gpu hpc基准测试应用程序的移植架构,并给出性能测试结果相比,使用一个标准的cpu。2 background
2 background
2.1 gpus
for example.
2背景。2.1的gpu
gpu和cpu之间的主要区别是,虽然现代cpu包含了一些高功能的核心,图形芯片通常包含100个或更多的基本核心。图形芯片还拥有更大的内存比cpu的总线宽度,导致更快的内存存取。 gpu时钟频率通常比cpu的低,但这种差距已经在过去几年关闭。
如渲染的应用程序是高度平行的性质,并能保持核心的繁忙,导致不易这么高的水平,并行化标准应用使用较显着的性能改进,可用的性能,可以在何种程度上利用将取决于投入软件开发,应用和投资的性质。
2.1.1建筑。
本节介绍了建筑设计的gpu。 nvidia的产品都集中在这里,但产品是从其他gpu厂商如ati, 1说明了一个gpu的布局。由此可以看出,有许多处理核心(处理器)进行计算,每个分组到多处理机。
有1 1figure:nvidia gpu芯片和存储器的建筑布局。**[2]的权限。
几个级别的内存存取速度和范围方面的不同。寄存器的处理器范围;共享内存,常量缓存和纹理缓存,多范围和内存可以在一个芯片上所有内核访问的设备(或全球)。请注意gpu内存地址空间,从分开的cpu,必须在软件管理和设备之间的数据复制。
通常情况下,cpu将运行程序骨架,卸载一个或多个计算要求到gpu的**段。因此,有效的gpu加速应用程序。被称为cpu的主机和设备的gpu。
在设备上运行的功能,被称为内核。
在gpu上,操作组合成块,这在网格排列依次是线程执行。每个块由一个单一的处理器执行,但如果有足够的可用资源,几个块可以同时在一个处理器上。处理器时间片块,以提高性能,一个块进行计算,而另一个正在等待内存读取,例如。
可用内存的gpu的一些证物,但是通过这个时间切片的方法,大大延迟,这个延迟可以隐藏适合的应用。
a组32个线程被称为经线,半warp和16个线程。 gpu的线程的一半,扭曲时,执行相同的操作,实现最佳的性能。这是因为在这种情况下,线程可以并行执行。
条件可以的意思,线程不执行相同的操作,因此,它们必须被序列化。说,这些线程是不同的。这也适用于全球记忆体存取:
如果半warp访问全局内存共同遵守一定的规则,有资格被接合的线程,然后他们在并行访问内存和它只会为所有的单一访问时间半warp的线程访问内存。
全局内存位于显卡的gddr3显存。这可能是所有线程访问,虽然它通常比片上存储器慢。记忆访问显着改善,如果被合并内存访问(见5.
1.2.5编程指南[2]),因为这可以让一个半warp的所有线程访问的memorysimultaneously。
共享内存只能由同一个块中的线程访问。因为它是片上,共享的内存空间是速度远远比本地及全球的记忆共享内存16kb每个mp(多处理器),但允许每个mp有几个街区一次活动(从而提高性能)最好是用尽可能少的共享尽可能每块记忆。超过16kb少一点点,实际上是由于内部变量的存储。
共享内存由16个记忆库。共享内存分配时,每个连续32位字被放在不同的内存银行。为了达到最大内存性能,银行必须避免冲突(两个线程试图同时访问同一银行)。
在银行冲突的情况下,冲突的内存访问被序列化,否则每个半warp的内存访问记忆的做只读存储器缓存。它位于在全局内存,但有是位于每个多处理器缓存。如果请求的内存高速缓存中,然后访问共享内存快,但是如果它不是那么的访问将是一个全局内存访问相同。
纹理存储器是只读存储器,缓存和二维空间进行了优化地方。这意味着,是访问[a] [b]和[+1] [b],发言权,将可能会得到更好的速度比[a] [b]和[54] [b],而不是进行访问。纹理缓存是16kb,每个处理器。
这是一个不同的16kb共享内存,所以使用的纹理缓存,不减少可用的共享内存。
存在注册的内存和共享内存访问速度是类似。每个线程在一个块已宣布它自己的寄存器变量的独立版本。有太大的变数,将放置在本地内存中,这是在位于全局存储器。
本地内存空间是没有缓存,所以它的访问是正常访问全局内存昂贵。
2.,方便。这是一个c扩展和使用nvcc编译器编译。
最常用的扩展cudamalloc *设备上的内存分配,cudamemcpy *复制的主机和设备之间的数据和设备上的不同地点之间,内核名称《网格尺寸,块尺寸》(参数)启动一个内核,标识线,块,块尺寸,网格在x方向上的尺寸。
的gpu的cuda解决一些问题,影响发展方案,以前需要太多的专业知识。 cuda是很简单的,因此它不会占用太多的时间,已经熟悉c开始使用它的程序员。 cuda技术还拥有数量超过以往的gpu编程方法的其他好处。
其中之一是它允许线程访问gpu内存中的任何位置,读取和写入到尽可能多的内存位置。这些都是以前相当限制的限制,并因此减轻他们代表cuda显着的优势,。另一个主要的好处是允许访问共享内存,这在以前是不可能的。
使采用尽可能简单的cuda,nvidia已创建的cudaü[3]
其中包含与演习的书面教程以及在伊利诺伊大学任教的cuda课程的课程笔记和**的链接。也可参考手册和编程指南[4]。
cuda的sdk [5],包含了许多例子,可以用来测试gpu的安装和提供的源**,演示cuda编程技术**。所提供的**是一个模板,哪些程序可以根据提供的基本结构。
cuda的主要特点之一是提供一个线性代数库。
cublas)和fft库(cufft)。这些极大地缓解执行。
在gpu上的许多科学规范。
2.3 gpu的成就回顾。
在本节中强调,最近的一些工作,涉及科学计算使用的gpu。
在伊利诺伊大学厄巴纳 - 香槟分校的理论和计算生物物理组使用gpu来实现分子建模应用之间的20和100倍的加速度。
蒙特卡罗应用程序和50倍的速度为三维拉普拉斯求解的了。 [7]
拉普拉斯求解,实现在gpu上使用全球唯一和共享。
内存。它使用一个统一的三维拉普拉斯离散化的jacobi迭代。
伦敦银行同业拆息蒙特卡洛**使用的是原来的cpu**非常相似。 ituses全局和常量内存。
许多其他英国的研究人员也在尝试与gpu。 [8] nvidia已经向他们报告的应用程序展示。 也保持了使用gpu的研究人员名单。 [10]
rapidmind的达到了2.4倍的对于bla sgemm的速度行动,为fft的2.7倍,布莱克 - 肖尔斯和32.2倍。
2.4 gpu的缺点和替代加速技术。
gpu架构的一些缺点,在本节进行了讨论,并简要介绍了一些替代的加速技术。 gpu的关键限制是固有的许多内核开发应用,使高层次的并行要求。此外,图形处理通常并不需要科学模拟的准确性和精度相同的水平,这是反映的事实,通常gpu的缺乏既纠错功能和双精度计算功能往往是不可用或合并一个性能命中。
这是预期的改善与未来的gpu架构。
另一种常见的批评是gpu的耗电量大。 nvidia公司。
特斯拉c870使用了170w的峰值,和120w的典型。产生的热量将很难gpu的数字集群大一起。
gpu还放置比cpu程序员更大的约束。为了避免显着的性能退化,它是必要条件,以避免内部内核。避免未合并的全局存储器访问是非常困难的,对于许多应用程序,这也严重降低性能。
任何块间的通信功能的缺乏意味着它是不能确定时,在另一个块的线程已经完成了他们的计算块的线程。这意味着,如果需要从其他区块的计算结果,那么唯一的解决办法是为内核退出,另一个发射,保证所有的块已完成。
最后,gpu的遭受大量的cpu-gpu的通信延迟。这一瓶颈可能意味着,除非在gpu上完成加工量足够大,它可能会更快,只需在cpu上执行计算。有其他替代的加速技术,其中一些简要介绍如下。
clearspeed的一个替代方案,以gpu的设计,特别是为hpc应用的处理器,如clearspeed公司提供的,。这些产品通常是非常相似的gpu,与一些修改,通常使它们更适合hpc应用。这些差异之一是,所有内部和外部存储器中包含ecc(纠错码)来检测和纠正“软错误”。
软错误”是随机的单位,如宇宙射线是由外部因素造成的错误。在显卡市场,这样的错误是可以容忍的,所以gpu的不包含的ecc,但hpc应用程序往往是可取或必要的。 clearspeed的产品也有更多的coresthan的gpu,但他们在一个较慢的时钟速度运行,以减少热量散失。
也可用双精度。
专业英语翻译
吕伟10水本2班1015030044 排水。排水系统在24小时内排出指定数量的水,俗称排水模数或排水系数,推荐值约为年平均降雨量的1 上面定义的排水模数,通常会在1年内24小时降雨量的四分之一到一半的范围内,可以估计1年内24小时降雨量渗透到土壤中的水量。如果排水模数超过土壤吸收能力所确定的估计数量...
专业英语翻译
药物在设计方面的创新及公众的意见。当今社会由于药物注册官僚主义过度的管理和过度的组织,所以说在中医药方面引进新药经常是很费力的。例如,大多数重要的商业药物从欧洲,美国,日本引进,在20年前每年大约在50 100到现在的仅仅每年5 10。药物的研究和发展在每种新药的平均花费增加的非常迅速以致已经达到了...
专业英语翻译
各种各样的发动机。发动机是汽车的心脏。一台汽车发动机的目的是把燃料转换成能驱动汽车的。能量。目前使燃料产生移动最简单的方法就是在发动机里面燃烧燃料。因此,一台汽车发动机是一台内部燃烧的发动机,她是在汽缸内燃烧的并且把燃烧的膨胀力转换成用来驱动汽车的旋转力。有多种形式内部燃烧的发动机可以分类为往复式和...