S6540 Need for Speed: Accelerating S6540 High-Accuracy Quantum Chemistry Need for Speed: Accelerating High-Accuracy using OpenACC Directives Quantum Chemistry using OpenACC Janus J. Eriksen Directives Motivation OpenACC compiler directives The Schr¨ odinger equation Coupled cluster methods One- and N -electron expansions OpenACC implementations Janus J. Eriksen Calculations Results qLEAP Center for Theoretical Chemistry, Department of Chemistry, Conclusions & Aarhus University, Langelandsgade 140, DK–8000 Aarhus C, Denmark outlook Acknowledgments GPU Technology Conference 2016 San Jose, CA, April 2016
S6540 Motivation Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives “Theoretical chemistry could be seen as a bridge from the Janus J. Eriksen real physics of the physicists to the real chemistry of the experimental chemists.” Motivation OpenACC compiler — Pekka Pyykk¨ o, Chem. Rev. 112, 1 (2012) directives The Schr¨ odinger equation Coupled cluster methods One- and N -electron expansions OpenACC implementations Calculations Results Conclusions & outlook Acknowledgments
S6540 Motivation Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ Domain scientists are forced to care as much about their Motivation scientific output as on the implementation of a given method. OpenACC compiler ◮ Accelerated code should be relatively easy to write (from directives scratch), extend, and maintain (possibly by others). The Schr¨ odinger equation ◮ Many codes (like ours) are platform-independent, so portability Coupled cluster methods is of key importance. One- and N -electron ◮ Any addition of accelerated code must not interfere with the expansions OpenACC standard compilation process. implementations Calculations OpenACC accelerator directives as an alternative to CUDA C Results Conclusions & outlook Acknowledgments
S6540 Motivation Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ Domain scientists are forced to care as much about their Motivation scientific output as on the implementation of a given method. OpenACC compiler ◮ Accelerated code should be relatively easy to write (from directives scratch), extend, and maintain (possibly by others). The Schr¨ odinger equation ◮ Many codes (like ours) are platform-independent, so portability Coupled cluster methods is of key importance. One- and N -electron ◮ Any addition of accelerated code must not interfere with the expansions OpenACC standard compilation process. implementations Calculations OpenACC accelerator directives as an alternative to CUDA C Results Conclusions & outlook Acknowledgments
S6540 Motivation Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ Domain scientists are forced to care as much about their Motivation scientific output as on the implementation of a given method. OpenACC compiler ◮ Accelerated code should be relatively easy to write (from directives scratch), extend, and maintain (possibly by others). The Schr¨ odinger equation ◮ Many codes (like ours) are platform-independent, so portability Coupled cluster methods is of key importance. One- and N -electron ◮ Any addition of accelerated code must not interfere with the expansions OpenACC standard compilation process. implementations Calculations OpenACC accelerator directives as an alternative to CUDA C Results Conclusions & outlook Acknowledgments
S6540 Motivation Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ Domain scientists are forced to care as much about their Motivation scientific output as on the implementation of a given method. OpenACC compiler ◮ Accelerated code should be relatively easy to write (from directives scratch), extend, and maintain (possibly by others). The Schr¨ odinger equation ◮ Many codes (like ours) are platform-independent, so portability Coupled cluster methods is of key importance. One- and N -electron ◮ Any addition of accelerated code must not interfere with the expansions OpenACC standard compilation process. implementations Calculations OpenACC accelerator directives as an alternative to CUDA C Results Conclusions & outlook Acknowledgments
S6540 Motivation Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ Domain scientists are forced to care as much about their Motivation scientific output as on the implementation of a given method. OpenACC compiler ◮ Accelerated code should be relatively easy to write (from directives scratch), extend, and maintain (possibly by others). The Schr¨ odinger equation ◮ Many codes (like ours) are platform-independent, so portability Coupled cluster methods is of key importance. One- and N -electron ◮ Any addition of accelerated code must not interfere with the expansions OpenACC standard compilation process. implementations Calculations OpenACC accelerator directives as an alternative to CUDA C Results Conclusions & outlook Acknowledgments
S6540 OpenACC compiler directives Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ OpenACC-accelerated code will be based on original source. Motivation OpenACC compiler ◮ In turn, this makes the implementation intuitively directives transparent and thus easier to maintain and extend. The Schr¨ odinger ◮ Like with OpenMP equation , OpenACC directives are treated as Coupled cluster mere comments to non-accelerating compilers (portability). methods ◮ The programmer leaves most of the hard work to the compilers One- and N -electron expansions (i.e., the current and future developers of these). OpenACC implementations ◮ Accelerated code should preferably be easy and fast to Calculations implement (Amdahl’s law). Results Conclusions & outlook Acknowledgments
S6540 OpenACC compiler directives Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ OpenACC-accelerated code will be based on original source. Motivation OpenACC compiler ◮ In turn, this makes the implementation intuitively directives transparent and thus easier to maintain and extend. The Schr¨ odinger ◮ Like with OpenMP equation , OpenACC directives are treated as Coupled cluster mere comments to non-accelerating compilers (portability). methods ◮ The programmer leaves most of the hard work to the compilers One- and N -electron expansions (i.e., the current and future developers of these). OpenACC implementations ◮ Accelerated code should preferably be easy and fast to Calculations implement (Amdahl’s law). Results Conclusions & outlook Acknowledgments
S6540 OpenACC compiler directives Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ OpenACC-accelerated code will be based on original source. Motivation OpenACC compiler ◮ In turn, this makes the implementation intuitively directives transparent and thus easier to maintain and extend. The Schr¨ odinger ◮ Like with OpenMP equation , OpenACC directives are treated as Coupled cluster mere comments to non-accelerating compilers (portability). methods ◮ The programmer leaves most of the hard work to the compilers One- and N -electron expansions (i.e., the current and future developers of these). OpenACC implementations ◮ Accelerated code should preferably be easy and fast to Calculations implement (Amdahl’s law). Results Conclusions & outlook Acknowledgments
S6540 OpenACC compiler directives Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ OpenACC-accelerated code will be based on original source. Motivation OpenACC compiler ◮ In turn, this makes the implementation intuitively directives transparent and thus easier to maintain and extend. The Schr¨ odinger ◮ Like with OpenMP equation , OpenACC directives are treated as Coupled cluster mere comments to non-accelerating compilers (portability). methods ◮ The programmer leaves most of the hard work to the compilers One- and N -electron expansions (i.e., the current and future developers of these). OpenACC implementations ◮ Accelerated code should preferably be easy and fast to Calculations implement (Amdahl’s law). Results Conclusions & outlook Acknowledgments
S6540 OpenACC compiler directives Need for Speed: Accelerating High-Accuracy Quantum Chemistry using OpenACC Directives Janus J. Eriksen ◮ OpenACC-accelerated code will be based on original source. Motivation OpenACC compiler ◮ In turn, this makes the implementation intuitively directives transparent and thus easier to maintain and extend. The Schr¨ odinger ◮ Like with OpenMP equation , OpenACC directives are treated as Coupled cluster mere comments to non-accelerating compilers (portability). methods ◮ The programmer leaves most of the hard work to the compilers One- and N -electron expansions (i.e., the current and future developers of these). OpenACC implementations ◮ Accelerated code should preferably be easy and fast to Calculations implement (Amdahl’s law). Results Conclusions & outlook Acknowledgments
Recommend
More recommend