Wednesday, August 28, 2024

Re: numpy 1.26.4 (python 3.12 and cython 3 support)

On 2024/08/28 22:05, Stuart Henderson wrote:
> On 2024/08/28 11:51, Theo Buehler wrote:
> > On Tue, Aug 27, 2024 at 06:52:47PM +0100, Stuart Henderson wrote:
> > > On 2024/08/27 17:03, Stuart Henderson wrote:
> > > > The extra patches below fix things so tests can run on 3.11 (remove
> > > > NO_TEST from Makefile too). "make test" on amd64 Py 3.11 results below
> > > > the diff (summary: 31 failed, 35649 passed, 2372 skipped, 1305
> > > > deselected, 33 xfailed, 1 xpassed, 21 warnings in 207.79s"; I'll run
> > > > it on aarch64 when my machine's free and reply if there are many
> > > > differences. Maybe i386 too when the current bulk finishes (a day or
> > > > two).
> > >
> > > Build fails early on aarch64. The meson full log file referenced does
> > > not exist.
> >
> > [...]
> >
> > > ../meson.build:1:0: ERROR: Unknown compiler(s): [['cc']]
> >
> > This didn't happen to me on my m1. It built without issue and the test
> > results seem adequate - about the same as last time if memory serves.
> >
> > Almost all failures (if not all) are floating point maths-related.
> >
> > = 80 failed, 32771 passed, 977 skipped, 1305 deselected, 33 xfailed, 1 xpassed, 61 warnings in 164.79s (0:02:44) =
>
> With the gdb workaround that I've now committed, same figures on M2.
>
> > sparc64 also built and tests also look good:
> >
> > = 68 failed, 32044 passed, 1716 skipped, 1305 deselected, 33 xfailed, 1 xpassed, 19 warnings in 668.77s (0:11:08) =
>
> I think this is looking quite promising on amd64 aarch64 sparc64.
>
> i386 builds ok but tests bomb out in a familiar way.
>
> MODPY_DISTUTILS_BUILDARGS is no longer useful with meson-python. The
> old hack can be moved to pre-build in an ugly but functional way:
>
> pre-build:
> cp -f ${WRKSRC}/numpy/distutils/site.cfg ${WRKSRC}/site.cfg
> ln -sf ${LOCALBASE}/bin/gas ${WRKDIR}/bin/as
>
> # cpu optimizations (where supported) are runtime detected, but there's
> # some problem on i386 where they trigger segfaults in numpy's regression
> # tests, and in other programs using numpy (e.g. building makehuman).
> # tests look good on amd64 arm64 riscv64 as-is.
> # numpy's regressions tests result in segv on powerpc (and also did in
> # 1.19.5) but at least some normal runtime seems ok (makehuman builds).
> # https://github.com/numpy/numpy/issues/20799
> .if ${MACHINE_ARCH} == i386
> sed -i '/^option.*disable-optim/ s/false/true/' ${WRKSRC}/meson_options.txt
> .endif
>
> Presumably "MODPY_DISTUTILS_BUILDARGS+= --fcompiler=gnu95" from the
> PROPERTIES:Mgcc49 block is not doing anything useful (that block's
> used on "arches where ports-gcc >4.9 exists" which build ok, so that
> seems no longer useful).

With that changed, test results are broadly in line with aarch64 etc.

=========================== short test summary info ============================
FAILED core/tests/test_longdouble.py::test_repr_roundtrip - AssertionError:
FAILED core/tests/test_print.py::TestCommaDecimalPointLocale::test_locale_longdouble
FAILED core/tests/test_umath.py::TestLog2::test_log2_special - IndexError: li...
FAILED core/tests/test_umath.py::TestSpecialFloats::test_exp_exceptions - Ass...
FAILED core/tests/test_umath.py::TestSpecialFloats::test_log_values - Asserti...
FAILED core/tests/test_umath.py::TestSpecialFloats::test_arctanh - AssertionE...
FAILED core/tests/test_umath.py::TestSpecialFloats::test_exp2 - AssertionErro...
FAILED core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception[data10-escape10-d-log1p]
FAILED core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception[data11-escape11-d-log1p]
FAILED core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception[data12-escape12-d-log1p]
FAILED core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception[data13-escape13-d-log1p]
FAILED core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception[data14-escape14-d-log1p]
FAILED core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception[data15-escape15-d-log1p]
FAILED core/tests/test_umath.py::TestAVXFloat32Transcendental::test_sincos_float32
FAILED core/tests/test_umath.py::TestComplexFunctions::test_branch_cuts - Ass...
FAILED core/tests/test_umath.py::TestComplexFunctions::test_branch_cuts_complex64
FAILED core/tests/test_umath.py::TestComplexFunctions::test_loss_of_precision[complex64]
FAILED core/tests/test_umath.py::TestComplexFunctions::test_loss_of_precision[complex128]
FAILED core/tests/test_umath.py::TestComplexFunctions::test_loss_of_precision[clongdouble]
= 19 failed, 32167 passed, 1722 skipped, 1305 deselected, 33 xfailed, 1 xpassed, 33 warnings in 212.55s (0:03:32) =

No comments:

Post a Comment