【摘 要】
:
OpenACC is a programming standard designed to simplify heterogeneous parallel programming by using direc- rives Since OpenACC can generate OpenCL and CUDA code lneanwhile running OpenCL on Intel Knigh
【机 构】
:
Center for High Performance Computing,Shanghai Jiao Tong University,Shanghai 200240,China
论文部分内容阅读
OpenACC is a programming standard designed to simplify heterogeneous parallel programming by using direc- rives Since OpenACC can generate OpenCL and CUDA code lneanwhile running OpenCL on Intel Knight Corner is supported by CAPSHMPP compiler it is attractive to using OpenACC on hardwares with different underlying uricro- architectures This paper studies how realistic it is to use a single OpenACC source code for a set of hardwares with different underlying micro-architectures Iritel Knight Corner and Nvidia Kepler products are the targets in the experiment since they are with the latest architectures and have similar peak performance Meanwhile CAPS OpenACC compilerls usedto compile EPCCO penACC benchulark suite,Stream andMaxFlops of SHOC benchularks to access the pefomlance Tb study the performance portahility.roof line model and relalive performance model arebuilt by the data of experiments This paper shows that at most 82%performance compared with peak performance on Kepler and Knight Comer is achieved by specific benchularks,but as the rise of aritlmletic intensity the average performance is approximately 10%And there is a big performance gap between Intel Knight Corner and Nvidia Kepler on several benchmarks This study confirms that performance portability of OpenACC is related to the arithmetic intensity and a big performance gap still exsits in specific benchmarks between different hardware platfomls.
其他文献
目前容错问题已成为大规模并行程序长时间运行中不可回避的问题.本文针对由CPU和GPU组成的异构并行系统中的硬件故障问题,面向大规模的计算宇宙学应用,利用Charm++并行平台提出并实现了一种有效的应用容错机制.并通过实验和分析,验证了算法的高效性和可行性,不仅提高了该计算在超级计算环境中的可靠性.也为下一步更高效普适的异构容错算法的研究奠定了基础.
系统性的评测工作是全面评价和优化HPC系统的重要手段,作用日益突出。当前,针对HPC的评测缺乏专门的评价体系、缺乏对可靠性、功耗、复杂性、扩展性等瓶颈问题的系统性评测方法,以及自动化水平低的问题。本文在总结历代“神威”超级计算机评测的基础上,从测试级别、功能模块和测试类型三个维度,研究并实现了HPC系统评测框架TESTER@HPC,包括HPC评测技术体系和基于该评测技术体系的自动化测试系统两部分。
在大数据处理中,以K—Means为代表的聚类分析对于数据分析和挖掘十分重要。本文在分析K—Means基本算法特点的基础上,分析算法的瓶颈,提出了可利用数据并行的K—Means向量化算法,优化了向量化算法的数据布局方案。最后,本文基于CPU加MIC的异构架构实现了向量化K—Means算法,探索了MIC在非传统HPC应用领域的优化策略。测试结果表明,K—Means向量化算法具有良好的计算性能和伸缩能力
针对粒子滤波计算复杂、计算量庞大的问题,提出了一种混合并行粒子滤波算法.该算法利用粒子滤波潜在的数据并发特征,在集群环境下,设计并实现了基于MPI与OpenMP的混合并行算法,给出了主从模式下的MPI并行设计与OpenMP并行设计.实验结果表明,对于纯方位跟踪问题,随着粒子数增加、计算量增大,混合并行算法的执行时间明显减少,有效地提高了跟踪精度,降低了计算时间.
高性能计算机群具有单一系统和分布式的双重特点,也对机群的安全提出了新的挑战.本文根据高性能计算机群的安全现状和需求,提出了一种适用于高性能计算机群的分布式强制访问控制模型,并设计了一个基于现有的单节点强制访问控制系统SELinux,实现了高性能计算机群访问控制系统框架,并搭建了一个原型系统.最后.论文对高性能计算机群强制访问控制技术的可行性进行了分析和验证.
大数据时代的来临,使得内存系统越来越成为制约系统整体性能的瓶颈,如何利用访存序列分析程序的访存特征已经成为内存系统结果研究的热点.针对完整访存序列数据量过大的问题,需要一种快速准确的访存特征分析方法.本文提出一种基于聚类抽样的访存特征分析方法EMAT(Exti-acting representativeMelnoryAccessTrace).在EMAT中,使用由体系结构相关性能指标构成的基本性能计
以千万亿次(1015Flop/s)超级计算机的出现为标志,数值模拟已经进入一个全新的时代——一个可以使用数万至数十万个处理器核心进行超大规模并行计算的时代petaPar粒子模拟程序面向千万亿次级计算.在统一框架下实现两种广受关注的粒子模拟算法:光滑粒子流体动力学(SPH)和物质点法(MPM)。支持纯MPI和MPI+pThread混合并行两种编程模型。在Titan(2012年11月Top500第一)
基于平面波的第一原理计算方法是目前材料科学中最常用的.但传统的CPU并行计算已遇到可扩展性瓶颈,无法改善其求解的绝对速度.本文将系统地介绍利用GPU加速技术开发的大规模第一原理材料计算软件:Ultra—Mat.这一软件对第一原理平面波算法进行了系统的算法设计和软件实现:1)通过改变传统FFT并行方案,实现了快速傅里叶变换的GPU局部操作;2)设计了基于数据压缩的混合精度算法,显著减少了电子结构计算
高能物理是典型的高性能计算的应用,对CPU计算能力要求很高,并且CPU的利用率高低直接影响高能物理的计算效率.虚拟化技术在实现资源共享和资源高利用率方面表现出很大的优势.本文基于KVM(Kemel—basedvirtuallilachine)虚拟机进行性能测试和性能优化.首先通过对KVM虚拟机从处理器、磁盘10和网络10等参数进行测试,给出虚拟机和物理机的性能差异和定量分析,然后从KVM虚拟机架构
Kmeans算法是典型的聚类算法,是已知数据划分和分组处理的重要方法.在图像处理、机器学习、生物学有着广泛的应用.随着数据规模的不断变大,对Kmeans算法的性能提出了越来越高的要求.本文在充分考虑不同硬件平台硬件体系结构差异的基础上,系统研究了在OpenCL框架下Kmeans算法在GPU和APu平台上的高效实现方式.并使用含有多次全局同步的迭代算法在GPU中的实现、冗余计算减少全局同步次数、线程