0
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      WaveCert: Formal Compiler Validation for Asynchronous Dataflow Programs

      Preprint
      , ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Coarse-grained reconfigurable arrays (CGRAs), or dataflow architectures in general, have gained attention in recent years due to their promising power efficiency compared to traditional von Neumann architectures. To program these architectures using ordinary languages such as C, a dataflow compiler must transform the original sequential, imperative program into an equivalent dataflow graph, composed of dataflow operators running in parallel. This transformation is challenging since the asynchronous nature of dataflow graphs allows out-of-order execution of operators, leading to behaviors not present in the original imperative programs. We address this challenge by developing a translation validation technique for dataflow compilers to ensure that the dataflow program has the same behavior as the original imperative program on all possible inputs and schedules of execution. We apply this method to a state-of-the-art dataflow compiler targeting the RipTide CGRA architecture. Our tool uncovers 7 compiler bugs where the compiler outputs incorrect dataflow graphs, including a data race that is otherwise hard to discover via testing. After repairing these bugs, our tool verifies the correct compilation of all programs in the RipTide benchmark suite.

          Related collections

          Author and article information

          Journal
          14 December 2023
          Article
          2312.09326
          d5131c2e-ddf0-4e27-af68-0cdf4083a640

          http://creativecommons.org/licenses/by/4.0/

          History
          Custom metadata
          cs.PL cs.AR

          Programming languages,Hardware architecture
          Programming languages, Hardware architecture

          Comments

          Comment on this article