{"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":48757,"journal":{"name":"Astronomy and Computing","volume":"45 ","pages":"Article 100758"},"PeriodicalIF":1.9000,"publicationDate":"2023-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Astronomy and Computing","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2213133723000732","RegionNum":4,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"ASTRONOMY & ASTROPHYSICS","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.
Astronomy and ComputingASTRONOMY & ASTROPHYSICSCOMPUTER SCIENCE,-COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
CiteScore
4.10
自引率
8.00%
发文量
67
期刊介绍:
Astronomy and Computing is a peer-reviewed journal that focuses on the broad area between astronomy, computer science and information technology. The journal aims to publish the work of scientists and (software) engineers in all aspects of astronomical computing, including the collection, analysis, reduction, visualisation, preservation and dissemination of data, and the development of astronomical software and simulations. The journal covers applications for academic computer science techniques to astronomy, as well as novel applications of information technologies within astronomy.