Skip to content

compilation from source issue on Mac (M3 specific?) #45

Description

@Sebastian-Belkner

Hi Martin,

I've been running into some funny behaviour.

Compiling DUCC from source,

pip3 install --no-binary ducc0 --user ducc0

I get wrong-ish results, here a minimum-working example

from lenspyx.lensing import get_geom
import healpy as hp
import numpy as np
from ducc0.sht.experimental import adjoint_synthesis

mask = np.zeros(hp.nside2npix(1))
mask[[1]] = 1
mask = hp.ud_grade(mask, nside_out=2048)
hp.mollview(mask)

geomlib = get_geom(('healpix', {'nside':2048}))
lmax = 1000

ebmaps = np.ones(shape=(2,hp.nside2npix(2048)), dtype=np.float64)

alme_ducc = adjoint_synthesis(map=np.atleast_2d(ebmaps[0]*mask), theta=geomlib.theta, lmax=lmax, mmax=lmax, nphi=geomlib.nph, spin=0, phi0=geomlib.phi0, nthreads=4, ringstart=geomlib.ofs)

hp.mollview(hp.alm2map(alme_ducc[0], nside=512))
plt.show()

plt.plot(hp.alm2cl(alme_ducc[0]))
plt.loglog()
plt.show()

Output is

Image

There are some weird stripes and nonzero pixels in an area far away from what is unmasked

Instead, when I use the precompiled version,
pip3 install ducc0

this problem disappears,

Image

I am sitting on a Mac, M3.

One thing that I already found about my metal machine is that longdouble is treated as if its just double. Not sure if that is causing it?

Additional observations

  • The same stripping and non-zero (or non--372345) pixel behavior occurs symmetrically at the south pole.
  • I don't think it’s related to the masking, as I observe similar anomalies on the full sky, with the poles appearing slightly different.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions