TL;DR
Libsharp is an improved, portable C99 library for spherical harmonic transforms that supports distributed computing, arbitrary spin fields, and modern CPU instructions, offering significantly faster performance than its predecessor.
Contribution
It introduces libsharp, a new version of libpsht, with MPI support, arbitrary spin SHTs, and optimized algorithms leveraging modern CPU features.
Findings
Scalar SHTs are roughly twice as fast with libsharp.
Libsharp supports distributed memory systems and arbitrary spin fields.
Performance is at least on par with or better than previous versions.
Abstract
We present libsharp, a code library for spherical harmonic transforms (SHTs), which evolved from the libpsht library, addressing several of its shortcomings, such as adding MPI support for distributed memory systems and SHTs of fields with arbitrary spin, but also supporting new developments in CPU instruction sets like the Advanced Vector Extensions (AVX) or fused multiply-accumulate (FMA) instructions. The library is implemented in portable C99 and provides an interface that can be easily accessed from other programming languages such as C++, Fortran, Python etc. Generally, libsharp's performance is at least on par with that of its predecessor; however, significant improvements were made to the algorithms for scalar SHTs, which are roughly twice as fast when using the same CPU capabilities. The library is available at http://sourceforge.net/projects/libsharp/ under the terms of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
