不同型号显卡CUDA的cuda存储器模型模型一样吗

> 神卡再现?GTS450决战5大GPU计算测试
神卡再现?GTS450决战5大GPU计算测试北方IT网
&&& ● GPU计算已成核心目标
&&& 我们可以用满眼尽是蛋白质来回顾NVIDIA GTC大会第二日主要内容。美国旧金山时间日讯,NVIDIA已于9月21日在美国加州圣何塞市召开GTC 2010,此次盛会NVIDIA邀请了全球的合作伙伴、顶级软硬件工程师、知名媒体参加,意在让全球用户了解视觉计算发展进程,了解NVIDIA公司技术实力,更深一步了解GPU在我们生活中的重要意义。而GTC第二日则放出了大量有关GPU蛋白质运算的内容。
&&& 针对生物化学中采用量子化学理论计算蛋白质分子场所带来的巨大计算量的问题,很多科研部门和高等院校选择搭建基于GPU的高性能计算系统,用来加速计算基于量子化学的蛋白质分子场。各国科研机构或高等院校也越来越多地使用GPU来加速其集群系统,甚至将GPU作为超级计算机的核心部件。
&&& NVIDIA用G80架构首开统一渲染,此后的GT200不断探索GPU运算方向,直到现在的Fermi架构终于让GPU运算概念深入人心,同时应用程序配合也日臻成熟。AMD方面在R580时代就通过添加只增加20%的情况下提供了相对R520 200%的Pixel Shader性能增长,RV770中LDS的添加和未来的架构改进方向也与此相同。
&&& 鉴于业界将更多精力放在GPU运算方面,频道也希望用一些不常被普通游戏用户所采用的GPU通用计算测试软件来分析不同GPU架构之间的性能差异和性能特点。今天我们将使用5款最具代表性的软件来完成对NVIDIA和AMD不同架构6款GPU的性能测试。本次测试在代号GF106的芯片产品GTS450发布后进行,因为我们通过初步测试得到这款GPU在Folding@home项目中性能接近GTX460,所以它成为所有GPU计算爱好者最为关注的一款产品。
&&& 蛋白质折叠对所有生物体系来说是最重要和最基本的过程,但这一过程仍然是个未解之谜。本次NVIDIA 2010 GTC大会上,抛出许多的展望,其中最引人关注的就是GPU医学分类。这里的医学包括医学成像与可视化、蛋白质折叠运算等多个方面。MRI等医学成像技术其实现在也比较成熟,但是要做到立体实时显示却还是非常难,GPU在这个领域展示了一些实力,医生不需要再只是看2D画面操作,而是好像 ironman 里的立体成像技术那样,透过三维界面操作机械臂。
&&& 而NVIDIA GTC 2010 Day 2的主要内容,则是完全偏向GPU蛋白质运算。模拟原子弹已经不再新鲜的事情了,现在NVIDIA运行模拟生物分子,才是其Tesla产品最大的市场,也是有一个利润制高点。这类计算其实有些类似于N-body模拟,很适合于 GPU这类向量。
NVIDIA GTC大会第二日黄仁勋讲解
&&& 现在的蛋白质折叠和N-body的区别在于它需要考虑更多层的长程力。肽链的折叠本质上很简单,只是受到温度、PH环境、键能键角和长程力的影响。在运算方面蛋白质折叠如果不考虑复杂长程力几乎就是N-body模拟。但是精度或者说实际折叠和交互关系的精确结果很大部分因素取决于长程力的控制。长程力干扰在算法和需求上归根结底就是分支和双精度,看来这是未来NVIDIA主攻的两个方向。同时NVIDIA正在不断努力从分支论断进化到分支预测,虽然这需要GPU作出很大变革,但是NVIDIA的方向也正是如此。
NVIDIA GTC大会第二日相关文档
NVIDIA GTC大会第二日相关文档
&&& 在GPU蛋白质折叠运算中,Folding@home是其中最为成熟的分布式计算应用,也是被全球GPU计算开发者和用户广为熟知的项目。Folding@home是一个研究蛋白质折叠,误折,聚合及由此引起的相关疾病的分布式计算项目。我们使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引我们近期对由折叠引起的疾病的一系列研究,找到相关疾病的发病原因和治疗方法。
&&& 除了之前和大家分享大量ZOL前方编辑林光楠为我们带回的资料外,以上我们使用大量网络图片来进行本次NVIDIA GTC大会关于GPU蛋白质运算的特性和加速比的说明。作为GPU未来应用的重要方向,NVIDIA GTC大会第二日的内容几乎全部围绕GPU蛋白质计算来进行。
● 千元以下神卡GTS450架构简析
&&&&&&& 作为G80架构的改良产品G92可以说是一款长寿卡,从2007年末诞生的GeForce 8800 GT一路走来历经不同&朝代&,即使是DirectX 11 API发布1年后的今天,市场中仍能见到由其衍生出来的GeForceG GTS 250活跃在零售市场中。
&&&&&&& 不过好产品归好产品、经典归经典,毕竟G92的性能及功能已经不能再完全满足用户的日常所需,最重要的一点就是DirectX 11 API的不支持。当然在这其中也有很多NVIDIA自身策略原因影响左右,例如DirectX 11产品开发的进度,例如Fermi架构衍生产品的市场定位等等。
公版GeForce GTS 450
&&&&&&& 在NVIDIA上一代产品中,不得不说GeFoce GTX 260和GeForce GTS 250是两款明星产品,他们分别依附在千元价位上,前者主攻千元稍高的价位,而后者主要镇守千元以下高性能产品的地位。同时前者也是GTX高端系列的最&弱&型号,而后者也是中端系列GTS中的最&强&型号,二者给消费者以高性价比的性能体验,深受用户青睐出货量惊人。
&&&&&&& 时至今日,随着DirectX 11朝代的来临GeForce GTX 260和GeForce GTS 250已经廉颇老矣显现疲态,此时GeForce GTX 460和今日发布的GeForce GTS 450正式走上历史舞台。而且值得一提的是,无论是价位、定位还是命名上,我们都能看到当年GeForce GTX 260和GeForce GTS 250的身影。
&&&&&&& GF100、GF104和GF106都是基于Fermi架构打造,不过在规格矩阵上为了适应不同成本、定位的产品,进行了合理化的调整。例如GF100拥有超过30亿的晶体管、原生具备512个流处理器,而GF104拥有接近20亿的晶体管、原生384个流处理器。
&&&&&&& 而GF106核心具备11.7亿晶体管、192个流处理器、显存控制器,这些规格细心的用户能够发现正好是GF104的一半,难道二者有着相对更加紧密的关系?
GF100/GF104/GF106市场定位
&&&&&&& 根据NVIDIA针对GF100、GF104和GF106的定位为除了一个较为形象的比喻,GF100拥有最猛火力的重装战士,而GF104是具备杀伤力武器的机动战士。而GF106被定义为&Sniper&(狙击手),拥有一击毙命的本事,足见NVIDIA对这款产品的厚望。
GF100和GF104核心架构图
GF106核心架构图
&&&&&&& 通过上面GF100、GF104和GF106的核心架构图,我们发现虽然在整体架构上三者保持了Fermi的完整性,例如GPC&SM&CUDA Core由广到微的等级结构,例如独立的Polymorph Engine和Raster Engine的设计等。
&&&&&&& 而且从GF104和GF106架构图中不难看出,就GPC、SM、CUDA Cores、MC控制器而言,GF106正好均为GF104的一半。
GF100 SM vs. GF104/GF106 SM
Graphics Core
Graphics Core
GF104/GF106
CUDA Cores
Warp Scheduler
Dispatch Unit
Texture Unit
&&&&&&& 不过在微架构上,例如SM的CUDA Core等功能模块的组成,GF106延续了GF104的设计,即每组SM中包含48个CUDA Core、8个SFU和8个纹理单元等改良设计。相比拥有庞大规格的GF100而言,GF104的微架构的优化能够弥补先天规格不足的弊端,所以GF106传承了GF104微架构体系设计。
本 次 评 测 显 卡 规 格 对 比
GeForce GTX 480
GeForce GTX 460
GeForce GTS 450
GeForce GTS 250
Radeon HD 5770
Radeon HD 5830
Radeon HD 5870
着色器数量
着色器组织
(1D+4D)*160
(1D+4D)*224
1D+4D)*320
纹理单元数量
着色器频率
理论计算能力
1.36 TFLOPs
0.902 TFLOPs
1.36 TFLOPs
1.79 TFLOPs
2.72 TFLOPs
177.4 GB/s
115.2 GB/s
128.0 GB/s
DX版本支持
HD视频技术
PureVideo HD
PureVideo HD
PureVideo HD
PureVideo HD
通用计算接口
[NextPage]
& ● 测试项目简介之GPC Benchmark
&&& 关于A卡和N卡在开放性的通用计算接口OPEN CL计算方面的性能差异,很多媒体进行过测试,但大家实际上一直在找一个合适的平台,在找一套合适的测试基准程序。目前,首款国人开发的支持GPU的OpenCL通用计算测试程序OpenCL General Purpose Computing Benchmark (简称GPC Benchmark OCL)已经公开并且升级到1.1版本。中关村在线频道决定使用这款软件,对AMD和NVIDIA的架构特性做一些对比,以测试它们在哪些环境中能发挥出更好的理论性能。
开放性通用计算接口OPEN CL
&&& 在测试之前有必要对本次测试项目做简单介绍:首款国人开发的支持GPU的OpenCL通用计算测试程序OpenCL General Purpose Computing Benchmark (简称GPCBenchMarkOCL)是由国内几名高性能计算从业人员和爱好者合作编写的,目的是为了评估在不同的OpenCL平台上一些基本算法和应用的性能。与目前流行的一些OpenCL、DirectCompute通用计算测试程序的不同在于,目前这些测试程序测试项目过于单一,基本上就是某一两种算法的性能测试,甚至干脆就是理论峰值计算性能的测试。
&&& 而实际上,OpenCL计算设备包括GPU的计算性能是受非常多因素影响的,除了计算单元的频率和数量之外,还有计算单元架构、Global memory(显存)带宽、Local memory(GPU内的片上存储器,NVIDIA称为Shared memory,AMD称为Local Data Share)带宽和Bank conflict、存储器合并访问情况、存储器同步成本、缓存等各种因素。因此某些纸面计算性能非常高的GPU执行某些计算时性能却不一定好;又或者,某GPU在执行某种计算时虽然性能落后于另一架构的GPU,但是在执行另一种计算时性能反而超前。GPCBenchMarkOCL集合了高性能计算领域多种常见的基础算法和应用,能比较全面地评估GPU及其它OpenCL计算设备在通用计算应用中的性能。
GPCBenchMarkOCL软件界面
&&& 目前GPCBenchMarkOCL的测试项目包括:
&&& 1、Global Memory带宽(读、写、拷贝以及PCI-E总线带宽) - 主要考察不同传输尺寸下各种访存操作的性能
&&& 2、Local Memory带宽(带宽和Bank conflict) - 分析Local memory带宽与数据类型、Bank conflict的关系
&&& 3、32位整数性能(加法、乘法、乘加和位运算) - 分析处理器32位整数处理性能
&&& 4、单精度浮点性能(加法、乘法、乘加和特殊函数如sqrt、sin等) - 分析处理器单精度浮点数处理性能
&&& 5、双精度浮点性能(加法、乘法、乘加和特殊函数如sqrt、sin等) - 分析处理器双精度浮点数处理性能
&&& 6、常用计算(单精度和双精度浮点的大矩阵乘法、大矩阵转置、归约、DCT8x8) - 分析处理器在进行一些常用矩阵与信号处理运算中的表现
&&& 7、图像处理(亮度直方图、2维卷积、降噪、双立方插值缩放) - 分析处理器在进行一些常用图像处理中的表现
&&& 8、密码学(目前只有SHA-1 Hash Loop,以后将加入盒型加密和彩虹表) - 分析处理器在密码学应用中的性能。
&&& 在GPCBenchMarkOCL中,所有测试都会在和GPU(包括其它OpenCL设备)上运行并给出性能结果,不过上运行的并非OpenCL代码而是用常规C语言实现的并行算法(会调度全部的CPU核)。而GPU上运行的OpenCL代码经过试验能正确运行在NVIDIA 和AMD 上。各算法的OpenCL实现有部分修改自NVIDIA和AMD的SDK,部分是由相关从业人员和爱好者提供的。
&&& 由于NVIDIA和AMD的GPU架构上有很大区别,对于某些算法也许能专门针对NVIDIA或AMD的GPU架构写出非常难看的比较极端优化的OpenCL代码,但考虑编程难度、程序的可读性和普遍意义,GPCBenchMarkOCL只使用了一般的GPU编程优化方法做了简单优化(例如使用Local memory暂存数据、利用合并访问规则等),并且在不同的OpenCL计算设备上也是运行相同的OpenCL代码来进行测试。这保证了GPCBenchMarkOCL是目前比较容易找到的较为干净的测试软件,它可以真实反映硬件特性对不同数据类型的适应程度,这一点最重要。
&&& GPCBenchMarkOCL支持AMD RV770及Evergreen(R800)系列,以及NVIDIA G8x、G9x、GT200、GT21x、GF100等GPU的OpenCL平台。
[NextPage]
& ● 测试项目简介之SiSoftware Sandra
&&& SiSoftware Sandra是一套功能强大的系统分析评比工具,拥有超过 30 种以上的分析与测试模组,还有 、Drives、/、Memory 的 Benchmark 工具,它还可将分析结果报告列表存盘。我们知道众多系统测试软件是DIYer们必不可少的工具,而SiSoft Sandra就是其中十分优秀的一款,除了可以提高能够详细的硬件信息外,还可以做产品的性能对比,提供性能改进建议,是一款功能强大的必备软件。
历经时间考验的SiSoftware Sandra软件
&&& 这个测试可以检测GPU的Shader单元运算能力,虽然它是面向通用计算程序设计的,但是在一些较为高端的对Shader负载较重的游戏中,Shader单元运算能力强的可以有更强劲的发挥和更小的性能衰减。
&&& 需要注意的是这里检测的仅是理论浮点值,实际运算环境中将会包含大量跳转嵌套分支等指令,只有运算器组织得当的GPU,才能有效避免理论值的大幅度衰减。测试对N卡和A卡都默认基于Open CL编程接口,同时测试者可以自行选择编程接口,所以测试结果无论是对于NVIDIA还是AMD都比较公正。
&&& 我们使用的版本号是16.36.2010,测试方法是进入程序后,选择界面中的Benchmark工具,然后选择GPGPU Processing项目。
SiSoftware Sandra GPGPU检测
&&&&这个测试图表的横轴是单精度Shader型浮点,而纵轴是双精度Shader型浮点,我们可以看到不同产品之间的理论浮点吞吐性能差异。值得注意的是不支持双精度运算的GPU可以通过模拟方式完成双精度Shader型浮点测试,不过这种方式性能损耗更大。
&&& 和之前介绍的全面基准测试软件不同,SiSoftware Sandra GPGPU检测几乎没有任何GPU计算的测试成分,这个项目得出的结果是让GPU的所有Shader单元满载后得到的理论浮点吞吐值,而AMD显卡具备流处理器数量优势,理论吞吐能力极端强大,所以该测试全面偏向A卡。
[NextPage]
● 测试项目简介之N Body Gravity
&&& DirectX 11 SDK N Body Gravity应用于高级实时渲染的3D图形和游戏,它首次出现在2007年的SIGGRAPH会议中所表现的三个应用之一。
&&& DirectX 11 SDK Nbody Gravity项目源于Nbody仿真,它在数值上近似地表示一个多体系统的演化过程,该系统中的一个体(Body)都持续地与所有其他的体相互作用。一个相似的例子是天体物理学仿真,在该仿真中,每个体代表一个星系或者一个独立运行的星系,各个体之间通过万有引力相互吸引,如图所示。在很多其他计算机科学问题中也会用到N-body仿真,例如蛋白质折叠就用到Nbody仿真计算静电荷范德华力。其他使用Nbody仿真的例子还有湍流流场仿真与全局光照计算等计算机图形学中的问题。
&&& 该示例显示了计算系统中的所有粒子之间的相互作用。在这种情况下,涉及的互动之间所有可能的paritcle对重力的影响。在计算N*N相互作用的过程中,我们使用了Splatting。
&&& 在NVIDIA当年最初G80架构的Geforce 8800GTX GPU上计算每秒100多亿个引力系统的性能,是一个经过高度优化的实现的性能的50多倍。Nbody仿真问题的研究贯穿了整个计算科学的历史。在20世纪80年代,研究人员引进了分层和网格类型的算法,成功降低了计算复杂度。自从出现了并行计算机,Nbody仿真的并行化也开始被研究了。同时从CPU到GPU的现有研究成果不仅仅是为了降低运算的功耗,还可以降低分层度,节省远域计算的时间。
N Body Gravity测试说明
&&& N Body Gravity测试具备两个显著的特点,首先是高并行度,该测试拥有大量相互碰撞的粒子,粒子之间会产生复杂而又数量较多的力量变化。同时该测试拥有较高的运算密度,GPU在处理此类问题时可以有效展现其强大的并行运算能力。
&&& 该测试项目我们在已经进行过,当时我们选用该测试来检测不同GPU的着色器运算能力。从GPU架构对照该项目的测试结果来分析,它能够将GPU着色器运算密度提升到较高层级,但是运算中的分支数量还是有所欠缺。
[NextPage]
● 测试项目简介之CUDA-Z
&&& CUDA-Z就像我们常用的-Z或者GPU-Z,但是具体参数就变成了针对CUDA应用方面的信息,支持CUDA信息查询,还可以测试CUDA的速度。目前该软件更新到了0.5.95版,该程序需要与NVIDIA公司的GeForce ,GT100和GTX200系列,或者Quadro和Tesla卡和ION离子芯片相搭配。该程序仅2.25MB,属于免费版系统检测软件。
&&& 此版本可以显示GPU核心运算能力和性能、显存容量和带宽。它显示了所有CUDA技术的单精度浮点和整数运算性能。同时它也显示了支持双精度操作的GT200芯片的最新显卡特性。该软件还可以生成一个HTML格式和TXT纯文本文件报告,方便用户参考。
&&& 打开CUDA-Z软件后,可以很清楚地看到上面的4个选项卡,分别是Core(核心)、Memory(,这里值本地显存)、Performance(性能)、About(相关信息)。通过这4个界面,我们可以很清楚地了解到自己的在通用计算方面的性能,当然这些都是硬件配置和理论性能。
&&& 在Clock Rate中,我们可以看到自己的CUDA设备运行频率,当然这里的频率已经不是GPU的核心频率,而是流处理器频率。因为CUDA的运算部件就是GPU中曾今的着色器&&流处理器。当然这个说法也不是完全准确,因为GPU核心中的某些单元,比如说仲裁器和Atomic单元工作频率还是和固定单元(也就是GPU核心)一样,这些单元为流处理器提供的源源不断的数据支持和控制,当然他们几乎没有参与实际的运算工作。
CUDA-Z软件的Core核心界面
&&& Multiprocessors代指流多处理器,也被称为SM(Stream Multiprocessors),在CUDA架构GPU,8个流处理器为一组,当然每个SM还包括两个SFU(Super Function Unit)特殊运算单元,GTX200架构中每个SM中增加了一个DPU(Double Precision Unit)双精度运算单元。
&&& Warp Size表示每个warp块包含的线程数,也可以称作粒度。线程发射粒度越小,代表GPU线程管理能力越强,但这会付出很大的硬件开销代价。目前市面上的所有N卡Warp Size都是32,但特殊情况下存在Half Warp,也就是说可以16个指令发射一次,这样可以进一步提高线程管理能力。
&&& Regs per Block代表每个多处理器的寄存器数量。
&&& Threads per Block代表每个Block中的最大线程数量。
&&& Watchdog Enabled代表GPU&监护人&能力,是一种特殊的功能。
&&& 最下方的Threads Dimentions代表一个线程块的 x、y 和 z 维最大规格。
&&& Grid Dimentions则代表线程块网格各维度的最大规格。
&&& 寄存器(Register)是GPU片上高速缓存器,执行单元可以以极低的延迟访问。寄存器的基本单元式寄存器文件(register file),每个寄存器文件大小为32bit。对于每个线程,局部存储器(Local memory)也是私有的。如果寄存器被消耗完,数据将被存在局部存储器中。共享存储器(Shared memory)也是GPU片内的高速存储器。它是一块可以被同一block中的所有线程访问的可读写存储器。它的访问速度几乎和寄存器一样快,所以是实现线程间通信的延迟最小的方法。全局存储器(Global memory)位于显存(占据了显存的绝大部分),CPU和GPU都可以对其进行读写访问。常数存储器(Constant memory)中的数据位于显存,但拥有缓存加速以节约带宽,常数存储器是只读的地址空间。纹理存储器(Texture memory)也是一种只读存储器,由GPU负责纹理渲染的图形专用单元发展而来,具备一些特殊功能。
存储器界面
&&& Total Global代表本地显存容量,这是是扣除了2D帧后缓存的显存容量。
&&& Shared Per Block代表每个block的缓存容量。
&&& Pitch代表最高点,可以理解为最大线性单位缓存,就是每个SM可以在单位周期内使用的缓存总数。
&&& Total Constant代表连续缓存块数。
&&& Texture Alignment代表纹理簇大小。
&&& GPU Overlap翻译为GPU重叠,实际上可以理解为GPU的SLI扩展能力。
&&& 性能界面分为存储性能和核心性能两个部分,在介绍这部分之前,我们要先熟悉几个专有名词。
&&& CUDA编程模型将CPU作为主机(Host),GPU作为协处理器(co-processor)或者称为设备(Device),在一个系统中可以存在一个主机和多个设备。
&&& 在这个模型中,CPU与GPU协同工作各司其职。CPU负责进行对逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。CPU和GPU拥有各自独立的存储器地址空间:主机端的内存和设备端的显存。CUDA对内存的操作与一般的C程序基本相同,但是增加了一种新的Pinned memory;操作显存则需要调用CUDA API中的存储器管理函数,这些管理操作包括开辟、释放和初始化显存空间,以及在主机端和设备端进行数据传输等。
Performacne性能界面
&&& CUDA-Z的存储性能测试,包括主机到设备(Host to Device)、设备到主机(Device to Host)、设备到设备(Device to Device)3个方面。其中的Pinned指页锁定内存(也被称为page-locked),而Pageable指可分页内存,它们都位于主机(CPU)端。
&&& 第二部分GPU核心性能分别测试了单精度浮点运算能力Single-precision Float、双精度浮点运算能力Double-precision Float、32位整数运算能力32-bit Integer和24位浮点运算能力24-bit Integer。G92核心的没有双精度运算能力,所以这一栏为不支持。GTX200系列以上显卡测试后可以得到相关数据。
&&& 需要注意的是这里的测试数据都是理论值,实际运算时,会有很多不同情况出现。比如运算程序中循环和分支过多,都会严重影响GPU的运算能力。衰减程度视架构设计和运算器周边资源配备而定。
&&& 下方的选项是:Update Results in Background(后台更新测试数据),选择后数据会实时更新。而Export按钮则可以由用户自行选择生成一个TXT或者HTML报告。
&&& 最后的About界面显示了CUDA-Z软件的制作信息,有兴趣的朋友可以点击链接去他们的网站进行了解。
[NextPage]
● 测试项目简介之Folding@Home
  Folding@home是一个研究蛋白质折叠,误折,聚合及由此引起的相关疾病的分布式计算项目。我们使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引我们近期对由折叠引起的疾病的一系列研究,找到相关疾病的发病原因和治疗方法。
  Folding@home能了解蛋白质折叠、误折以及相关的疾病。目前进行中的研究有:癌症、阿兹海默症(老年失智症)、亨廷顿病、成骨不全症、帕金森氏症、核糖体与抗生素。
  2006年9月底,宣布了通用计算GPGPU架构,并得到了斯坦福大学Folding@Home项目的大力支持,加入了人类健康研究。日,PS3正式加入史丹佛大学分布式运算研究计划,至今已有超过百万名 PS3 玩家注册参与。NVIDIA于2008年6月宣布旗下基于G80及以上核心的产品都支持该项目的通用计算,更是对分布式计算的重要贡献。
  Folding@home在自身定位明确、成功发展的基础下,通过斯坦福大学的大力推广,已经获得了全世界广泛认同。而近期PS3和GPU的参与更是将Folding@home的运算能力推向高峰。值得一提的是NVIDIA在2008年6月果断宣布加入Folding@home项目,至今已经为该项目提供了超过2 PFlops运算能力。
中关村在线搭建的单卡FAH项目运算平台
  您可以在斯坦福大学官方网页上下载并运行客户端程序,随着更多志愿者的计算机加入,此项目计算的速度就越快,就会计算出蛋白质在更长时间内的折叠,距离科学家找到最终答案也就越来越近。如果蛋白质没有正确地折叠将会使人得一些病症:如阿兹海默氏症(Alzheimers)、囊肿纤维化(Cystic fibrosis)、疯牛病(Mad Cow, BSE)等, 甚至许多癌症的起因都是蛋白质的非正常折叠。
&&& Folding@home所研究的是人类最基本的特定致病过程中蛋白质分子的折叠运动。项目的核心原理在于求解任务目标分子中每一个原子在边界条件限制下由肽键和长程力等作用所导致的运动方程,进而达到实现模拟任务目标分子折叠运动的目的。每一个原子背后都附庸这若干个方程,每一个方程都可以转换成一组简单的向量指令。同时由于长程力的影响,条件分支也随处可见,Folding@home在GPU使用量上也要大于图形编程。
&&& 目前Folding@Home已经成为全世界最有影响力和公信力的项目,同时是各大厂商和机构鼎力支持的项目,当然它毫无疑问地拥有最广大的志愿者团队&&截止日,全球共计1,396,683人参与该项目,最近的统计显示志愿者贡献的总运算能力已经达到了5PFlops,远超现在全世界最快的超级计算机IBM Roadrunner(最高性能1.026PFlops)。
&&& 该项目在中国拥有约2000多名参与者,其中最强大的China Folding@Home Power(Folding@Home中国力量,团队编号3213)团队已经拥有2585人,最近活跃用户200人以上,目前贡献计算量排名世界第33位,团队整体运算能力约为80到100TFLOPS。
[NextPage]
● 性能测试的硬件、软件平台状况
  ● 测试系统硬件环境
  性能测试使用的硬件平台由 Core -870 3.5GHz、ASUS P7P55D Deluxe和*2双通道-1600构成。细节及软件 环境设定见下表:
测 试 平 台 硬 件
中央处理器
Core i7-870 OC3.5GHz
(4核 / 超线程 / 133MHz*25 / 8MB共享缓存 )
Thermalright Ultra-120 eXtreme
( 单个120mm*25mm风扇 / 1600RPM)
Apacer&猎豹二代双通道套装/PC3-12800
(SPD:-9-24-1T)
ASUS P7P55D
(Intel&P55 + ICH10R Chipset)
NVIDIA 产 品
GeForce GTX 480
(GF100 / 1536MB / 核心:700MHz / Shader:1401MHz / 显存:3696MHz)
GeForce GTX 460
(GF104 / 1024MB / 核心:675MHz / Shader:1350Mhz / 显存:3600 Mhz)
GeForce GTS 450
(GF106 / 1024MB / 核心:783MHz / Shader:1566Mhz / 显存:3600 Mhz)
Radeon HD 5870
(RV870 / 1024MB / 核心:850MHz / Shader:850MHz / 显存:4800MHz)
Radeon HD 5830
(RV870 / 1024MB / 核心:800MHz / Shader: 800MHz / 显存:4000MHz)
Radeon HD 5770
(RV840 / 1024MB / 核心:850MHz / Shader: 850MHz / 显存:4600MHz)
Hitachi 1T
( / 7200RPM&/ 16M缓存& / 50GB NTFS系统分区)
AcBel R8 -700CA-AB8FB
(ATX12V 2.0 / 700W)
DELL UltraSharp 3008WFP
(30英寸LCD / 分辨率)
ASUS P7P55D
Apacer 猎豹二代双通道套装/PC3-12800
AcBel R8 ATX-700CA-AB8FB
Thermalright Ultra-120 eXtreme
  我们的硬件评测使用的内存模组由宇瞻(Apacer)中国区总代理佳明国际提供,供应器、由华硕(ASUS)玩家国度官方店、利民(Thermalright)的北京总代理,COOLIFE玩家国度俱乐部提供。
  ● 测试系统的软件环境
操 作 系 统 及 驱 动
Microsoft Windows 7 Ultimate RTM
(中文版 / 版本号7600)
Intel Chipset Device Software for Win7
(WHQL / 版本号 9.1.1.1125)
AMD Catalyst for Win7
(WHQL / 版本号 10.7)
NVIDIA Forceware for Win7
(Beta / 版本号 259.22)
测 试 平 台 软 件
基准性能测试
GPCBenchMarkOCL
HPC Tech / 版本号1.1
理论测试程序
GPGPU Processing
SiSoftware Sandra 2010/ 版本号16.36.2010
NVIDIA / 版本号 0.5.95
实际应用类测试
DirectX 11 SDK Nbody Gravity
Microsoft / 版本号 Demo
Folding@home分布式计算
GPU3客户端 任务10632
辅助测试软件
beepa / 版本号 3.2.3
  各类合成测试软件和直接测速软件都用得分来衡量性能,数值越高越好,以时间计算的几款测试软件则是用时越少越好。
[NextPage]
● GPCBenchMark整体与子项得分
&&& 首款国人开发的支持GPU的OpenCL通用计算测试程序OpenCL General Purpose Computing Benchmark (简称GPCBenchMarkOCL)是由国内几名高性能计算从业人员和爱好者合作编写的,目的是为了评估在不同的OpenCL平台上一些基本算法和应用的性能。
GPCBenchMarkOCL软件界面
&&& 与目前流行的一些OpenCL、DirectCompute通用计算测试程序的不同在于,目前这些测试程序测试项目过于单一,基本上就是某一两种算法的性能测试,甚至干脆就是理论峰值计算性能的测试。而GPCBenchMarkOCL软件可以进行带有针对性的多个项目的具体测试,对运算和吞吐各有侧重。
&&& 上表分别是总分与各子项得分,每款GPU的总得分等于各子项相加。我们可以简单感觉到AMD在密码学和浮点运算中的优势被其他项目的劣势所抵消,所以总评成绩整体落后于NVIDIA设计的Fermi架构显卡。在下一页,我们将会对各款产品的存储体系、吞吐、运算性能做全面分析。
[NextPage]
● GPCBenchMark存储、吞吐、运算性能
&&& 首款国人开发的支持GPU的OpenCL通用计算测试程序OpenCL General Purpose Computing Benchmark (简称GPCBenchMarkOCL)是由国内几名高性能计算从业人员和爱好者合作编写的,目的是为了评估在不同的OpenCL平台上一些基本算法和应用的性能。
GPCBenchMarkOCL软件界面
&&& 与目前流行的一些OpenCL、DirectCompute通用计算测试程序的不同在于,目前这些测试程序测试项目过于单一,基本上就是某一两种算法的性能测试,甚至干脆就是理论峰值计算性能的测试。而GPCBenchMarkOCL软件可以进行带有针对性的多个项目的具体测试,对运算和吞吐各有侧重。
&&& 分析上图得到的测试数据我们可知,在纯吞吐环境中,AMD延续了R600架构以来的特性,其浮点吞吐量的优势得以体现。特别是浮点运算(单精度)测试中,压制了强大的Fermi架构GTX480。在密码学测试中,因为很少牵扯到计算层面,GPU只是不断随即生成数据然后去试探,所以A卡理论吞吐量高的特性再次得到体现。
&&& 但是只要涉及到常规数学方法测试,这种实际运算环境中将会包含大量跳转嵌套分支等指令,只有运算器组织得当的GPU,才能有效避免理论值的大幅度衰减。A卡因为其架构设计原因,大幅度落后于Fermi架构。
&&& 其中AMD落后最为明显的图像处理,包括亮度直方图绘制、2维卷积(锐化)、快速非局部均值法降噪、图片缩放(双立方滤波)。这项测试主要考虑GPU的全局存储器和纹理访问能力,同时局部存储器原子操作也占到一定比重,所以架构较新的Fermi系列产品表现优异。
&&& 我们将涉及存储器的测试归类到存储总评,密码学和单双精度浮点乘加归类到吞吐总评,图像处理和单双精度图形处理归类到计算总评,得到以上测试结果。这个结果可以非常直观地告诉我们在浮点吞吐中,R800由于其SIMD核心内的5D ALU采用VLIW技术,所以遇到规范的数据类型时可以表现出近乎满载的效率,而NVIDIA从G80到GF100芯片都面临吞吐量受制于流处理器结构的影响。
&&& 但是一旦牵扯到包含大量跳转嵌套分支等指令的常规数学方法测试,NVIDIA对ALU阵列的组织形式优化立刻体现出优势,此时AMD的VLIW Cores无法满载运行,每一时刻都有大量运算单元空闲。
&&& 另一个值得注意的地方就是NVIDIA GPU在局部存储器和全局存储器测试中表现优异,特别是全局存储器在197-257的驱动升级中提升了将近50%,这充分反映了GPU加入通用Cache的重要性。这里的局部存储器是寄存器到cache或者shared memory,全局存储器是cache或者shared memory到显存。我们估计NVIDIA优化了Cache的命中率。cache的命中来自对系列也就是显存的命中,所以GPU的整体效率会受益于Cache单元的不断优化。
[NextPage]
● SiSoftware Sandra GPGPU吞吐量检测
&&& 我们使用了SiSoftware Sandra 2010版软件来检测这款所搭载的GPU理论浮点吞吐量。这个测试可以检测GPU的Shader单元运算能力,虽然它是面向通用计算程序设计的,但是在一些较为高端的对Shader负载较重的游戏中,Shader单元运算能力强的显卡可以有更强劲的发挥和更小的性能衰减。
&&& 需要注意的是这里检测的仅是理论浮点值,实际运算环境中将会包含大量跳转嵌套分支等指令,只有运算器组织得当的GPU,才能有效避免理论值的大幅度衰减。测试对N卡和A卡都默认基于Open CL编程接口,同时测试者可以自行选择编程接口,所以测试结果无论是对于NVIDIA还是AMD都比较公正。
&&& 我们使用的版本号是16.36.2010,测试方法是进入程序后,选择界面中的Benchmark工具,然后选择GPGPU Processing项目。
Geforce GTX460显卡 SiSoftware Sandra GPGPU检测
&&& 在这项测试中,我们看到AMD借助庞大的流处理器单元规模获得了远超NVIDIA同级别GPU的性能优势。在纯吞吐环境中,AMD延续了R600架构以来的特性,其浮点吞吐量的优势得以体现。AMD从R600时代开始,其SIMD核心内的5D ALU采用VLIW技术,可以用一条指令完成对多个对数据的计算。图形Shader指令经过驱动的JIT(即时)编译器编译优化后,变成GPU能识别的机器码并被捆绑成长度数百位元的VLIW指令串包。
&&& 在这几款测试显卡中,没有双精度能力,所以它只能通过单精度计算来模拟双精度Shader型浮点吞吐,因此衰减较大。而RV870家族和Fermi架构全部GPU处理器都可以支持双精度计算。不过Fermi架构在面对大量重复数据时明显显得水土不服。值得注意的是RV840核心代表作HD5770经过了RV770时代的平衡设计和RV800时代的LDS存储器优化,已经达到了前所未有的稳定表现。虽然晶体管数目和流处理器数目远远落后于RV870核心的,但是表现值得称道。
[NextPage]
& ● 底层计算能力测试之CUDA-Z整数
&&& CUDA-Z就像我们常用的-Z或者GPU-Z,但是具体参数就变成了针对CUDA应用方面的信息,支持CUDA信息查询,还可以测试电脑CUDA的速度。
&&& 需要注意的是这里的测试数据都是理论值,实际运算时,会有很多不同情况出现。比如运算程序中循环和分支过多,都会严重影响GPU的运算能力。衰减程度视架构设计和运算器周边资源配备而定。
CUDA-Z性能测试界面
&&& 我们知道GPU是从Shader Model 2.0时代开始从整数运算转向浮点运算的,而此后浮点运算能力快速提升,整数性能却被忽略。实际上在通用计算中,整数运算能力也显得尤为重要,所以我们做了这项测试向大家展示GPU的整数性能。
[NextPage]
● 底层计算能力测试之CUDA-Z浮点
&&& CUDA-Z就像我们常用的-Z或者GPU-Z,但是具体参数就变成了针对CUDA应用方面的信息,支持CUDA信息查询,还可以测试电脑CUDA的速度。
&&& 需要注意的是这里的测试数据都是理论值,实际运算时,会有很多不同情况出现。比如运算程序中循环和分支过多,都会严重影响GPU的运算能力。衰减程度视架构设计和运算器周边资源配备而定。
CUDA-Z性能测试界面
&&& 2003年开始普及的DirectX 9.0图形应用程序接口,让Shader单元具备了更强的可编程性。2002年底微软发布的DirectX9.0中,PS单元的渲染精度已达到浮点精度,传统的硬件T&L单元也被取消。全新的Vertex Shader(顶点着色引擎)编程将比以前复杂得多。
&&& DirectX 9.0最重要的一点改进是增加对浮点数据的处理功能,以前GPU只能对整数进行处理,改进后提高渲染精度,使最终处理的色彩格式达到电影级别。Shader Model 2.0时代突破了以前限制PC图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为128位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编程更容易。而从通用性方面理解,支持浮点运算让GPU已经具备了通用计算的基础,这一点是至关重要的。
[NextPage]
& ● DirectX 11 SDK Nbody Gravity
&&& DirectX 11 SDK Nbody Gravity项目源于Nbody仿真,它在数值上近似地表示一个多体系统的演化过程,该系统中的一个体(Body)都持续地与所有其他的体相互作用。一个相似的例子是天体物理学仿真,在该仿真中,每个体代表一个星系或者一个独立运行的星系,各个体之间通过万有引力相互吸引,如图所示。
&&& 在很多其他计算机科学问题中也会用到N-body仿真,例如蛋白质折叠就用到Nbody仿真计算静电荷范德华力。其他使用N-body仿真的例子还有湍流流场仿真与全局光照计算等计算机图形学中的问题。
[NextPage]
● Folding@home运算与测试总结
  Folding@home是一个研究蛋白质折叠,误折,聚合及由此引起的相关疾病的分布式计算项目。我们使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引我们近期对由折叠引起的疾病的一系列研究,找到相关疾病的发病原因和治疗方法。
  Folding@home能了解蛋白质折叠、误折以及相关的疾病。目前进行中的研究有:癌症、阿兹海默症(老年失智症)、亨廷顿病、成骨不全症、帕金森氏症、核糖体与抗生素。
GTS450运行Folding@Home项目
&&& 该项目在中国拥有约2000多名参与者,其中最强大的China Folding@Home Power(Folding@Home中国力量,团队编号3213)团队已经拥有2585人,最近活跃用户200人以上,目前贡献计算量排名世界第33位,团队整体运算能力约为80到100TFLOPS。
&&& Folding@home分布式计算项目偏重实际运算环境,这项测试是科学实用项目Folding@home项目,该项目使用了CUDA或者Stream加速的Gromacs引擎,NVIDIA的GPU架构由于流处理器设计原因,非常适合这种充满了大量跳转嵌套分支等指令的应用环境,我们的测试得到了非常理想的运算速度。
&&& 在这个项目中,我们添加了更多NVIDIA不同架构的显卡供大家对比,而斯坦福大学Folding@home项目方从HD5000开始尚未对AMD显卡提供支持,此前HD4870的PPD值为之间。不过我们了解到GPU3客户端在今年正在努力为AMD显卡开发基于OpenCL接口的客户端。虽然我们了解到A卡架构已经显现出一定程度的老迈,但是该项目的支持者相信最早加入该项目的AMD不会放弃对这一经典GPU分布式计算项目的支持。
&&& 测试总结:
&&& NVIDIA在2010年3月发布了首款Fermi架构的GPU产品GF100核心,其后通过不断改进和优化,用合理的晶体管消耗开发出GF104核心,并在9月发布了192个流处理器的GF106核心。这款GPU未来将成为NVIDIA攻占500元到1000元市场的重要力量,和对手相比,它不仅具备更多的曲面细分单元,而且在分支和双精度能力方面同样表现出色。
&&& 今天的测试我们使用了GPCBenchMarkOCL作为基准测试项目,全面详实地向用户解析了不同GPU架构对于不同数据和指令的适应性,而GPGPU Processing、CUDA-Z作为理论测试项目则测试了GPU内部的吞吐速度,最后选取的DirectX 11 SDK Nbody Gravity、Folding@home分布式计算则更接近分子动力学真实应用,其性能能够代表GPU在高性能计算环境下的表现。希望这些游戏之外的测试数据能够为用户购买显卡带来更多理性的思考,也希望我们的不断探索能助推GPU计算向更广泛的领域延伸。
[NextPage]
&相关阅读:
·岁末大狂欢 苹果iPhone 5C现货特价甩卖
&&·年末大促销 长沙苹果iPhone 5S仅2699元
&&·大苹果5千出头 苹果iPhone 6 Plus促销
&&·清库存大甩卖 苹果iPhone 5S特价2300元 
&&·年底大促销价 苹果iPhone 5S仅3180元
给文章打分 5分为满分(共0人参与)
频道热词:&&&&&&
全国行情显卡热点
排行 文章标题}

我要回帖

更多关于 cuda存储器模型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信