Changelog
1.10.0
Support numpy 2.x.
Support pytest 8.
Drop support for Python versions older than 3.8, and update the code to use modern syntax.
Autoformat the code with ruff, and use ruff for linting.
1.9.0
Make
Fftwork with CUDA 12.9. Note that thework_areaslot may now be absent in some cases.Bring readthedocs configuration up to date.
1.8.1
Use
np.prod()instead of deprecatednp.product().Improve the exception display when accessing an unknown slot.
1.8.0
Add
KATSDPSIGPROC_TUNE_DBenvironment variable to override the location of the tuning database.Remove use of deprecated
numba.generated_jit()decorator.
1.7.0
Remove dependency on deprecated
pkg_resourcesand useimportlib.resourcesinstead.Fix
autotuner()decorator for autotune functions with no parameters.Update type annotations to allow
os.PathLikein the extra_dirs argument tobuild().
1.6.1
Fix a race condition that sometimes caused events passed to
async_wait_for_events()to be garbage-collected in a worker thread, and thus leak if the CUDA context could not be made current.
1.6.0
Add bind argument to
IOSlotBase.allocate().Update tests to avoid triggering deprecation warnings.
1.5.0
Add
KATSDPSIGPROC_TUNE_MATCHenvironment variable to control use of partial matches from the autotuning database.
1.4.3
Switching testing from nose to pytest.
Some packaging modernisation.
Fix some links to other packages in the docs.
Fix the return annotation on
katsdpsigproc.resource.wait_until().Fix a spurious warning about a future exception not being consumed if an exception is thrown in the scope of a
ResourceAllocationcontext manager.Change return type annotations on the abstract base classes to work better with mypy.
1.4.2
Change some return type annotations on abstract base classes to work around mypy limitations.
1.4.1
Destroy cuFFT plan when FftTemplate is garbage collected. This lack was (for unknown reasons) causing segmentation faults when repeatedly creating and destroying contexts without cleaning up the plans.
Fix a potential failure of FftTemplate on 32-bit systems due to an incorrect type signature.
Fix documentation on readthedocs by updating sphinxcontrib-tikz.
1.4
Add a module for FFTs (using cuFFT).
1.3
Add a pytest plugin.
1.2
Add a user guide.
Update the dependencies.
Fix the type annotations to work with numpy 1.20.
Fix deprecated usage of
np.bool.Fix handling of Context.compile when no extra flags are passed.
Fix enqueue_zero_buffer being run on the default CUDA stream.
Fix sequencing of SVMArray get and set operations with other commands in the provided command queue.
1.1
Use BLOCKING_SYNC for CUDA events, to avoid spinning on the CPU.
Drop support for Python 3.5.
Add type annotations for many classes.
Make some classes abstract base classes (they were already semantically, but now it’s indicated using
abc.Introduce some abstract base classes to underly the CUDA and OpenCL implementations.
1.0
This is the first versioned release.