Sebastian Berg

@seberg

Joined on Oct 31, 2018

  • Actual changes Delete all old macro names. Intp/UIntp :heavy_check_mark: (True ABI break, but on almost no platforms, only OpenVMS?) Redefine npy_uintp to size_t and npy_intp as Py_ssize_t (same size as size_t, C has no standard name). Yes, it is a misnomer. Map characters 'P' and 'p' to current version for compat. New character 'n' and 'N' (compatible with struct module and Python; yes I checked). Notes:On theoretical segmented platforms, this is not ABI compatibleFor these platforms it will not be possible to distribute wheels targeting both old and new NumPy versions.
     Like  Bookmark
  • Note: This is a living document. We are prepared to modify it through continued dialogue with the community. Its acceptance indicates consensus on the process and timelines. Abstract The NumPy 2.0 release is an opportunity to make some complex changes for which a normal deprecation wouldn’t be viable as the user impact may be larger than is normally considered acceptable for a minor release. Yet, NumPy 2.0 is not meant to be a large breaking release. Most users should not need to worry about introduced changes. This document contains essential information about the work on NumPy 2.0 release. Motivation and impact
     Like 1 Bookmark
  • As NumPy developers we have decided to work on a NumPy 2.0 release to replace the NumPy 1.x release at the beginning of 2024. We have met to discuss many of the high-level issues we wish to address on April 1st. Now that NumPy 1.25 is branched and soon to be released, we will start to adopt changing into the NumPy main branch. What not to expect We wish to stress that while there are many inconsistencies and changes that we are planning we do aim to scope that in a way that most NumPy will not be disrupted strongly. We all remember the transition issues that came with Python 3 and realize that it is vital that most downstream libraries will be able to adept their code easily to achieve compatibility with both NumPy 1.x and 2.x. What to expect
     Like  Bookmark
  • :author: Sebastian Berg :author: Ralf Gommers :author: Inessa Pawson :author: don't be shy :) Actually, maybe we can even agree on adding "Steering council" or "on behalf of the steering council" Note: This is a living document. We plan to modify it through continued dialogue with the community. Its acceptance indicates consensus on the process and timelines.
     Like  Bookmark
  • Might be good to have a brief summary: [name=rkern] Quite strongly opposed to sacrificing accuracy at least on sin/cos [name=mattip] Voiced opinion for reversion [name=Dan Allen (brookhaven national lab)] Tends towards it being too inaccurate; some scipy lecture note examples give surprising results for new-comers. (you can see that as a teaching opportunity, but...) [name=Jerome Kieffer] Is opposed (was already opposed to any adoption of "SVML" the last time around) [name=rgommers] Is open to reverting the sin/cos changes since they seem to be significantly more disruptive than other SIMD changes over the past years. But also wants to see an improved general accuracy-precision tradeoff methodology or framework, because the comments about always needing maximum accuracy (in general, not specifically for sin/cos) are too simplistic - it's always a tradeoff. Suggests a compile time flag (or inclusion in the disable-svml one), probably defaulting to off.[name=seberg] I agree with this! But, I am a bit disappointed in the amount of methodology we are given to work with by those who like the less precise versions. (I agree that full precision is a pipe-dream, though) [name=Matthew Brett] doesn't like less precise defaults, either. [name=tcaswell] prefers not to revert because compared to SVML the results are mainly different rather than worse. (suggesting the burden of proof should be reverted). Matplotlib dealt with the changes relatively easily.
     Like  Bookmark
  • Participating: Tianqi Chen, Leo Fang, Keith Kraus, Sebastian Berg Meeting Notes Version negotiation: Need new flags? How to introduce (bool, flag fields) Stream API is python only currently.
     Like  Bookmark