We present libsharp, a code library for spherical harmonic transforms (SHTs), which evolved from the libpsht library and addresses 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 <ext-link ext-link-type="uri" xlink:href="http://sourceforge.net/projects/libsharp/">http://sourceforge.net/projects/libsharp/</ext-link> under the terms of the GNU General Public License.
Astronomy and Astrophysics
- Pub Date:
- June 2013
- methods: numerical;
- cosmic background radiation;
- large-scale structure of Universe;
- Physics - Computational Physics