{"title":"A GPU-accelerated viewer for HEALPix maps","authors":"A.V. Frolov","doi":"10.1016/j.ascom.2023.100758","DOIUrl":null,"url":null,"abstract":"<div><p><span>HEALPix by Górskiet al. (2005) is a de-facto standard for Cosmic Microwave Background (CMB) data storage and analysis, and is widely used in current and upcoming CMB experiments. Almost all the datasets in Legacy Archive for Microwave Background Data Analysis (</span><span>LAMBDA</span><svg><path></path></svg><span>) use HEALPix as a format of choice. Visualizing the data plays important role in research, and several toolsets were developed to do that for HEALPix maps, most notably original Fortran facilities and Python integration with </span><span>healpy</span>. With the current state of GPU performance, it is now possible to visualize extremely large maps in real time on a laptop or a tablet. HEALPix Viewer described here is developed for macOS, and takes full advantage of GPU acceleration to handle extremely large datasets in real time. It compiles natively on Intel and Arm64 architectures, and uses Metal framework for high-performance GPU computations. The aim of this project is to reduce the effort required for interactive data exploration, as well as time overhead for producing publication-quality maps. Drag and drop integration with Keynote and Powerpoint makes creating presentations easy. The main codebase is written in Swift, a modern and efficient compiled language, with high-performance computing parts delegated entirely to GPU, and a few inserts in C interfacing to <span>cfitsio</span><span><span> library for I/O. Graphical user interface is written in SwiftUI, a new declarative UI framework based on Swift. Most common spherical projections and colormaps are supported out of the box, and the available </span>source code makes it easy to customize the application and to add new features if desired. On a M1 Max laptop, an </span><span>nside</span>=8192 maps are processed in real time, with geometry effects rendered at 60fps in full resolution with no appreciable load to the machine. Main user-facing delays are limited to CPU-bound <span>cfitsio</span><span> load times, and sorting needed to construct Cumulative Distribution Function (CDF) estimators for statistical analysis (hidden in background queue). Overall performance improves on the current Python software stack by a factor of 3–180x depending on the task at hand.</span></p></div>","PeriodicalId":1,"journal":{"name":"Accounts of Chemical Research","volume":null,"pages":null},"PeriodicalIF":16.4000,"publicationDate":"2023-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Accounts of Chemical Research","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2213133723000732","RegionNum":1,"RegionCategory":"化学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"CHEMISTRY, MULTIDISCIPLINARY","Score":null,"Total":0}
引用次数: 0
Abstract
HEALPix by Górskiet al. (2005) is a de-facto standard for Cosmic Microwave Background (CMB) data storage and analysis, and is widely used in current and upcoming CMB experiments. Almost all the datasets in Legacy Archive for Microwave Background Data Analysis (LAMBDA) use HEALPix as a format of choice. Visualizing the data plays important role in research, and several toolsets were developed to do that for HEALPix maps, most notably original Fortran facilities and Python integration with healpy. With the current state of GPU performance, it is now possible to visualize extremely large maps in real time on a laptop or a tablet. HEALPix Viewer described here is developed for macOS, and takes full advantage of GPU acceleration to handle extremely large datasets in real time. It compiles natively on Intel and Arm64 architectures, and uses Metal framework for high-performance GPU computations. The aim of this project is to reduce the effort required for interactive data exploration, as well as time overhead for producing publication-quality maps. Drag and drop integration with Keynote and Powerpoint makes creating presentations easy. The main codebase is written in Swift, a modern and efficient compiled language, with high-performance computing parts delegated entirely to GPU, and a few inserts in C interfacing to cfitsio library for I/O. Graphical user interface is written in SwiftUI, a new declarative UI framework based on Swift. Most common spherical projections and colormaps are supported out of the box, and the available source code makes it easy to customize the application and to add new features if desired. On a M1 Max laptop, an nside=8192 maps are processed in real time, with geometry effects rendered at 60fps in full resolution with no appreciable load to the machine. Main user-facing delays are limited to CPU-bound cfitsio load times, and sorting needed to construct Cumulative Distribution Function (CDF) estimators for statistical analysis (hidden in background queue). Overall performance improves on the current Python software stack by a factor of 3–180x depending on the task at hand.
期刊介绍:
Accounts of Chemical Research presents short, concise and critical articles offering easy-to-read overviews of basic research and applications in all areas of chemistry and biochemistry. These short reviews focus on research from the author’s own laboratory and are designed to teach the reader about a research project. In addition, Accounts of Chemical Research publishes commentaries that give an informed opinion on a current research problem. Special Issues online are devoted to a single topic of unusual activity and significance.
Accounts of Chemical Research replaces the traditional article abstract with an article "Conspectus." These entries synopsize the research affording the reader a closer look at the content and significance of an article. Through this provision of a more detailed description of the article contents, the Conspectus enhances the article's discoverability by search engines and the exposure for the research.