Skip to content

Releases: KernelTuner/kernel_tuner

Version 1.3.1

21 Jan 16:22

Choose a tag to compare

This release brings together several optimizations and smaller bug fixes. It also adds support for cuda-python versions 13 and higher.

What's Changed

  • Fix issue 335 ValueError: (...) is not in list during Bayesian optimization by @stijnh in #336
  • Remove error_message_searchspace_fully_observed message in BO by @stijnh in #338
  • fix issue #332 by @benvanwerkhoven in #334
  • Recalculate metrics for each configuration in simulation runner by @stijnh in #307
  • Bump urllib3 from 2.5.0 to 2.6.0 in /doc by @dependabot[bot] in #341
  • Change test-python-package.yml to use macos-latest by @stijnh in #344
  • Bump filelock from 3.18.0 to 3.20.1 in /doc by @dependabot[bot] in #346
  • Bump urllib3 from 2.6.0 to 2.6.3 in /doc by @dependabot[bot] in #347
  • Bump virtualenv from 20.30.0 to 20.36.1 in /doc by @dependabot[bot] in #349
  • Bump filelock from 3.20.1 to 3.20.3 in /doc by @dependabot[bot] in #350
  • Clarify contribution guidelines regarding AI-generated code by @benvanwerkhoven in #353
  • Use the new cuda-python modules by @isazi in #345
  • Optimized searchspace operations by @fjwillemsen in #354
  • Add new Hamming-adjacent neighborhood method by @stijnh in #313
  • This fixes issue #333 on backwards compatibility with the old restrictions function by @fjwillemsen in #337
  • Fix bug in simulated annealing when dealing with negative objectives by @stijnh in #331
  • Replace bfloat16 dtype from bfloat16 package by one from ml_dtypes package by @stijnh in #330
  • Fix evaluation count in PyATF search strategies by @stijnh in #342

Full Changelog: 1.3.0...1.3.1

Version 1.3.0

03 Sep 14:42
5a48c0b

Choose a tag to compare

This release presents another major step forwards in particular with regard to hyperparameter tuning of the optimization strategies in Kernel Tuner. In addition, many of the optimization strategies have been made aware of constraints. This means they will initialize with only valid configurations, use the search space object to query only valid neighbors, and when needed repair invalid configs to valid neighboring ones.

In addition, the Differential Evolution strategy previously relied on scipy.optimize.diff_evo, which has now been replaced with a brand new implementation that is more suited for discrete search spaces, including those with strings as parameter valus, and the strategy is also constraint-aware.

Finally, Kernel Tuner now also allows users to pass their own optimization algorithms as search strategies for auto-tuning. For this purpose, kernel_tuner.strategies.wrapper implements an OptAlgWrapper class that can wrap an existing optimizer.

What's Changed

New Contributors

Full Changelog: 1.2...1.3.0

Version 1.2

17 Jul 08:23
8ce5847

Choose a tag to compare

This release includes many different fixes and upgrades in different areas. In particular, the search space construction, and OpenMP support. Bugs were fixed related to optimizing using maximization instead of minimization impacting all strategies and in particular for Firefly. Smaller improvements have been made to improve user-friendliness, documentation, Python 3.13 compatibility, the HIP backend, support for string-valued tunable parameters for mixed-precision tuning.

What's Changed

Full Changelog: 1.1.3...1.2

Version 1.1.3

21 May 12:21

Choose a tag to compare

This release contains a number of small bugfixes and enables support on Nvidia Blackwell GPUs.

What's Changed

New Contributors

Full Changelog: 1.1.2...1.1.3

Version 1.1.2

08 Apr 08:48

Choose a tag to compare

This release would not have been necessary if I had not forgotten to increment the version number on the previous release that I made 20 minutes ago. Alas, we all make mistakes sometimes.

Version 1.1.1

08 Apr 08:25
ece0719

Choose a tag to compare

The sole purpose of this release is to support Numpy 2.0 and newer. The main motivation for this is to make the examples and tutorial notebooks working again on Google Colab.

What's Changed

Full Changelog: 1.1.0...1.1.1

Version 1.1.0

04 Apr 10:10
85da990

Choose a tag to compare

This release integrates many smaller changes that have been made over the past year.

The most significant new features are:

  • The NCUObserver to include performance metrics from the Nvidia Profiler during tuning
  • TegraObserver to read/set clock frequencies, power and temperature on Nvidia Jetson GPUs

In addition, a lot of work has been put into several backends, including OpenACC, the compiler backend, the HIP backend and so on.

Thanks to everyone who contributed to Kernel Tuner in the past year!

What's Changed

New Contributors

Full Changelog: 1.0...1.1.0

Version 1.0

04 Apr 20:03

Choose a tag to compare

Finally, the Version 1.0 release is here! The software has been stable and ready for production use for quite some time now and after being in beta for about a half a year, we are confident that the current version of the software deserves to mark the first major release of Kernel Tuner.

Version 1.0 integrates a lot of new functionality, including blazing fast search space construction, support for tuning HIP kernels on AMD GPUs, new functionality for mixed precision and accuracy tuning, experimental support for tuning OpenACC programs, a conda package installer for Kernel Tuner, and many more changes and additions.

I would like to thank every one involved in the development of Kernel Tuner of the past years! Special thanks to the Kernel Tuner developers team for their continued support of the project!

From the Changelog

  • HIP backend to support tuning HIP kernels on AMD GPUs
  • Experimental features for mixed-precision and accuracy tuning
  • Experimental features for OpenACC tuning
  • Major speedup due to new parser and using revamped python-constraint for searchspace building
  • Implemented ability to use PySMT and ATF for searchspace building
  • Added Poetry for dependency and build management
  • Switched from setup.py and setup.cfg to pyproject.toml for centralized metadata, added relevant tests
  • Updated GitHub Action workflows to use Poetry
  • Updated dependencies, most notably NumPy is no longer version-locked as scikit-opt is no longer a dependency
  • Documentation now uses pyproject.toml metadata, minor fixes and changes to be compatible with updated dependencies
  • Set up Nox for testing on all supported Python versions in isolated environments
  • Added linting information, VS Code settings and recommendations
  • Discontinued use of OrderedDict, as all dictionaries in the Python versions used are already ordered
  • Dropped Python 3.7 support

Merged Pull Requests

New Contributors

Full Changelog: 0.4.5...1.0

Version 1.0.0b6

07 Dec 08:19

Choose a tag to compare

Version 1.0.0b6 Pre-release
Pre-release

This is a beta release for early access to the new features. Not intended for production use.

The release contains:

  • Inclusion of tests in the source package, as requested in #225
  • Updated dependencies

Version 1.0.0b5

01 Nov 14:11

Choose a tag to compare

Version 1.0.0b5 Pre-release
Pre-release

This is a beta release for early access to the new features. Not intended for production use.

The release contains:

  • Expanded documentation on backends by @benvanwerkhoven in #213
  • A fix for an issue that could cause incorrect conversion to Constraint
  • Extended tests to detect this
  • Bump urllib3 from 2.0.6 to 2.0.7 by @dependabot in #222
  • Updated dependencies

Full Changelog: 1.0.0b4...1.0.0b5