当前位置: X-MOL 学术J. Funct. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Lambda calculus with algebraic simplification for reduction parallelisation: Extended study
Journal of Functional Programming ( IF 1.1 ) Pub Date : 2021-04-05 , DOI: 10.1017/s0956796821000058
AKIMASA MORIHATA

Parallel reduction is a major component of parallel programming and widely used for summarisation and aggregation. It is not well understood, however, what sorts of non-trivial summarisations can be implemented as parallel reductions. This paper develops a calculus named λAS, a simply typed lambda calculus with algebraic simplification. This calculus provides a foundation for studying a parallelisation of complex reductions by equational reasoning. Its key feature is δ abstraction. A δ abstraction is observationally equivalent to the standard λ abstraction, but its body is simplified before the arrival of its arguments using algebraic properties such as associativity and commutativity. In addition, the type system of λAS guarantees that simplifications due to δ abstractions do not lead to serious overheads. The usefulness of λAS is demonstrated on examples of developing complex parallel reductions, including those containing more than one reduction operator, loops with conditional jumps, prefix sum patterns and even tree manipulations.

中文翻译:

用于减少并行化的代数简化的 Lambda 演算:扩展研究

并行归约是并行编程的主要组成部分,广泛用于汇总和聚合。然而,人们还不太清楚,什么样的非平凡总结可以作为并行归约来实现。本文开发了一个名为 λ 的微积分作为,具有代数简化的简单类型 lambda 演算。该演算为通过等式推理研究复杂归约的并行化提供了基础。它的关键特征是 δ 抽象。δ 抽象在观察上等同于标准 λ 抽象,但它的主体在其参数到达之前使用诸如关联性和交换性之类的代数属性进行了简化。此外,λ 的类型系统作为保证由于 δ 抽象而导致的简化不会导致严重的开销。λ 的有用性作为在开发复杂并行归约的示例中进行了演示,包括包含多个归约运算符的示例、带有条件跳转的循环、前缀和模式甚至树操作。
更新日期:2021-04-05
down
wechat
bug