github halide/Halide v11.0.0
Halide 11.0.0

latest releases: v17.0.1, v17.0.0, v16.0.0...
3 years ago

We are pleased to announce the release of Halide 11.0.0!

This release comes with many backend improvements and some notable deprecations. HVX 64 support has been removed, and OpenGL support has been deprecated (and has been removed from upstream).

You can download one of our binary releases here, or check one of the following package repositories:

Language and Compiler

  • Scheduling
    • The memoize directive gained a new EvictionKey parameter to schedule removal of particular entries from the cache. #5510
    • Added support for multi-dimensional vectorization #4873
  • Bounds inference
    • Left shifts could have incorrect bounds #5477
    • Analysis of comparisons (<,<=) and max/min could have incorrect bounds #5438
    • Integer division analysis was improved #5407
  • Various bugfixes
    • An integer-sign bug in lossless_cast was fixed #5459

Backends

  • ARM64 Windows is now supported, along with Direct3D 12. #5544
  • OpenGL (not OpenGL Compute) has been deprecated in this release and will be removed in Halide 12. You will see deprecation messages during your builds. #5475 #5551
    • We still welcome PRs to release/11.x from users who cannot move off the OpenGL backend.
    • Several bugs with EGL and OpenGL ES were fixed. #5730 #5619
    • Several bugs with plain OpenGL were fixed. #5545
  • CUDA
    • A bug with warp shuffles with narrow types was fixed #5624 #5669
  • Metal
    • Thread limits are now checked correctly #5588
  • Hexagon
    • Several bugs were fixed in #5570
    • Gained support for saturating vdmpy and vtmpy instructions #5424
    • Removed support for HVX_64 #5365 #3925

Build

  • Dependencies
    • Upgraded pybind11 dependency to 2.6.1 #5644
  • CMake
    • CMake rules learned about ppc64le targets #5558
    • CMake presets are available for users on 3.19+ #5508
    • add_halide_library gained a NAMESPACE argument to improve readability when using C++ name mangling. #5467
  • Bugfixes
    • Corrected Makefile warnings that MinGW is not supported. #5580
    • Incorrect system headers on FreeBSD/powerpc64 were replaced #5572
    • Emit error when trying to link to static LLVM, but lldWasm was linked to shared LLVM. #5472
    • CMake rules fixed for i686 systems #5675

Don't miss a new Halide release

NewReleases is sending notifications on new releases.