Numba 0.50.0 and llvmlite 0.33.0 released

I’m happy to announce the release of Numba 0.50.0, which requires the new llvmlite 0.33.0.

Highlights of core feature changes include:

  • The compilation chain is now based on LLVM 9.
  • The error handling and reporting system has been improved to reduce the size of error messages, and also improve quality and specificity.
  • The CUDA target has more stream constructors available and a new function for compiling to PTX without linking and loading the code to a device. Further, the macro-based system for describing CUDA threads and blocks has been replaced with standard typing and lowering implementations, for improved debugging and extensibility.

IMPORTANT: The backwards compatibility shim, that was present in 0.49.x to accommodate the refactoring of Numba’s internals, has been removed. If a module is imported from a moved location an ImportError will occur.

Wheels are in the usual place, and conda packages are in the numba channel:

conda install -c numba numba=0.50.0

conda install -c numba llvmlite=0.33.0

(Packages should appear in the Anaconda repository in the next week or so.)

Please see the full changelog at:

Numba: http://numba.pydata.org/numba-doc/0.50.0/release-notes.html#version-0-50-0

llvmlite: https://llvmlite.readthedocs.io/en/v0.33.0/release-notes.html#v0-33-0-june-10-2020

And Stuart has made another great demo notebook for the new features you can try out in Binder:

Thanks again for everyone’s contributions and suggestions!

4 Likes

Cool changes! Looking forward to trying out the new jitclass staticmethods!

It’d probably be nice to reference “a member of the Numba community (with thanks!)” by their GitHub username in the demo notebook :slight_smile:

Thanks for the feedback. RE referencing contributions, good point, in the future I will try and remember to be explicit regarding contribution authors where possible. It’s also worth noting that the release notebooks always go via PR, e.g. https://github.com/numba/numba-examples/pull/18, reviews for these (and anything else!) are welcomed.

Also, in the change log, there has been explicit recognition of community contributions for some time (I just noticed 0.50 has this section in the wrong place, will fix that when doing the change log for 0.51 https://github.com/numba/numba/blob/dbd7af9059b2fac323c193ee970570523b62331b/CHANGE_LOG#L93-L135), so you can always check who’s worked on what from there. In the change log I’ve tended to not explicitly note the core developer contributions except for big features because there’s just so many!

Oh, that’s where they land - thanks! :slight_smile:

I’m aware of the changelog, overall you’re doing a great and much appreciated job and I wasn’t trying to assign blame for mis-attribution or anything. I’m terribly sorry if it came off that way.

Oh not at all, raising such things is much appreciated :slight_smile: I was hoping to provide some insight into the process and information/explanation as to what is found where in the above. Given the effort in matching up contributions with users is already done in the change log, carrying this over into the release notebooks is a good idea and just a question of remembering to do so! Am going to edit attributions into the current release notebook right now, will ping you on the PR, thanks again for highlighting this!

1 Like