Satoki Tsuji, Yasuaki Ito, Koji Nakano, Akihiko Kasagi
{"title":"计算量子化学中男生函数评价的GPU加速","authors":"Satoki Tsuji, Yasuaki Ito, Koji Nakano, Akihiko Kasagi","doi":"10.1002/cpe.8328","DOIUrl":null,"url":null,"abstract":"<p>The Boys function, a mathematical integral function, plays a pivotal role and is frequently evaluated in ab initio molecular orbital computations. The main contribution of this paper is to accelerate the bulk evaluation of the Boys function through the effective utilization of GPUs. The proposed GPU implementation addresses GPU-specific programming issues such as warp divergence and coalesced/stride access to global memory, and we employ the optimal numerical evaluation method from four methods based on input values to ensure efficient computation with sufficient accuracy. Moreover, to consider actual computation of molecular integrals, we have implemented and evaluated the proposed method in two scenarios: single evaluation, which computes a single value of the Boys function for a single input, and incremental evaluation, which computes multiple values of the Boys function incrementally. The execution time of the proposed GPU implementation was evaluated for both scenarios using an NVIDIA A100 Tensor Core GPU. As a result, the GPU-accelerated bulk evaluation has achieved a throughput of computing the values of the Boys function <span></span><math>\n <semantics>\n <mrow>\n <mn>17</mn>\n <mo>.</mo>\n <mn>7</mn>\n <mo>×</mo>\n <mn>1</mn>\n <msup>\n <mrow>\n <mn>0</mn>\n </mrow>\n <mrow>\n <mn>9</mn>\n </mrow>\n </msup>\n </mrow>\n <annotation>$$ 17.7\\times 1{0}^9 $$</annotation>\n </semantics></math> times per second for the single evaluation and <span></span><math>\n <semantics>\n <mrow>\n <mn>97</mn>\n <mo>.</mo>\n <mn>7</mn>\n <mo>×</mo>\n <mn>1</mn>\n <msup>\n <mrow>\n <mn>0</mn>\n </mrow>\n <mrow>\n <mn>9</mn>\n </mrow>\n </msup>\n </mrow>\n <annotation>$$ 97.7\\times 1{0}^9 $$</annotation>\n </semantics></math> times per second for the incremental evaluation, respectively. Our parallelized CPU and GPU implementation is available at \nhttps://github.com/sstsuji/Boys-function-GPU-library.</p>","PeriodicalId":55214,"journal":{"name":"Concurrency and Computation-Practice & Experience","volume":"37 2","pages":""},"PeriodicalIF":2.2000,"publicationDate":"2024-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/cpe.8328","citationCount":"0","resultStr":"{\"title\":\"GPU Acceleration of the Boys Function Evaluation in Computational Quantum Chemistry\",\"authors\":\"Satoki Tsuji, Yasuaki Ito, Koji Nakano, Akihiko Kasagi\",\"doi\":\"10.1002/cpe.8328\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p>The Boys function, a mathematical integral function, plays a pivotal role and is frequently evaluated in ab initio molecular orbital computations. The main contribution of this paper is to accelerate the bulk evaluation of the Boys function through the effective utilization of GPUs. The proposed GPU implementation addresses GPU-specific programming issues such as warp divergence and coalesced/stride access to global memory, and we employ the optimal numerical evaluation method from four methods based on input values to ensure efficient computation with sufficient accuracy. Moreover, to consider actual computation of molecular integrals, we have implemented and evaluated the proposed method in two scenarios: single evaluation, which computes a single value of the Boys function for a single input, and incremental evaluation, which computes multiple values of the Boys function incrementally. The execution time of the proposed GPU implementation was evaluated for both scenarios using an NVIDIA A100 Tensor Core GPU. As a result, the GPU-accelerated bulk evaluation has achieved a throughput of computing the values of the Boys function <span></span><math>\\n <semantics>\\n <mrow>\\n <mn>17</mn>\\n <mo>.</mo>\\n <mn>7</mn>\\n <mo>×</mo>\\n <mn>1</mn>\\n <msup>\\n <mrow>\\n <mn>0</mn>\\n </mrow>\\n <mrow>\\n <mn>9</mn>\\n </mrow>\\n </msup>\\n </mrow>\\n <annotation>$$ 17.7\\\\times 1{0}^9 $$</annotation>\\n </semantics></math> times per second for the single evaluation and <span></span><math>\\n <semantics>\\n <mrow>\\n <mn>97</mn>\\n <mo>.</mo>\\n <mn>7</mn>\\n <mo>×</mo>\\n <mn>1</mn>\\n <msup>\\n <mrow>\\n <mn>0</mn>\\n </mrow>\\n <mrow>\\n <mn>9</mn>\\n </mrow>\\n </msup>\\n </mrow>\\n <annotation>$$ 97.7\\\\times 1{0}^9 $$</annotation>\\n </semantics></math> times per second for the incremental evaluation, respectively. Our parallelized CPU and GPU implementation is available at \\nhttps://github.com/sstsuji/Boys-function-GPU-library.</p>\",\"PeriodicalId\":55214,\"journal\":{\"name\":\"Concurrency and Computation-Practice & Experience\",\"volume\":\"37 2\",\"pages\":\"\"},\"PeriodicalIF\":2.2000,\"publicationDate\":\"2024-11-19\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://onlinelibrary.wiley.com/doi/epdf/10.1002/cpe.8328\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Concurrency and Computation-Practice & Experience\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://onlinelibrary.wiley.com/doi/10.1002/cpe.8328\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Concurrency and Computation-Practice & Experience","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/cpe.8328","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
GPU Acceleration of the Boys Function Evaluation in Computational Quantum Chemistry
The Boys function, a mathematical integral function, plays a pivotal role and is frequently evaluated in ab initio molecular orbital computations. The main contribution of this paper is to accelerate the bulk evaluation of the Boys function through the effective utilization of GPUs. The proposed GPU implementation addresses GPU-specific programming issues such as warp divergence and coalesced/stride access to global memory, and we employ the optimal numerical evaluation method from four methods based on input values to ensure efficient computation with sufficient accuracy. Moreover, to consider actual computation of molecular integrals, we have implemented and evaluated the proposed method in two scenarios: single evaluation, which computes a single value of the Boys function for a single input, and incremental evaluation, which computes multiple values of the Boys function incrementally. The execution time of the proposed GPU implementation was evaluated for both scenarios using an NVIDIA A100 Tensor Core GPU. As a result, the GPU-accelerated bulk evaluation has achieved a throughput of computing the values of the Boys function times per second for the single evaluation and times per second for the incremental evaluation, respectively. Our parallelized CPU and GPU implementation is available at
https://github.com/sstsuji/Boys-function-GPU-library.
期刊介绍:
Concurrency and Computation: Practice and Experience (CCPE) publishes high-quality, original research papers, and authoritative research review papers, in the overlapping fields of:
Parallel and distributed computing;
High-performance computing;
Computational and data science;
Artificial intelligence and machine learning;
Big data applications, algorithms, and systems;
Network science;
Ontologies and semantics;
Security and privacy;
Cloud/edge/fog computing;
Green computing; and
Quantum computing.