SI2-SSE: BONSAI: An Open Software Infrastructure for Parallel Autotuning of Computational Kernels
SI2-SSE:BONSAI:用于计算内核并行自动调整的开放软件基础设施
基本信息
- 批准号:1642441
- 负责人:
- 金额:$ 50万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Standard Grant
- 财政年份:2016
- 资助国家:美国
- 起止时间:2016-11-01 至 2019-10-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
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.
如今,大多数超级计算机通过使用带有许多核心的处理器来解决科学和工程中的重要问题来加速计算。尽管这降低了硬件系统的成本,但它大大增加了写作和优化(“调整”)软件的复杂性。该项目扩展了一个先前资助的NSF项目:用于自动软件调整(BEAST)程序的台式测试环境,以创建一个软件工具包,允许对软件进行半自动优化,从而减少了编程开销。该项目,Beast Open软件自动调整基础设施(盆景)将大大提高科学家和工程师开发快速有效的计划以解决其问题的效率。盆景得到了各种计算机处理器制造公司和学术机构的大力支持。盆景系统将作为用于学术和商业用途的开源软件,许多学生将接受使用该软件的培训。结合加速器处理器的混合系统的出现和越来越多的主导地位,例如GPU和Coprocessors,它使得在大多数研究中使用大多数工作的不同计算内核的性能优化了更难的优化。盆景项目旨在通过开发使用并行混合机器的软件基础架构来为该问题创建一个变革性的解决方案,以使GPU加速器和许多核心协调器对计算内核进行大量自动扫描。该系统将不仅可以测量运行时,还可以从硬件性能计数器和电力计收集和分析非平凡的数据。该系统将具有模块化体系结构,并依靠标准数据格式和接口,以轻松与主流工具连接以进行数据分析和可视化。盆景项目将利用野兽项目的经验,该项目建立了成功的自动调节方法,并验证了自动调整工作流程。盆景将为社区配备一个软件环境,以将并行资源应用于计算内核的调整和性能分析。具体而言,这项工作将围绕以下目标进行组织:(1)硬化并扩展了称为Beastlang的编程语言,该语言是在先前的研究中创建的,以定义自动基础架构生成和探索的搜索空间。 Beastlang使用户能够创建参数化的内核规范,以编码内核本身,编译工具和目标硬件之间的相互作用。它将与盆景的其他组件集成,具有其Python语法增强和扩展,其编译器得到了改进,并补充了一个运行时,该运行时以多路并行性为自动调整过程提供支持。 (2)使用大量的GPU加速器或多核协处理器开发和测试用于进行大规模平行调整的台式引擎。该发动机将使用许多分布式内存节点和每个节点内的多线程,并通过动态负载平衡来支持所得内核的并行汇编和并行测试。它将从硬件计数器及可能的能量计中收集大量的性能信息,并收集有关使用不同类别的说明的编译代码饱和的信息。 (3)开发和测试用于收集,预处理和分析盆景性能数据的软件基础架构。系统将a)简化仪器内核的任务,并提供一个简单的接口,以选择要使用明智的默认值收集的指标; b)简化从各种开源和供应商特定库中收集硬件计数器和性能数据的过程; c)提供工具,使用户可以快速有效地将输出数据转换为可以使用主流工具(例如R和Python)轻松读取和分析的格式。 (4)记录并说明使用盆景调整各种不同类型内核的过程。这些模型案例研究将包括有关如何应用Beastlang来创建参数化的内核模板的讨论,如何调用并行的台式测试引擎来生成和探索搜索空间,以及如何分析和可视化从发动机运行中收集的数据,以获取可以纠正或完善另一个迭代过程的见解。盆景项目有可能从根本上转变自动调整研究:1)从广泛的计算学科中,与少数具有Wizardry的选择的人可以从广泛的计算学科中访问自动调整,以在血清执行的范围内建立成功的实验。 2)将自动调整的一般感知不仅仅是生成快速代码的手段,还将其作为一种通用技术,用于性能分析和有关复杂软件和硬件交互的推理,并将该技术定位为硬件软件co-Design的主要工具之一。 3)提高对探索被忽视的计算途径的兴趣,例如探索非正统数据布局,并挑战旧软件界面的现状。盆景有可能使自动传动成为软件开发的最前沿,并有助于将自动调整作为软件工程的支柱。
项目成果
期刊论文数量(1)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Massively Parallel Automated Software Tuning
大规模并行自动化软件调优
- DOI:
- 发表时间:2019
- 期刊:
- 影响因子:0
- 作者:Kurzak, J.;Tsai, M.;Gates, M.;Abdelfattah, A.;Dongarra, J.
- 通讯作者:Dongarra, J.
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Jakub Kurzak其他文献
Jakub Kurzak的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
相似国自然基金
化脓性链球菌分泌性酯酶Sse抑制LC3相关吞噬促其侵袭的机制研究
- 批准号:82202525
- 批准年份:2022
- 资助金额:30.00 万元
- 项目类别:青年科学基金项目
化脓性链球菌分泌性酯酶Sse抑制LC3相关吞噬促其侵袭的机制研究
- 批准号:
- 批准年份:2022
- 资助金额:30 万元
- 项目类别:青年科学基金项目
太阳能电池Cu2ZnSn(SSe)4/CdS界面过渡层结构模拟及缺陷态消除研究
- 批准号:12274114
- 批准年份:2022
- 资助金额:55.00 万元
- 项目类别:面上项目
太阳能电池Cu2ZnSn(SSe)4/CdS界面过渡层结构模拟及缺陷态消除研究
- 批准号:
- 批准年份:2022
- 资助金额:55 万元
- 项目类别:面上项目
掺杂实现Cu2ZnSn(SSe)4吸收层表层稳定弱n型特性的第一性原理研究
- 批准号:
- 批准年份:2020
- 资助金额:24 万元
- 项目类别:青年科学基金项目
相似海外基金
異常検知手法と大気ノイズ補正を併用したInSAR時系列による未知のSSE検出手法の確立
利用异常检测方法和大气噪声校正建立利用InSAR时间序列的未知SSE检测方法
- 批准号:
24K07168 - 财政年份:2024
- 资助金额:
$ 50万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
A study on vibration theory for defect detection by acoustic excitation using SSE analysis
基于SSE分析的声激励缺陷检测振动理论研究
- 批准号:
23K03995 - 财政年份:2023
- 资助金额:
$ 50万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Revealing spatiotemporal slow slip evolution at higher temporal resolution by kinematic GNSS
通过运动 GNSS 揭示更高时间分辨率的时空慢滑演化
- 批准号:
21K14007 - 财政年份:2022
- 资助金额:
$ 50万 - 项目类别:
Grant-in-Aid for Early-Career Scientists
Study on defect detection by spatial spectral entropy (SSE) and healthy part evaluation for noncontact acoustic inspection
非接触声学检测中空间谱熵(SSE)缺陷检测和健康部位评估研究
- 批准号:
19K04414 - 财政年份:2019
- 资助金额:
$ 50万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Numerical simulations of earthquake and SSE triggering by dynamic stress changes
动态应力变化引发地震和SSE的数值模拟
- 批准号:
18K03775 - 财政年份:2018
- 资助金额:
$ 50万 - 项目类别:
Grant-in-Aid for Scientific Research (C)