Differentiation-Enabled Compiler Technology (COMPAD-III)

支持微分的编译器技术 (COMPAD-III)

基本信息

  • 批准号:
    EP/F069383/1
  • 负责人:
  • 金额:
    $ 30.17万
  • 依托单位:
  • 依托单位国家:
    英国
  • 项目类别:
    Research Grant
  • 财政年份:
    2008
  • 资助国家:
    英国
  • 起止时间:
    2008 至 无数据
  • 项目状态:
    已结题

项目摘要

Given a Fortran program which evaluates numerically a scalar output y = f(x) from a vector x of input values, we are frequently interested in evaluating the gradient vector g = f '(x) whose components are the derivatives (sensitivities) dy/dx.Automatic Differentiation is a set of techniques for automatically transforming the program for evaluating f into a program for evaluating f '. In particular the adjoint, or reverse, mode of Automatic Differentiation can produce numerical values for all components of the gradient g at a computational cost of about three evaluations of f, even if there are millions of components in x and g. This is done by using the chain rule from calculus (but applied to floating point numerical values, rather than to symbolic expressions) so as to evaluate numerically the sensitivity of the output with respect to each floating point calculation performed. However, doing this requires making the program to run backwards, since these sensitivities must be evaluated starting with dy/dy = 1 and ending with dy/dx = g, which is the reverse order to the original calculation. It also requires the intermediate values calculated by f to be either stored on the forward pass, or recomputed on the reverse pass by the adjoint program. Phase II of the CompAD project has already produced the first industrial strength Fortran compiler in the world able to perform this adjoint transformation (and reverse program flow) automatically. Previous Automatic Differentiation tools used either overloading (which was hard to optimize) or source transformation (which could not directly utilize low level compiler facilities).The adjoint Fortran compiler produced by phase II is perfectly adequate for small to medium sized problems (up to a few hundred input variables), and meets the objectives of the second phase of the project. However even moderately large problems (many thousands of input variables) require the systematic use and placement of checkpoints, in order to manage efficiently the tradeoff between storage on the way forward and recomputation on the way back. With the present prototype, the user must place and manage these checkpoints explicitly. This is almost acceptable for experienced users with very large problems which they already understand well, but it is limiting and timeconsuming for users without previous experience of using Automatic Differentiation, and represents a barrier to the uptake of numerical methods based upon Automatic Differentiation. The objective of Phase III of the CompAD project is to automate the process of trading off storage and recomputation in a way which is close to optimal. Finding a tradeoff which is actually optimal is known to be an NP-hard problem, so we are seeking solutions which are almost optimal in a particular sense. Higher order derivatives (eg directional Hessians) can be generated automatically by feeding back into the compiler parts of its own output during the compilation process. We intend to improve the code transformation techniques used in the compiler to the point where almost optimally efficient higher order derivative code can be generated automatically in this way.A primary purpose of this project is to explore alternative algorithms and representations for program analysis and code transformation in order to solve certain hard problems and lay the groundwork for future progress with others. But we will be using some hard leading edge numerical applications from our industrial partners to guide and prove the new technology we develop, and the Fortran Compiler resulting from this phase of the project is designed to be of widespread direct use in Scientific Computing.
给定一个Fortran程序,它从输入值的向量x数值计算标量输出y = f(x),我们经常对计算梯度向量g = f '(x)感兴趣,其分量是导数(灵敏度)dy/dx。自动微分是一组自动将计算f的程序转换为计算f '的程序的技术。特别是,自动微分的伴随或反向模式可以以大约三次f的计算成本为梯度g的所有分量产生数值,即使x和g中有数百万个分量。这是通过使用微积分中的链式规则(但应用于浮点数值,而不是符号表达式)来完成的,以便用数字评估输出相对于所执行的每个浮点计算的灵敏度。然而,这样做需要使程序向后运行,因为这些灵敏度必须从dy/dy = 1开始计算,并以dy/dx = g结束,这与原始计算顺序相反。它还要求由f计算的中间值要么存储在前向传递中,要么由伴随程序在反向传递中重新计算。CompAD项目的第二阶段已经产生了世界上第一个能够自动执行这种伴随转换(和反向程序流)的工业级Fortran编译器。以前的自动微分工具要么使用重载(这是很难优化)或源转换(不能直接利用低级别的编译器设施)。第二阶段产生的伴随Fortran编译器是完全足够的小到中型的问题(高达几百个输入变量),并满足该项目的第二阶段的目标。然而,即使是中等规模的问题(数千个输入变量)也需要系统地使用和放置检查点,以便有效地管理前进道路上的存储和返回道路上的重新计算之间的权衡。使用本原型,用户必须明确地放置和管理这些检查点。对于有经验的用户来说,这几乎是可以接受的,他们已经很好地理解了非常大的问题,但对于没有使用自动微分的经验的用户来说,这是有限的和耗时的,并且代表了基于自动微分的数值方法的吸收的障碍。CompAD项目第三阶段的目标是以接近最佳的方式使存储和重新计算的权衡过程自动化。找到一个实际上是最优的折衷方案是一个NP难题,所以我们正在寻找在某种意义上几乎是最优的解决方案。高阶导数(例如方向海森)可以通过在编译过程中将其自身输出的一部分反馈到编译器中来自动生成。我们打算改进编译器中使用的代码转换技术,以这种方式自动生成几乎最优效率的高阶导数代码。本项目的主要目的是探索程序分析和代码转换的替代算法和表示,以解决某些困难的问题,并为将来的进展奠定基础。但我们将使用来自我们的工业合作伙伴的一些硬前沿数值应用程序来指导和证明我们开发的新技术,而项目这一阶段产生的Fortran编译器旨在广泛直接用于科学计算。

项目成果

期刊论文数量(10)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Recent Advances in Parallel Virtual Machine and Message Passing Interface - 15th European PVM/MPI Users' Group Meeting, Dublin, Ireland, September 7-10, 2008. Proceedings
并行虚拟机和消息传递接口的最新进展 - 第 15 届欧洲 PVM/MPI 用户组会议,爱尔兰都柏林,2008 年 9 月 7-10 日。
  • DOI:
    10.1007/978-3-540-87475-1_44
  • 发表时间:
    2008
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Naumann U
  • 通讯作者:
    Naumann U
Global convergence using de-linked Goldstein or Wolfe linesearch conditions
使用去链接的 Goldstein 或 Wolfe 线性搜索条件进行全局收敛
On optimality preserving eliminations for the minimum edge count and optimal Jacobian accumulation problems in linearized DAGs
线性化 DAG 中最小边数和最优雅可比累积问题的最优保留消除
Uncertainty quantification based on forward sensitivity analysis in Sisyphe
Sisyphe中基于前向敏感性分析的不确定性量化
  • DOI:
  • 发表时间:
    2010
  • 期刊:
  • 影响因子:
    0
  • 作者:
    R Kopman
  • 通讯作者:
    R Kopman
Combinatorial Scientific Computing
组合科学计算
  • DOI:
    10.1201/b11644-6
  • 发表时间:
    2012
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Naumann U
  • 通讯作者:
    Naumann U
{{ 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 }}

Bruce Christianson其他文献

A comparison of methods for traversing regions of non-convexity in optimization problems
  • DOI:
    10.1007/s11075-019-00811-w
  • 发表时间:
    2019-11-13
  • 期刊:
  • 影响因子:
    2.000
  • 作者:
    Michael Bartholomew-Biggs;Salah Beddiaf;Bruce Christianson
  • 通讯作者:
    Bruce Christianson
Global convergence of a curvilinear search for non-convex optimization
  • DOI:
    10.1007/s11075-022-01375-y
  • 发表时间:
    2022-08-26
  • 期刊:
  • 影响因子:
    2.000
  • 作者:
    Michael Bartholomew-Biggs;Salah Beddiaf;Bruce Christianson
  • 通讯作者:
    Bruce Christianson

Bruce Christianson的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Bruce Christianson', 18)}}的其他基金

Toward an Industrial Strength Automatic Differentiation Product
迈向工业级自动差异化产品
  • 批准号:
    EP/J013358/1
  • 财政年份:
    2012
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Research Grant
Differentiation-Enabled Fortran 95 Compiler Technology (CompAD-II)
支持差异化的 Fortran 95 编译器技术 (CompAD-II)
  • 批准号:
    EP/D062071/1
  • 财政年份:
    2006
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Research Grant

相似海外基金

M2DESCO - Computational Multimode Modelling Enabled Design of Safe & Sustainable Multi-Component High-Entropy Coatings
M2DESCO - 计算多模式建模支持安全设计
  • 批准号:
    10096988
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    EU-Funded
6G Goal-Oriented AI-enabled Learning and Semantic Communication Networks (6G Goals)
6G目标导向的人工智能学习和语义通信网络(6G目标)
  • 批准号:
    10110118
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    EU-Funded
Low Carbon Impact AI-Enabled Net Zero Advisory Solution
低碳影响人工智能支持的净零咨询解决方案
  • 批准号:
    10112272
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    SME Support
N2Vision+: A robot-enabled, data-driven machine vision tool for nitrogen diagnosis of arable soils
N2Vision:一种由机器人驱动、数据驱动的机器视觉工具,用于耕地土壤的氮诊断
  • 批准号:
    10091423
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Collaborative R&D
CBET-EPSRC: TECAN - Telemetry-Enabled Carbon Aware Networking
CBET-EPSRC:TECAN - 支持遥测的碳感知网络
  • 批准号:
    EP/X040828/1
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Research Grant
Collaborative Research: GEO OSE Track 2: Developing CI-enabled collaborative workflows to integrate data for the SZ4D (Subduction Zones in Four Dimensions) community
协作研究:GEO OSE 轨道 2:开发支持 CI 的协作工作流程以集成 SZ4D(四维俯冲带)社区的数据
  • 批准号:
    2324714
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Standard Grant
RII Track-4:NSF: Design of zeolite-encapsulated metal phthalocyanines catalysts enabled by insights from synchrotron-based X-ray techniques
RII Track-4:NSF:通过基于同步加速器的 X 射线技术的见解实现沸石封装金属酞菁催化剂的设计
  • 批准号:
    2327267
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Standard Grant
CAREER: Data-Enabled Neural Multi-Step Predictive Control (DeMuSPc): a Learning-Based Predictive and Adaptive Control Approach for Complex Nonlinear Systems
职业:数据支持的神经多步预测控制(DeMuSPc):一种用于复杂非线性系统的基于学习的预测和自适应控制方法
  • 批准号:
    2338749
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Standard Grant
Collaborative Research: Spintronics Enabled Stochastic Spiking Neural Networks with Temporal Information Encoding
合作研究:自旋电子学支持具有时间信息编码的随机尖峰神经网络
  • 批准号:
    2333881
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Standard Grant
Collaborative Research: Spintronics Enabled Stochastic Spiking Neural Networks with Temporal Information Encoding
合作研究:自旋电子学支持具有时间信息编码的随机尖峰神经网络
  • 批准号:
    2333882
  • 财政年份:
    2024
  • 资助金额:
    $ 30.17万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了