热点:

    显存的魅力量--蓝宝 PGS AMD FirePro S9170

      [  中关村在线   ]  
    收藏文章 暂无评论

        在高性能计算领域有几个衡量性能的硬指标:单双精度浮点吞吐性能、内存带宽、内存容量,浮点性能决定了 GPU 能达到的最高计算性能,内存带宽决定了访存密集型应用下的性能,而内存容量则决定了可以最高效率处理的数据集规模上限,当数据集超出了内存容量时就需要透过系统总线甚至 I/O 总线才能访问,此时的性能下降幅度都是数量级的。
        如果要处理的数据集规模超出了内存空间,程序要就必须采取一些编程技巧才能克服所谓的"爆内存问题",比较常见的有层次化数据结构,比如游戏引擎 id Tech 5 引入的 MegaTexture 技术,但是许多应用未必能适用这类"技巧"而且实现的难度和时间成本也会相当高。
        许多高性能应用都会涉及大规模数据集的处理,例如美国诺斯阿拉莫斯国家实验室(简称 LANL)有一个名为 SNAP 的开源程序,它是另一个名为 PARTISN 的程序代理,处理的数据集就相当大。

        SNAP、PARTISN 是什么呢?

        相信现在很多人都对辐射有所耳闻,而辐射的来源主要有两类,一类是自然界存在的,例如宇宙辐射、自然界中的放射性核素发出的辐射、另一类是人类自身活动的结果,例如肿瘤放射治疗、X 摄像透视、核能应用产生的辐射,核爆炸、核武器造成的辐射等。
        辐射是一把双刃剑,它既能给人类和设备产生危害,但是如果正确应用的话也能给人类社会带来巨大的利益。
        为了有效利用辐射、防治辐射带来的危害,需要研究辐射粒子在物质内的运动并与物质发生作用的理论,这就是所谓的辐射输运,它在核科学技术领域中已经成为一个独立的基础理论科学,在核反应堆物理、屏蔽、核医学、核探测以及核动力等领域中获得广泛的应用。
        辐射输运的数值模式又被称作辐射输运计算或者粒子输运计算,随着电脑硬件和软件技术的提高,数值模拟已经逐步成为研究辐射输运理论的主要手段。
        粒子输运的数值模拟也就是求解输运方程或者玻尔兹曼(Boltzmann)方程的过程。研究辐射输运问题的方法分为两类,一类是"确定论方法",另一类是"蒙特卡洛方法",其中"确定论方法"又分为离散纵标方法、特征线方法、碰撞概率法、球谐函数展开法。
        PARTISN 是用于求解线性波尔特输运方程的,而 SNAP 本身并非一个粒子输运应用程序,它的作用是为 PARTISN 模拟计算负载、内存需求以及通讯模板,因此它其实是一个模拟 PARTISN 执行的性能测试工具。
        根据 SNAP 的官网介绍,SNAP 应该采用能准确反映 PARTISN 常用的求解规模,也就是说空间域方面应该分解为每个节点(MPI 排列)大约 2000 到 4000 个栅格,并且特别提到由于时间相依计算的原因,需要为向量提供额外的拷贝,这意味着两倍的内存需求。
        SNAP 有 OpenCL 版本,可以在支持 OpenCL 的系统上提供计算加速支持,其官方网址如下:
    https://github.com/UoB-HPC/SNAP-OpenCL

        在今年的 IEEE 集群国际研讨会期间,英国原子武器研究所高性能计算部与英国布里斯托尔大学计算机科学部共同发表了一篇名为《针对确定性离散纵标输运在众核系统上的快速并行》论文,其讨论对象就是以 SNAP OpenCL 为例子。
        在这篇论文中,科研人员采用 S32(每个八分叉有 136 个角)、50 个能量集以及 163的栅格大小作为求解规模,对多个 OpenCL 硬件进行了性能测试,结果如下:
     
        可以看到 AMD FirePro S9150/S9170 性能较 CPU 以及其它产品都更为优胜,不过上面这个测试由于受到对比产品的内存容量限制,只使用了 16^3 栅格大小,也就是 3.9GiB。
        鉴于 AMD FirePro S9170 配备了 32GiB 内存,科研人员由将栅格规格分别增加到 24^3 和 32^3,此时的内存占用分别达到了 13.3 GiB 和 31.6GiB,此时只有 CPU 和 AMD FirePro S9170 32GB 才能胜任这个求解规模:
     
     
        可以看到,AMD FirePro S9170 32GB 在 24^3 和 32^3 的求解规模下依然保持出色的性能表现,和参照产品 E5-2698 V3 相比基本达到了 3 倍的性能。
        强大的双精度性能、庞大的本地内存以及开放式的超算编程环境是 AMD FirePro S9170 32GB 独步该项测试的制胜之道,如果配合 MPI 实现多路 GPU 编程的话,求解规模还可以进一步拓展,在较紧凑的系统上提供强大的超算性能。
     
     
     
     
     
     
     
     
     
    1、http://www.lanl.gov/projects/feynman-center/technologies/software/snap-sn.php
    2、https://github.com/UoB-HPC/SNAP-OpenCL
    3、http://www.docin.com/p-796348962.html
      

    news.zol.com.cn true //news.zol.com.cn/557/5578966.html report 3987 在高性能计算领域有几个衡量性能的硬指标:单双精度浮点吞吐性能、内存带宽、内存容量,浮点性能决定了 GPU 能达到的最高计算性能,内存带宽决定了访存密集型应用下的性能,而内存容量则决定了可以最高效率处理的数据集规模上限,当数据集超出了内存容量时就需...
    不喜欢(0) 点个赞(0)

    新闻中心文章推荐