Files
2019-12-30 12:02:00 -05:00

51 lines
2.1 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
name libsharp
version 1.0.0
set branch 3.60
categories science
license GPL-2+
maintainers {aronnax @lpsinger} openmaintainer
description C/C++ library for fast spherical harmonic transforms
long_description \
libsharp is a 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.
homepage https://healpix.sourceforge.io
platforms darwin
master_sites sourceforge:project/healpix/Healpix_${branch}/
checksums rmd160 26353a493a40e47833a292e31d93c67ce56cd72a \
sha256 e98293315ee0f8a4c69c627bda36297b45e35e7afc33f510756f212d36c02f92 \
size 389247
universal_variant no
configure.args-append --disable-openmp
default_variants +openmp
variant openmp description "enable OpenMP parallel acceleration" {
configure.args-delete --disable-openmp
compiler.openmp_version 2.5
}
# Enable -ffast-math optimizatioins as per upstream author's instructions
configure.cflags-append -ffast-math
# On x86_64, enable runtime dispatch to optimized code paths for different
# vector instruction sets.
if {${configure.build_arch} eq "x86_64"} {
configure.cflags-append -DMULTIARCH
}