IDEAS home Printed from https://ideas.repec.org/a/wsi/ijmpcx/v28y2017i05ns0129183117500632.html
   My bibliography  Save this article

Design and optimization of a portable LQCD Monte Carlo code using OpenACC

Author

Listed:
  • Claudio Bonati

    (Università di Pisa, Lungarno Antonio Pacinotti, 43, 56126, Pisa, Italy†INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy)

  • Simone Coscetti

    (#x2020;INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy)

  • Massimo D’Elia

    (Università di Pisa, Lungarno Antonio Pacinotti, 43, 56126, Pisa, Italy†INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy)

  • Michele Mesiti

    (Università di Pisa, Lungarno Antonio Pacinotti, 43, 56126, Pisa, Italy†INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy)

  • Francesco Negro

    (#x2020;INFN Sezione di Pisa, Edificio C, Largo Pontecorvo 3, I-56127 Pisa, Italy)

  • Enrico Calore

    (Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy)

  • Sebastiano Fabio Schifano

    (Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy)

  • Giorgio Silvi

    (Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy)

  • Raffaele Tripiccione

    (Università degli Studi di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy4INFN Sezione di Ferrara, Via Saragat 1, I-44122 Ferrara, Italy)

Abstract

The present panorama of HPC architectures is extremely heterogeneous, ranging from traditional multi-core CPU processors, supporting a wide class of applications but delivering moderate computing performance, to many-core Graphics Processor Units (GPUs), exploiting aggressive data-parallelism and delivering higher performances for streaming computing applications. In this scenario, code portability (and performance portability) become necessary for easy maintainability of applications; this is very relevant in scientific computing where code changes are very frequent, making it tedious and prone to error to keep different code versions aligned. In this work, we present the design and optimization of a state-of-the-art production-level LQCD Monte Carlo application, using the directive-based OpenACC programming model. OpenACC abstracts parallel programming to a descriptive level, relieving programmers from specifying how codes should be mapped onto the target architecture. We describe the implementation of a code fully written in OpenAcc, and show that we are able to target several different architectures, including state-of-the-art traditional CPUs and GPUs, with the same code. We also measure performance, evaluating the computing efficiency of our OpenACC code on several architectures, comparing with GPU-specific implementations and showing that a good level of performance-portability can be reached.

Suggested Citation

  • Claudio Bonati & Simone Coscetti & Massimo D’Elia & Michele Mesiti & Francesco Negro & Enrico Calore & Sebastiano Fabio Schifano & Giorgio Silvi & Raffaele Tripiccione, 2017. "Design and optimization of a portable LQCD Monte Carlo code using OpenACC," International Journal of Modern Physics C (IJMPC), World Scientific Publishing Co. Pte. Ltd., vol. 28(05), pages 1-26, May.
  • Handle: RePEc:wsi:ijmpcx:v:28:y:2017:i:05:n:s0129183117500632
    DOI: 10.1142/S0129183117500632
    as

    Download full text from publisher

    File URL: http://www.worldscientific.com/doi/abs/10.1142/S0129183117500632
    Download Restriction: Access to full text is restricted to subscribers

    File URL: https://libkey.io/10.1142/S0129183117500632?utm_source=ideas
    LibKey link: if access is restricted and if your library uses this service, LibKey will redirect you to where you can use your library subscription to access this item
    ---><---

    As the access to this document is restricted, you may want to search for a different version of it.

    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:wsi:ijmpcx:v:28:y:2017:i:05:n:s0129183117500632. 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: Tai Tone Lim (email available below). General contact details of provider: http://www.worldscinet.com/ijmpc/ijmpc.shtml .

    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.