{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,17]],"date-time":"2026-05-17T08:22:13Z","timestamp":1779006133827,"version":"3.51.4"},"reference-count":27,"publisher":"IOP Publishing","issue":"2","license":[{"start":{"date-parts":[[2024,6,13]],"date-time":"2024-06-13T00:00:00Z","timestamp":1718236800000},"content-version":"vor","delay-in-days":12,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2024,6,13]],"date-time":"2024-06-13T00:00:00Z","timestamp":1718236800000},"content-version":"tdm","delay-in-days":12,"URL":"https:\/\/iopscience.iop.org\/info\/page\/text-and-data-mining"}],"funder":[{"DOI":"10.13039\/100000070","name":"National Institute of Biomedical Imaging and Bioengineering","doi-asserted-by":"crossref","award":["R01EB027130"],"award-info":[{"award-number":["R01EB027130"]}],"id":[{"id":"10.13039\/100000070","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100000862","name":"Doris Duke Charitable Foundation","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100000862","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["iopscience.iop.org"],"crossmark-restriction":false},"short-container-title":["Mach. Learn.: Sci. Technol."],"published-print":{"date-parts":[[2024,6,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>The demand for specialized hardware to train AI models has increased in tandem with the increase in the model complexity over the recent years. Graphics processing unit (GPU) is one such hardware that is capable of parallelizing operations performed on a large chunk of data. Companies like Nvidia, AMD, and Google have been constantly scaling-up the hardware performance as fast as they can. Nevertheless, there is still a gap between the required processing power and processing capacity of the hardware. To increase the hardware utilization, the software has to be optimized too. In this paper, we present some general GPU optimization techniques we used to efficiently train the optiGAN model, a Generative Adversarial Network that is capable of generating multidimensional probability distributions of optical photons at the photodetector face in radiation detectors, on an 8GB Nvidia Quadro RTX 4000 GPU. We analyze and compare the performances of all the optimizations based on the execution time and the memory consumed using the Nvidia Nsight Systems profiler tool. The optimizations gave approximately a 4.5x increase in the runtime performance when compared to a naive training on the GPU, without compromising the model performance. Finally we discuss optiGANs future work and how we are planning to scale the model on GPUs.<\/jats:p>","DOI":"10.1088\/2632-2153\/ad51c9","type":"journal-article","created":{"date-parts":[[2024,5,29]],"date-time":"2024-05-29T22:29:41Z","timestamp":1717021781000},"page":"027001","update-policy":"https:\/\/doi.org\/10.1088\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["GPU optimization techniques to accelerate optiGAN\u2014a particle simulation GAN"],"prefix":"10.1088","volume":"5","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4026-5516","authenticated-orcid":true,"given":"Anirudh","family":"Srikanth","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0414-9369","authenticated-orcid":true,"given":"Carlotta","family":"Trigila","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2439-1064","authenticated-orcid":true,"given":"Emilie","family":"Roncali","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"266","published-online":{"date-parts":[[2024,6,13]]},"reference":[{"key":"mlstad51c9bib1","doi-asserted-by":"publisher","first-page":"186","DOI":"10.1016\/j.nima.2016.06.125","article-title":"Recent developments in Geant4","volume":"835","author":"Allison","year":"2016","journal-title":"Nucl. Instrum. Methods Phys. Res. A"},{"key":"mlstad51c9bib2","article-title":"Wasserstein GAN","author":"Arjovsky","year":"2017"},{"key":"mlstad51c9bib3","article-title":"cuDNN: efficient primitives for deep learning","author":"Chetlur","year":"2014"},{"key":"mlstad51c9bib4","article-title":"FlashAttention-2: faster attention with better parallelism and work partitioning","author":"Dao","year":"2023"},{"key":"mlstad51c9bib5","author":"Data Sheet: Quadro RTX 4000","year":"2019"},{"key":"mlstad51c9bib6","article-title":"Adversarial audio synthesis","author":"Donahue","year":"2019"},{"key":"mlstad51c9bib7","article-title":"Generative adversarial networks","author":"Goodfellow","year":"2014"},{"key":"mlstad51c9bib8","article-title":"Improved training of Wasserstein GANs","author":"Gulrajani","year":"2017"},{"key":"mlstad51c9bib9","doi-asserted-by":"publisher","first-page":"239:1","DOI":"10.1145\/3570638","article-title":"Optimization techniques for GPU programming","volume":"55","author":"Hijma","year":"2023","journal-title":"ACM Comput. Surv."},{"key":"mlstad51c9bib10","article-title":"Image-to-image translation with conditional adversarial networks","author":"Isola","year":"2018"},{"key":"mlstad51c9bib11","doi-asserted-by":"publisher","first-page":"4543","DOI":"10.1088\/0031-9155\/49\/19\/007","article-title":"GATE - Geant4 application for tomographic emission: a simulation toolkit for PET and SPECT","volume":"49","author":"Jan","year":"2004","journal-title":"Phys. Med. Biol."},{"key":"mlstad51c9bib12","article-title":"Scaling laws for neural language models","author":"Kaplan","year":"2020"},{"key":"mlstad51c9bib13","article-title":"AUTOSPARSE: towards automated sparse training of deep neural networks","author":"Kundu","year":"2023"},{"key":"mlstad51c9bib14","first-page":"pp 836","article-title":"CUDA: scalable parallel programming for high-performance scientific computing","author":"Luebke","year":"2008"},{"key":"mlstad51c9bib15","article-title":"The Era of 1-bit LLMs: all large language models are in 1.58 bits","author":"Ma","year":"2024"},{"key":"mlstad51c9bib16","article-title":"Mixed precision training","author":"Micikevicius","year":"2018"},{"key":"mlstad51c9bib17","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2019.101635","article-title":"A survey of techniques for optimizing deep learning on GPUs","volume":"99","author":"Mittal","year":"2019","journal-title":"J. Syst. Archit."},{"key":"mlstad51c9bib18","author":"Nsight Compute","year":"2023"},{"key":"mlstad51c9bib19","author":"Nsight Systems","year":"2018"},{"key":"mlstad51c9bib20","article-title":"original-date: 2020-03-23T18:56:59Z","author":"NVTX (NVIDIA Tools Extension Library)","year":"2023"},{"key":"mlstad51c9bib21","article-title":"Carbon emissions and large neural network training","author":"Patterson","year":"2021"},{"key":"mlstad51c9bib22","article-title":"Profiling and Improving the pytorch dataloader for high-latency storage: a technical report","author":"Svogor","year":"2022"},{"key":"mlstad51c9bib23","author":"Torch.utils.data","year":"2023"},{"key":"mlstad51c9bib24","doi-asserted-by":"publisher","DOI":"10.1088\/2632-2153\/acc782","article-title":"A generative adversarial network to speed up optical Monte Carlo simulations","volume":"4","author":"Trigila","year":"2023","journal-title":"Mach. Learn.: Sci. Technol."},{"key":"mlstad51c9bib25","article-title":"Boosting application performance with GPU memory prefetching | NVIDIA technical blog","author":"Van der Wijngaart","year":"2022"},{"key":"mlstad51c9bib26","article-title":"Synthesizing tabular data using generative adversarial networks","author":"Xu","year":"2018"},{"key":"mlstad51c9bib27","doi-asserted-by":"crossref","DOI":"10.1609\/aaai.v31i1.10804","article-title":"SeqGAN: sequence generative adversarial nets with policy gradient","author":"Yu","year":"2017"}],"container-title":["Machine Learning: Science and Technology"],"original-title":[],"link":[{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9","content-type":"text\/html","content-version":"am","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9\/pdf","content-type":"application\/pdf","content-version":"am","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9\/pdf","content-type":"application\/pdf","content-version":"am","intended-application":"syndication"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9\/pdf","content-type":"application\/pdf","content-version":"am","intended-application":"similarity-checking"},{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,13]],"date-time":"2024-06-13T09:17:00Z","timestamp":1718270220000},"score":1,"resource":{"primary":{"URL":"https:\/\/iopscience.iop.org\/article\/10.1088\/2632-2153\/ad51c9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,1]]},"references-count":27,"journal-issue":{"issue":"2","published-online":{"date-parts":[[2024,6,13]]},"published-print":{"date-parts":[[2024,6,1]]}},"URL":"https:\/\/doi.org\/10.1088\/2632-2153\/ad51c9","relation":{},"ISSN":["2632-2153"],"issn-type":[{"value":"2632-2153","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,6,1]]},"assertion":[{"value":"GPU optimization techniques to accelerate optiGAN\u2014a particle simulation GAN","name":"article_title","label":"Article Title"},{"value":"Machine Learning: Science and Technology","name":"journal_title","label":"Journal Title"},{"value":"paper","name":"article_type","label":"Article Type"},{"value":"\u00a9 2024 The Author(s). Published by IOP Publishing Ltd","name":"copyright_information","label":"Copyright Information"},{"value":"2023-09-26","name":"date_received","label":"Date Received","group":{"name":"publication_dates","label":"Publication dates"}},{"value":"2024-05-29","name":"date_accepted","label":"Date Accepted","group":{"name":"publication_dates","label":"Publication dates"}},{"value":"2024-06-13","name":"date_epub","label":"Online publication date","group":{"name":"publication_dates","label":"Publication dates"}}]}}