English
Related papers

Related papers: AD for an Array Language with Nested Parallelism

200 papers

The Hessian-vector product computation appears in many scientific applications such as in optimization and finite element modeling. Often there is a need for computing Hessian-vector products at many data points concurrently. We propose an…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-31 Desh Ranjan , Mohammad Zubair

We apply program verification technology to the problem of specifying and verifying automatic differentiation (AD) algorithms. We focus on define-by-run, a style of AD where the program that must be differentiated is executed and monitored…

Logic in Computer Science · Computer Science 2024-02-14 Paulo Emílio de Vilhena , François Pottier

Algorithmic Differentiation (AD) can be used to automate the generation of derivatives in arbitrary software projects. This will generate maintainable derivatives, that are always consistent with the computation of the software. If a domain…

Mathematical Software · Computer Science 2018-03-13 Max Sagebaum , Nicolas R. Gauger

Edge detection is a fundamental image analysis task that underpins numerous high-level vision applications. Recent advances in Transformer architectures have significantly improved edge quality by capturing long-range dependencies, but this…

Computer Vision and Pattern Recognition · Computer Science 2026-03-31 Yuhan Gao , Xinqing Li , Xin He , Bing Li , Xinzhong Zhu , Ming-Ming Cheng , Yun Liu

Building on the observation that reverse-mode automatic differentiation (AD) -- a generalisation of backpropagation -- can naturally be expressed as pullbacks of differential 1-forms, we design a simple higher-order programming language…

Programming Languages · Computer Science 2020-02-20 Carol Mak , Luke Ong

Stencil loops are a common motif in computations including convolutional neural networks, structured-mesh solvers for partial differential equations, and image processing. Stencil loops are easy to parallelise, and their fast execution is…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-07-08 Jan Hückelheim , Navjot Kukreja , Sri Hari Krishna Narayanan , Fabio Luporini , Gerard Gorman , Paul Hovland

This paper presents Automatic Algorithm Discoverer (AAD), an evolutionary framework for synthesizing programs of high complexity. To guide evolution, prior evolutionary algorithms have depended on fitness (objective) functions, which are…

Neural and Evolutionary Computing · Computer Science 2019-04-08 Ruchira Sasanka , Konstantinos Krommydas

Automatic differentiation (AD), a technique for constructing new programs which compute the derivative of an original program, has become ubiquitous throughout scientific computing and deep learning due to the improved performance afforded…

Machine Learning · Computer Science 2023-01-10 Gaurav Arya , Moritz Schauer , Frank Schäfer , Chris Rackauckas

We present a system for the automatic differentiation of a higher-order functional array-processing language. The core functional language underlying this system simultaneously supports both source-to-source automatic differentiation and…

Mathematical Software · Computer Science 2018-06-07 Amir Shaikhha , Andrew Fitzgibbon , Dimitrios Vytiniotis , Simon Peyton Jones , Christoph Koch

Code completion tools are frequently used by software developers to accelerate software development by suggesting the following code elements. Completing a sequence of code tokens (e.g., a full line of code) has been proved more efficient…

Software Engineering · Computer Science 2022-04-22 Fang Liu , Zhiyi Fu , Ge Li , Zhi Jin , Hui Liu , Yiyang Hao

In science and engineering, intelligent processing of complex signals such as images, sound or language is often performed by a parameterized hierarchy of nonlinear processing layers, sometimes biologically inspired. Hierarchical systems…

Machine Learning · Computer Science 2012-12-27 Miguel Á. Carreira-Perpiñán , Weiran Wang

We propose both serial and parallel proximal (linearized) alternating direction method of multipliers (ADMM) algorithms for training residual neural networks. In contrast to backpropagation-based approaches, our methods inherently mitigate…

Machine Learning · Computer Science 2025-04-01 Jintao Xu , Yifei Li , Wenxun Xing

Due to their growing popularity and computational cost, deep neural networks (DNNs) are being targeted for hardware acceleration. A popular architecture for DNN acceleration, adopted by the Google Tensor Processing Unit (TPU), utilizes a…

Machine Learning · Computer Science 2018-02-20 Jeff Zhang , Tianyu Gu , Kanad Basu , Siddharth Garg

We present semantic correctness proofs of forward-mode Automatic Differentiation (AD) for languages with sources of partiality such as partial operations, lazy conditionals on real parameters, iteration, and term and type recursion. We…

Programming Languages · Computer Science 2024-05-28 Matthijs Vákár

Automatic differentiation (AD) aims to compute derivatives of user-defined functions, but in Turing-complete languages, this simple specification does not fully capture AD's behavior: AD sometimes disagrees with the true derivative of a…

Programming Languages · Computer Science 2021-12-07 Alexander K. Lew , Mathieu Huot , Vikash K. Mansinghka

In arbitrary-order language models, it is an open question how to sample tokens in parallel from the correct joint distribution. With discrete diffusion models, the more tokens they generate in parallel, the less their predicted…

Machine Learning · Computer Science 2025-04-30 Gabe Guo , Stefano Ermon

We consider the problem of maximum a posteriori (MAP) inference in discrete graphical models. We present a parallel MAP inference algorithm called Bethe-ADMM based on two ideas: tree-decomposition of the graph and the alternating direction…

Artificial Intelligence · Computer Science 2013-09-27 Qiang Fu , Huahua Wang , Arindam Banerjee

Algorithmic differentiation (AD) allows exact computation of derivatives given only an implementation of an objective function. Although many AD tools are available, a proper and efficient implementation of AD methods is not…

Mathematical Software · Computer Science 2018-07-27 Filip Šrajer , Zuzana Kukelova , Andrew Fitzgibbon

There are billions of lines of sequential code inside nowadays' software which do not benefit from the parallelism available in modern multicore architectures. Automatically parallelizing sequential code, to promote an efficient use of the…

Programming Languages · Computer Science 2016-04-13 Alcides Fonseca , Bruno Cabral , João Rafael , Ivo Correia

This paper presents reverse-mode algorithmic differentiation (AD) based on source code transformation, in particular of the Static Single Assignment (SSA) form used by modern compilers. The approach can support control flow, nesting,…

Programming Languages · Computer Science 2019-03-12 Michael Innes