SI2-SSE: BONSAI: An Open Software Infrastructure for Parallel Autotuning of Computational Kernels
SI2-SSE: BONSAI: An Open Software Infrastructure for Parallel Autotuning of Computational Kernels
批准号:
1642441
负责人:
Jakub Kurzak
金额:
$50.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2016
资助国家:
美国
项目状态:
已结题
起止时间:
2016-11-01 至 2019-10-31
中文摘要
今天,大多数超级计算机通过使用多核处理器来加速计算,以解决科学和工程中的重要问题。虽然这降低了硬件系统的成本,但极大地增加了编写和优化(“调优”)软件的复杂性。该项目扩展了NSF之前资助的一个项目:Benchtest Environment for Automated Software Tuning(BEAST)计划,以创建一个允许软件半自动优化的软件工具包,从而减少编程开销。这个项目,Beast Open Software AutoTuning Infrastructure(盆景)将极大地提高科学家和工程师开发快速高效的程序来解决他们的问题的效率。盆景得到了各计算机处理器制造公司和学术机构的大力支持。盆景系统将作为学术和商业用途的开源软件提供,许多学生将接受使用该软件的培训。混合系统的出现和日益增长的主导地位结合了加速器处理器,如GPU和协处理器,这使得优化不同计算内核的性能变得更加困难,而在大多数研究应用程序中,这些内核完成了大部分工作。盆景项目旨在通过开发一个软件基础设施来为这个问题创造一个变革性的解决方案,该基础设施使用并行混合机器来实现对用于GPU加速器和多核协处理器的计算内核的大规模自动调优扫描。该系统将不仅仅是测量运行时间,允许从硬件性能计数器和功率表收集和分析非常大量的数据。该系统将采用模块化架构,依靠标准数据格式和接口轻松连接主流数据分析和可视化工具。盆景项目将利用Beast项目的经验,该项目建立了一种成功的自动调整方法,并验证了自动调整工作流程。Bonsai将为社区配备一个软件环境,用于将并行资源应用于计算内核的调优和性能分析。具体地说,这项工作将围绕以下目标进行组织:(1)强化和扩展称为BeastLang的编程语言,该语言是在先前的研究期间创建的,用于定义自动调整基础设施生成和探索的搜索空间。BeastLang使用户能够创建参数化的内核规范,这些规范编码了内核本身、编译工具和目标硬件之间的相互作用。它将与盆景的其他组件集成,其Python语法得到增强和扩展,其编译器得到改进,并得到一个运行时的补充,该运行时支持用于自动调优过程的多路并行。(2)使用大量的GPU加速器或多核协处理器,开发并测试大规模并行调谐扫描的基准测试引擎。该引擎将支持并行编译和结果内核的并行测试,使用许多分布式内存节点和每个节点内的多线程,并具有动态负载平衡。它将产生大量来自硬件计数器的性能信息,可能还有能量计,以及关于不同指令类的编译代码饱和程度的信息收集。(3)开发和测试用于收集、预处理和分析盆景性能数据的软件基础设施。该系统将a)简化安装内核的任务,并提供一个简单的界面,用于选择要收集的具有合理缺省值的指标;b)简化从各种开放源码和供应商特定的库中收集硬件计数器和性能数据的过程;c)提供工具,使用户能够快速有效地将输出数据转换为一种可使用主流工具(如R和Python)轻松读取和分析的格式。(4)记录和说明盆景调谐各种不同类型的内核的过程。这些模型案例研究将讨论如何应用BeastLang来创建参数化的内核模板,如何调用并行基准测试引擎来生成和探索搜索空间,以及如何分析和可视化从引擎操作中收集的数据,以获得可以纠正或改进另一次迭代过程的见解。盆景项目有可能通过以下方式从根本上改变自动调优研究:1)使来自广泛计算学科的广大开发人员都可以访问自动调优,而不是少数具有在连续执行范围内建立成功实验的魔法的选定个人。2)改变通常认为自动调优不仅仅是生成快速代码的手段,而是对复杂的软硬件交互进行性能分析和推理的通用技术,并将该技术定位为硬件-软件协同设计的主要工具之一。3)提高人们对探索被忽视的计算途径的兴趣,例如探索非正统的数据布局,并挑战传统软件界面的现状。盆景有潜力将自动调优带入软件开发的前沿,并帮助将自动调优定位为软件工程的支柱。
英文摘要
Most supercomputers today accelerate the computations by using processors with many cores to solve important problems in science and engineering. Although this reduces the cost of the hardware system, it greatly increases the complexity of writing and optimizing ("tuning") software. This project extends a previously funded NSF project: Benchtesting Environment for Automated Software Tuning (BEAST) program to create a software toolkit that allows for semi-automatic optimization of software, thereby reducing the programming overhead. This project, BEAST OpeN Software Autotuning Infrastructure (BONSAI) will greatly increase the efficiency of scientists and engineers to develop fast and efficient programs to solve their problems. BONSAI has tremendous support from various computer processor manufacturing companies and academic institutions. The BONSAI system will be available as open-source software for academic and commercial use and many students will be trained in using the software.The emergence and growing dominance of hybrid systems that incorporate accelerator processors, such as GPUs and coprocessors, have made it far more difficult to optimize the performance of the different computational kernels that do the majority of the work in most research applications. The BONSAI project aims to create a transformative solution to this problem by developing a software infrastructure that uses parallel hybrid machines to enable large autotuning sweeps on computational kernels for GPU accelerators and many-core coprocessors. The system will go beyond just measuring runtimes, allowing for collection and analysis of non-trivial amount of data from hardware performance counters and power meters. The system will have a modular architecture and rely on standard data formats and interfaces to easily connect with mainstream tools for data analytics and visualization. The BONSAI project will leverage the experiences of the BEAST project, which established a successful autotuning methodology and validated an autotuning workflow. BONSAI will equip the community with a software environment for applying parallel resources to the tuning and performance analysis of computational kernels. Specifically, the work will be organized around the following objectives: (1) Harden and extend the programming language called BeastLang, which was created during prior research as a way of defining the search space that the autotuning infrastructure generates and explores. BeastLang enables users to create parameterized kernel specifications that encode the interplay between the kernels themselves, the compilation tools, and the target hardware. It will be integrated with the other components of BONSAI, have its Python syntax enhanced and extended, its compiler improved, and be supplemented with a runtime that supports it with multi-way parallelism for the autotuning process. (2) Develop and test a benchtesting engine for making large scale parallel tuning sweeps, using large numbers of GPU accelerators or many-core coprocessors. This engine will support both parallel compilation and parallel tests of the resulting kernels, using many distributed memory nodes and multithreading within each node, with dynamic load balancing. It will produce an extensive collection of performance information from hardware counters, and possibly energy meters, as well as collection of information about the saturation of the compiled code with different classes of instructions. (3) Develop and test a software infrastructure for collecting, preprocessing, and analyzing BONSAI performance data. The system will a) simplify the task of instrumenting the kernel and provide a simple interface for selecting the metrics to be collected with sensible defaults; b) simplify the process of collecting hardware counters and performance data from various open source and vendor specific libraries; and c) provide tools that allow the user to quickly and efficiently transform output data to a format that can be easily read and analyzed using mainstream tools such as R and Python. (4) Document and illustrate the process of using BONSAI to tune various different types of kernels. These model case studies will include discussions of how BeastLang was applied to create the parameterized kernel stencil, how the parallel benchtesting engine is invoked to generate and explore the search space, and how the data collected from the operation of the engine can be analyzed and visualized to gain insights that can correct or refine the process for another iteration. The BONSAI project has the potential to fundamentally transform autotuning research by: 1) Making autotuning accessible to a broad audience of developers from a broad range of computing disciplines, as opposed to a few selected individuals with the wizardry to set up a successful experiment within the confines of serial execution. 2) Changing the general perception of autotuning as not just the means of producing fast code, but as a general technique for performance analysis and reasoning about the complex software and hardware interactions, and positioning the technique as one of primary tools for hardware-software co-design. 3) Boosting interest in exploring neglected avenues of computing, such as exploration of unorthodox data layouts, and challenge the status quo of legacy software interfaces. BONSAI has the potential to bring autotuning to the forefront of software development and to help position autotuning as a pillar of software engineering.
期刊论文(1)
专著(0)
科研奖励(0)
会议论文
Massively Parallel Automated Software Tuning
大规模并行自动化软件调优
DOI:
--
发表时间:
2019
期刊:
International Conference on Parallel Processing
影响因子:
--
作者:
[Kurzak, J., Tsai, M., Gates, M., Abdelfattah, A., Dongarra, J.]
通讯作者:
Dongarra, J.
国内基金
海外基金
登录
查看更多内容
化脓性链球菌分泌性酯酶Sse抑制LC3相关吞噬促其侵袭的机制研究
-
批准号:--
-
项目类别:青年科学基金项目
-
资助金额:30万元
-
批准年份:2022
-
负责人:张晓兰
-
依托单位:
太阳能电池Cu2ZnSn(SSe)4/CdS界面过渡层结构模拟及缺陷态消除研究
-
批准号:--
-
项目类别:面上项目
-
资助金额:55万元
-
批准年份:2022
-
负责人:刘成延
-
依托单位:
掺杂实现Cu2ZnSn(SSe)4吸收层表层稳定弱n型特性的第一性原理研究
-
批准号:12004100
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:刘成延
-
依托单位:
基于SSE的航空信息系统信息安全保障评价指标体系的研究
-
批准号:60776808
-
项目类别:联合基金项目
-
资助金额:19.0万元
-
批准年份:2007
-
负责人:吴志军
-
依托单位: