Future-proof massively-parallel execution of multi-block applications
Future-proof massively-parallel execution of multi-block applications
批准号:
EP/K038494/1
负责人:
Mike Giles
金额:
$35.7万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2013
资助国家:
英国
项目状态:
已结题
起止时间:
2013 至 --
中文摘要
多年来,提高微处理器的时钟频率已经导致了计算机应用性能的稳步提高。这几乎免费地提高了应用程序的速度,而不必为每一代新处理器重写软件。然而,以这种方式提高处理器的性能会导致能源消耗的不可持续增长。因此,为了获得更高的性能,芯片开发人员现在依赖于并行运行的多个核心。最新的cpu有多达10个内核,每个内核都有一个矢量单元,每个时钟周期产生多达8个单精度浮点结果,而最新的图形处理器(gpu)有多达2688个更简单的内核,每组32个。这种向多核计算的转变已经导致了相当大的硬件创新,并且很可能在未来10年看到计算机架构的进一步快速发展。这对应用程序开发人员提出了巨大的挑战,他们自然希望专注于他们的工程和科学应用程序,以及如何最好地对它们建模,而不必担心现代计算机体系结构的细节。为了解决这个问题,在科学计算中有一系列的工作来开发高级软件包或框架,以便应用程序开发人员可以指定他们想要在高级计算的内容,然后软件包负责实现细节。在epsrc先前资助的研究基础上,开发了一个名为OP2的框架,用于非结构化网格应用,该提案旨在开发一个名为OPS的面向未来的扩展,以处理多块结构化网格应用的需求。开发人员的应用程序可以用FORTRAN或C语言编写,使用精心设计的应用程序编程接口(API),然后OPS生成定制代码,以便在不同的硬件目标平台上实现。除了针对不同的硬件进行定制外,还将采用另外两种优化方法。一种是使用“平铺”来重叠并行循环的执行,而并行循环通常是顺序执行的。通过重用缓存中的数据,从而提高了性能和能源效率,减少了数据在处理器和主内存之间移动的次数。这在现代架构中变得越来越重要,因为数据移动的能量成本和时间要比浮点运算大得多。另一种优化是对长时间执行的应用程序使用运行时优化。后端实现是参数化的,使用参数控制诸如线程块中的线程数或平铺优化中的“平铺”大小等方面。这些参数的最优值是未知的,它可能会显著影响性能。通过动态地改变这些值,并对相应的性能变化进行计时,我们可以实现启发式方法,在执行过程中迭代地改进参数值。新的OPS框架将通过将其应用于两个重要的学术CFD代码来评估其性能和易用性,即布里斯托尔大学由Chris Allen教授开发的ROTOR和南安普顿大学由Neil Sandham教授开发的SBLI。除了本身是重要的代码外,这些代码也代表了CCP12(计算工程)、英国湍流联盟和英国应用空气动力学联盟中其他代码的需求。
英文摘要
For many years, increasing the clock frequency of microprocessors has led to steady improvements in performance of computer applications. This gave an almost free performance boost to the speed of applications without having to re-write software for each new generation of processors. However, increasing the performance of processors in this manner led to an unsustainable increase in energy consumption. Thus, to gain higher performance chip developers now rely on multiple cores operating in parallel. The latest CPUs have up to 10 cores, each with a vector unit producing up to 8 single precision floating point results per clock cycle, while the latest graphics processors (GPUs) have up to 2688 much simpler cores operating in groups of 32.This move into manycore computing has led to considerable hardware innovation, and it is likely that the next 10 years will see further rapid evolution in computer architectures. This poses huge challenges to application developers who naturally wish to concentrate on their engineering and scientific applications and how best to model them, without having to worry about the details of modern computer architectures. To address this, there are a range of efforts within scientific computing to develop high-level software packages or frameworks so that the application developer can specify what they want to be computed at a high level, and then the package takes care of the implementation details.Building on prior EPSRC-funded research to develop a framework called OP2 for unstructured grid applications, this proposal aims to develop a future-proof extension called OPS to handle the needs of multi-block structured grid applications. Developers' applications can be written in FORTRAN or C, using a carefully-designed application programming interface (API), and then OPS generates customised code for the implementation on different hardware target platforms.As well as customising for the different hardware, two other optimisation approaches will be adopted. One is the use of ``tiling'' to overlap the execution of parallel loops which are usually executed sequentially. This improves both performance and energy efficiency by reusing data within the cache, cutting down on the number of times data is moved between the processor and the main memory. This is something which is becoming increasingly important on modern architectures because the energy cost and time taken for data movement is much greater than for floating point operations. The other optimisation is the use of run-time optimisation for applications which execute for a long time. The backend implementations are parameterised, with parameters controlling aspects such as the number of threads in a thread block, or the size of a ``tile'' in the tiling optimisation. The optimal values for these parameters are not known a priori, and it could significantly affect the performance. By dynamically varying the values, and timing the consequential changes in performance, we can implement heuristics to iteratively improve the parameter values during the execution.The new OPS framework will be assessed, both for performance and ease-of-use, by applying it to two important academic CFD codes, ROTOR developed at Bristol by Prof. Chris Allen, and SBLI developed by at Southampton by Prof. Neil Sandham. As well as being important codes in their own right, these are also representative of the needs of other codes within CCP12 (Computational Engineering), the UK Turbulence Consortium, and the UK Applied Aerodynamics Consortium.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
Auto-vectorizing a large-scale production unstructured-mesh CFD application
自动矢量化大规模生产非结构化网格 CFD 应用程序
DOI:
10.1145/2870650.2870651
发表时间:
2016
期刊:
影响因子:
--
作者:
[Mudalige G]
通讯作者:
Mudalige G
DOI:
10.1007/978-3-319-17248-4_5
发表时间:
2015
期刊:
影响因子:
--
作者:
[Mudalige G]
通讯作者:
Mudalige G
The OPS Domain Specific Abstraction for Multi-block Structured Grid Computations
多块结构化网格计算的 OPS 域特定抽象
DOI:
10.1109/wolfhpc.2014.7
发表时间:
2014
期刊:
影响因子:
--
作者:
[Reguly I]
通讯作者:
Reguly I
DOI:
10.1109/whpcf.2014.10
发表时间:
2014-11
期刊:
2014 Seventh Workshop on High Performance Computational Finance
影响因子:
--
作者:
[M. Giles;E. László;I. Reguly;J. Appleyard;Julien Demouth]
通讯作者:
M. Giles;E. László;I. Reguly;J. Appleyard;Julien Demouth
Large-scale performance of a DSL-based multi-block structured-mesh application for Direct Numerical Simulation
用于直接数值模拟的基于 DSL 的多块结构化网格应用程序的大规模性能
DOI:
10.1016/j.jpdc.2019.04.019
发表时间:
2019
期刊:
Journal of Parallel and Distributed Computing
影响因子:
3.8
作者:
[Mudalige G]
通讯作者:
Mudalige G
共 7 条
Maths Research Associates 2021 Oxford
-
批准号:EP/W522582/1
-
项目类别:Research Grant
-
资助金额:$89.19万
-
财政年份:2021
-
负责人:Mike Giles
-
依托单位:
JADE: Joint Academic Data science Endeavour
-
批准号:EP/P020275/1
-
项目类别:Research Grant
-
资助金额:$382.26万
-
财政年份:2016
-
负责人:Mike Giles
-
依托单位:
Algorithms and Software for Emerging Architectures (ASEArch)
-
批准号:EP/J010553/1
-
项目类别:Research Grant
-
资助金额:$62.3万
-
财政年份:2011
-
负责人:Mike Giles
-
依托单位:
Multilevel Monte Carlo Methods for Elliptic Problems with Applications to Radioactive Waste Disposal
-
批准号:EP/H05183X/1
-
项目类别:Research Grant
-
资助金额:$2.83万
-
财政年份:2011
-
负责人:Mike Giles
-
依托单位:
Multi-layered abstractions for PDEs
-
批准号:EP/I006079/1
-
项目类别:Research Grant
-
资助金额:$30.31万
-
财政年份:2010
-
负责人:Mike Giles
-
依托单位:
Research Cluster on the use of novel hardware for real-time computing for the Digital Economy
-
批准号:EP/G00210X/1
-
项目类别:Research Grant
-
资助金额:$21.06万
-
财政年份:2008
-
负责人:Mike Giles
-
依托单位:
Development of Multilevel Monte Carlo Algorithms for Mathematical Finance
-
批准号:EP/E031455/1
-
项目类别:Fellowship
-
资助金额:$9.5万
-
财政年份:2007
-
负责人:Mike Giles
-
依托单位:
海外基金