On 12.11.2013 03:17, David Cournapeau wrote:
> Hi there,
> 
> I have noticed more and more subtle and hard to track serious bugs in
> numpy and scipy, due to the use of advanced optimization features
> (flags, or gcc intrinsics).
> 
> I am wondering whether those are worth it: they compile wrongly under
> quite a few configurations, and it is not always obvious to find the
> cause (case in point: gcc 4.4 with numpy 1.8.0 causes infinite loop in
> scipy.stats, which disappear if I disable the intrinsics in
> numpy/npy_config.h). Maybe they should be disabled by default, and only
> built in if required ? Do we know for sure they bring significant
> improvements ?

yes, e.g.
http://yarikoptic.github.io/numpy-vbench/vb_vb_ufunc.html#numpy-add-scalar2-numpy-float32
http://yarikoptic.github.io/numpy-vbench/vb_vb_ufunc.html#numpy-not-bool
http://yarikoptic.github.io/numpy-vbench/vb_vb_ufunc.html#numpy-isnan-a-10types
and many more.

this benchmark runs on a pretty old amd, the improvements are greater on
more modern AMD and Intel cpus.

> 
> While gcc 4.4 is not the most recent compiler, it is not ancient either,

I can't reproduce any issue with gcc 4.4.7

Can you narrow it down to a specific intrinsic? they can be enabled and
disabled in set ./numpy/core/setup_common.py
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to