paperbot · PL 论文追踪

RSS

Static interpretation of higher-order modules in Futhark: functional GPU programming in the large

ICFP 2(ICFP)2018
Martin Elsman, Troels Henriksen, Danil Annenkov, Cosmin E. Oancea

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

We present a higher-order module system for the purely functional data-parallel array language Futhark. The module language has the property that it is completely eliminated at compile time, yet it serves as a powerful tool for organizing libraries and complete programs. The presentation includes a static and a dynamic semantics for the language in terms of, respectively, a static type system and a provably terminating elaboration of terms into terms of an underlying target language. The development is formalised in Coq using a novel encoding of semantic objects based on products, sets, and finite maps. The module language features a unified treatment of module type abstraction and core language polymorphism and is rich enough for expressing practical forms of module composition.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot299,
  title = {Static interpretation of higher-order modules in Futhark: functional GPU programming in the large},
  author = {Martin Elsman and Troels Henriksen and Danil Annenkov and Cosmin E. Oancea},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {ICFP},
  year = {2018},
  doi = {10.1145/3236792}
}