{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T16:46:06Z","timestamp":1750351566036,"version":"3.37.3"},"reference-count":23,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2022,2,9]],"date-time":"2022-02-09T00:00:00Z","timestamp":1644364800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,2,9]],"date-time":"2022-02-09T00:00:00Z","timestamp":1644364800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/100000162","name":"Division of Antarctic Sciences","doi-asserted-by":"publisher","award":["1600823"],"award-info":[{"award-number":["1600823"]}],"id":[{"id":"10.13039\/100000162","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Comput Softw Big Sci"],"published-print":{"date-parts":[[2022,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The IceCube Neutrino Observatory is a cubic kilometer neutrino detector located at the geographic South Pole designed to detect high-energy astrophysical neutrinos. To thoroughly understand the detected neutrinos and their properties, the detector response to signal and background has to be modeled using Monte Carlo techniques. An integral part of these studies are the optical properties of the ice the observatory is built into. The simulated propagation of individual photons from particles produced by neutrino interactions in the ice can be greatly accelerated using graphics processing units (GPUs). In this paper, we (a collaboration between NVIDIA and IceCube) reduced the propagation time per photon by a factor of up to 3 on the same GPU. We achieved this by porting the OpenCL parts of the program to CUDA and optimizing the performance. This involved careful analysis and multiple changes to the algorithm. We also ported the code to NVIDIA OptiX to handle the collision detection. The hand-tuned CUDA algorithm turned out to be faster than OptiX. It exploits detector geometry and only a small fraction of photons ever travel close to one of the detectors.<\/jats:p>","DOI":"10.1007\/s41781-022-00080-8","type":"journal-article","created":{"date-parts":[[2022,2,9]],"date-time":"2022-02-09T14:02:49Z","timestamp":1644415369000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Accelerating IceCube\u2019s Photon Propagation Code with CUDA"],"prefix":"10.1007","volume":"6","author":[{"given":"Hendrik","family":"Schwanekamp","sequence":"first","affiliation":[]},{"given":"Ramona","family":"Hohl","sequence":"additional","affiliation":[]},{"given":"Dmitry","family":"Chirkin","sequence":"additional","affiliation":[]},{"given":"Tom","family":"Gibbs","sequence":"additional","affiliation":[]},{"given":"Alexander","family":"Harnisch","sequence":"additional","affiliation":[]},{"given":"Claudio","family":"Kopper","sequence":"additional","affiliation":[]},{"given":"Peter","family":"Messmer","sequence":"additional","affiliation":[]},{"given":"Vishal","family":"Mehta","sequence":"additional","affiliation":[]},{"given":"Alexander","family":"Olivas","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9524-8943","authenticated-orcid":false,"given":"Benedikt","family":"Riedel","sequence":"additional","affiliation":[]},{"given":"Martin","family":"Rongen","sequence":"additional","affiliation":[]},{"given":"David","family":"Schultz","sequence":"additional","affiliation":[]},{"given":"Jakob","family":"van Santen","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,2,9]]},"reference":[{"issue":"03","key":"80_CR1","doi-asserted-by":"publisher","first-page":"P03012","DOI":"10.1088\/1748-0221\/12\/03\/P03012","volume":"12","author":"MG Aartsen","year":"2017","unstructured":"Aartsen MG et al (2017) The IceCube Neutrino Observatory: Instrumentation and Online Systems. JINST 12(03):P03012. https:\/\/doi.org\/10.1088\/1748-0221\/12\/03\/P03012 (1612.05093)","journal-title":"JINST"},{"key":"80_CR2","doi-asserted-by":"publisher","first-page":"1242856","DOI":"10.1126\/science.1242856","volume":"342","author":"MG Aartsen","year":"2013","unstructured":"Aartsen MG et al (2013) Evidence for High-Energy Extraterrestrial Neutrinos at the IceCube Detector. Science 342:1242856. https:\/\/doi.org\/10.1126\/science.1242856 (1311.5238)","journal-title":"Science"},{"issue":"6398","key":"80_CR3","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1126\/science.aat2890","volume":"361","author":"M Aartsen","year":"2018","unstructured":"Aartsen M et al (2018) Neutrino emission from the direction of the blazar TXS 0506+056 prior to the IceCube-170922A alert. Science 361(6398):147\u2013151. https:\/\/doi.org\/10.1126\/science.aat2890","journal-title":"Science"},{"issue":"6398","key":"80_CR4","doi-asserted-by":"publisher","first-page":"eaat1378","DOI":"10.1126\/science.aat1378","volume":"361","author":"M Aartsen","year":"2018","unstructured":"Aartsen M et al (2018) Multimessenger observations of a flaring blazar coincident with high-energy neutrino IceCube-170922A. Science 361(6398):eaat1378. https:\/\/doi.org\/10.1126\/science.aat1378","journal-title":"Science"},{"issue":"10","key":"80_CR5","doi-asserted-by":"publisher","first-page":"492","DOI":"10.1140\/epjc\/s10052-015-3713-1","volume":"C75","author":"MG Aartsen","year":"2015","unstructured":"Aartsen MG et al (2015) Search for dark matter annihilation in the galactic center with IceCube-79. Eur Phys J C75(10):492. https:\/\/doi.org\/10.1140\/epjc\/s10052-015-3713-1 (1505.07259)","journal-title":"Eur Phys J"},{"key":"80_CR6","doi-asserted-by":"publisher","first-page":"122001","DOI":"10.1103\/PhysRevD.102.122001","volume":"102","author":"MG Aartsen","year":"2020","unstructured":"Aartsen MG et al (2020) Cosmic ray spectrum from 250 TeV to 10 PeV using IceTop. Phys Rev D 102:122001. https:\/\/doi.org\/10.1103\/PhysRevD.102.122001 (2006.05215)","journal-title":"Phys Rev D"},{"issue":"7","key":"80_CR7","doi-asserted-by":"publisher","first-page":"071801","DOI":"10.1103\/PhysRevLett.117.071801","volume":"117","author":"MG Aartsen","year":"2016","unstructured":"Aartsen MG et al (2016) Searches for sterile neutrinos with the IceCube detector. Phys Rev Lett 117(7):071801. https:\/\/doi.org\/10.1103\/PhysRevLett.117.071801 (1605.01990)","journal-title":"Phys Rev Lett"},{"issue":"218","key":"80_CR8","doi-asserted-by":"publisher","first-page":"1117","DOI":"10.3189\/2013JoG13J068","volume":"59","author":"I Collaboration","year":"2013","unstructured":"Collaboration I (2013) South pole glacial climate reconstruction from multi-borehole laser particulate stratigraphy. J Glaciol 59(218):1117\u20131128. https:\/\/doi.org\/10.3189\/2013JoG13J068","journal-title":"J Glaciol"},{"key":"80_CR9","doi-asserted-by":"publisher","first-page":"141","DOI":"10.1016\/j.nima.2012.11.170","volume":"A725","author":"D Chirkin","year":"2013","unstructured":"Chirkin D (2013) Photon tracking with GPUs in IceCube. Nucl Instrum Meth A725:141\u2013143. https:\/\/doi.org\/10.1016\/j.nima.2012.11.170","journal-title":"Nucl Instrum Meth"},{"unstructured":"Cherenkov P (1936) Cr acad. sci. ussr, 8 (1934) 451. In: Dokl. AN SSSR, vol\u00a03, p\u00a014","key":"80_CR10"},{"key":"80_CR11","doi-asserted-by":"publisher","first-page":"P03009","DOI":"10.1088\/1748-0221\/9\/03\/P03009","volume":"9","author":"M Aartsen","year":"2014","unstructured":"Aartsen M et al (2014) Energy Reconstruction Methods in the IceCube Neutrino Telescope. JINST 9:P03009. https:\/\/doi.org\/10.1088\/1748-0221\/9\/03\/P03009 (1311.4767)","journal-title":"JINST"},{"key":"80_CR12","doi-asserted-by":"publisher","first-page":"73","DOI":"10.1016\/j.nima.2013.01.054","volume":"A711","author":"MG Aartsen","year":"2013","unstructured":"Aartsen MG et al (2013) Measurement of South Pole ice transparency with the IceCube LED calibration system. Nucl Instrum Meth A711:73\u201389. https:\/\/doi.org\/10.1016\/j.nima.2013.01.054 (1301.5361)","journal-title":"Nucl Instrum Meth"},{"unstructured":"Chirkin D (2013) Evidence of optical anisotropy of the South Pole ice. In: 33rd international cosmic ray conference, p 0580","key":"80_CR13"},{"doi-asserted-by":"crossref","unstructured":"Chirkin D, Rongen M (2020) Light diffusion in birefringent polycrystals and the IceCube ice anisotropy. PoS ICRC2019:854. 10.22323\/1.358.0854 1908.07608","key":"80_CR14","DOI":"10.22323\/1.358.0854"},{"unstructured":"NVIDIA (2019) Nvidia 3080. https:\/\/www.nvidia.com\/en-us\/geforce\/graphics-cards\/30-series\/rtx-3080\/","key":"80_CR15"},{"unstructured":"NVIDIA (2019) Nvidia 1080 ti. https:\/\/www.nvidia.com\/en-us\/geforce\/products\/10series\/geforce-gtx-1080-ti\/ Accessed 26 Feb 2021","key":"80_CR16"},{"key":"80_CR17","doi-asserted-by":"publisher","DOI":"10.1145\/1778765.1778803","author":"SG Parker","year":"2010","unstructured":"Parker SG, Bigler J, Dietrich A, Friedrich H, Hoberock J, Luebke D, McAllister D, McGuire M, Morley K, Robison A, Stich M (2010) Optix: a general purpose ray tracing engine. ACM Trans Graph. https:\/\/doi.org\/10.1145\/1778765.1778803","journal-title":"ACM Trans Graph"},{"issue":"14","key":"80_CR18","doi-asserted-by":"publisher","first-page":"2129","DOI":"10.1029\/2000GL011351","volume":"27","author":"PB Price","year":"2000","unstructured":"Price PB, Woschnagg K, Chirkin D (2000) Age vs depth of glacial ice at south pole. Geophys Res Lett 27(14):2129\u20132132. https:\/\/doi.org\/10.1029\/2000GL011351","journal-title":"Geophys Res Lett"},{"issue":"6048","key":"80_CR19","doi-asserted-by":"publisher","first-page":"1427","DOI":"10.1126\/science.1208336","volume":"333","author":"E Rignot","year":"2011","unstructured":"Rignot E, Mouginot J, Scheuchl B (2011) Ice flow of the Antarctic ice sheet. Science 333(6048):1427\u20131430. https:\/\/doi.org\/10.1126\/science.1208336","journal-title":"Science"},{"unstructured":"Corporation N (2021) CUDA C++ Programming Guide, 11.2. https:\/\/docs.nvidia.com\/cuda\/cuda-c-programming-guide\/index.html. Accessed 26 Feb 2021","key":"80_CR20"},{"unstructured":"Corporation N (2021) CUDA C++ Best Practice Guide, 11.2. https:\/\/docs.nvidia.com\/cuda\/cuda-c-best-practices-guide\/index.html. Accessed 26 Feb 2021","key":"80_CR21"},{"unstructured":"Harris M, Perelygin K (2017) Cooperative Groups: Flexible CUDA Thread Programming. https:\/\/developer.nvidia.com\/blog\/cooperative-groups\/","key":"80_CR22"},{"doi-asserted-by":"crossref","unstructured":"Parker SG, Friedrich H, Luebke D, Morley K, Bigler J, Hoberock J, McAllister D, Robison A, Dietrich A, Humphreys G, McGuire M, Stich M (2013) Gpu ray tracing. Commun ACM 56(5):93\u2013101","key":"80_CR23","DOI":"10.1145\/2447976.2447997"}],"container-title":["Computing and Software for Big Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s41781-022-00080-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s41781-022-00080-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s41781-022-00080-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,31]],"date-time":"2022-12-31T19:11:11Z","timestamp":1672513871000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s41781-022-00080-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,2,9]]},"references-count":23,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,12]]}},"alternative-id":["80"],"URL":"https:\/\/doi.org\/10.1007\/s41781-022-00080-8","relation":{},"ISSN":["2510-2036","2510-2044"],"issn-type":[{"type":"print","value":"2510-2036"},{"type":"electronic","value":"2510-2044"}],"subject":[],"published":{"date-parts":[[2022,2,9]]},"assertion":[{"value":"5 July 2021","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"13 October 2021","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"9 February 2022","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"4"}}