IDEAS home Printed from https://ideas.repec.org/a/gam/jmathe/v9y2021i19p2368-d642071.html
   My bibliography  Save this article

Representing Integer Sequences Using Piecewise-Affine Loops

Author

Listed:
  • Gabriel Rodríguez

    (CITIC, Computer Architecture Group, Universidade da Coruña, 15071 A Coruña, Spain)

  • Louis-Noël Pouchet

    (Department of Computer Science, Colorado State University, Fort Collins, CO 80523, USA)

  • Juan Touriño

    (CITIC, Computer Architecture Group, Universidade da Coruña, 15071 A Coruña, Spain)

Abstract

A formal, high-level representation of programs is typically needed for static and dynamic analyses performed by compilers. However, the source code of target applications is not always available in an analyzable form, e.g., to protect intellectual property. To reason on such applications, it becomes necessary to build models from observations of its execution. This paper details an algebraic approach which, taking as input the trace of memory addresses accessed by a single memory reference, synthesizes an affine loop with a single perfectly nested reference that generates the original trace. This approach is extended to support the synthesis of unions of affine loops, useful for minimally modeling traces generated by automatic transformations of polyhedral programs, such as tiling. The resulting system is capable of processing hundreds of gigabytes of trace data in minutes, minimally reconstructing 100% of the static control parts in PolyBench/C applications and 99.99% in the Pluto-tiled versions of these benchmarks. As an application example of the trace modeling method, trace compression is explored. The affine representations built for the memory traces of PolyBench/C codes achieve compression factors of the order of 10 6 and 10 3 with respect to gzip for the original and tiled versions of the traces, respectively.

Suggested Citation

  • Gabriel Rodríguez & Louis-Noël Pouchet & Juan Touriño, 2021. "Representing Integer Sequences Using Piecewise-Affine Loops," Mathematics, MDPI, vol. 9(19), pages 1-29, September.
  • Handle: RePEc:gam:jmathe:v:9:y:2021:i:19:p:2368-:d:642071
    as

    Download full text from publisher

    File URL: https://www.mdpi.com/2227-7390/9/19/2368/pdf
    Download Restriction: no

    File URL: https://www.mdpi.com/2227-7390/9/19/2368/
    Download Restriction: no
    ---><---

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jmathe:v:9:y:2021:i:19:p:2368-:d:642071. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    We have no bibliographic references for this item. You can help adding them by using this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.