=============
Release notes
=============

Version 2.3.1
=============

This is a minor update to bump the required version of Numba to 0.30 and to
support Python 3.6.


Version 2.3.0
=============

This release of Accelerate is a feature release, containing these additions:

* A new BLAS wrapper API on top of MKL.
* MKL 11.3.3 is now supported.
* Numba 0.26 is supported-and is required.


Version 2.2.0
=============

This release of Accelerate is a feature release, containing two additions:

- Expanded the support of Intel MKL accelerated ufuncs with trigonometric and
  hyperbolic functions.
- Numba 0.25 is supported, and is a requirement.


Version 2.1.0
=============

This release of Accelerate is a feature release, containing 2 additions:

* Profiling tools

  * An enhanced version of the Python profiler that captures function arguments,
    including shapes and dtypes of Numpy arrays.
  * Integration of tools for visualising profiles in Jupyter notebooks, allowing
    interactive experimentation.

* Accelerated UFuncs, which provide a speed improvement over Numpy's built-in
  UFuncs by using Intel MKL.


Version 2.0.2
=============

This update adds support for updated versions of Numba and MKL:

* Numba 0.23 is now supported, and is a requirement.
* MKL 11.3.1, standard in Anaconda 2.5, is now supported.


Version 2.0.1
=============

This minor update to Accelerate adds no functional changes, but provides
additional clarification of the the relationship between the Accelerate and
NumbaPro conda packages upon installation.

Version 2.0
===========

NumbaPro has been deprecated, and its code generation features have been moved
into open-source Numba. The CUDA library functions have been moved into
Accelerate, along with some Intel MKL functionality. High-level functions and
access to additional native library implementations will be added in future
releases of Accelerate, and there will be no further updates to NumbaPro.

A NumbaPro compatibility layer (listed as release 0.22.0 of NumbaPro) provides
access to the new Accelerate packages through the old NumbaPro package names.
This avoids the need to change any existing code immediately for use with
Accelerate. A warning will be generated upon import of the compatibility layer,
to highlight the deprecation of the NumbaPro package.

CUDA libraries
--------------

CUDA library functionality is equivalent to that in NumbaPro 0.21, with the
following packages renamed:

=============================  ===========================
NumbaPro Package                Accelerate package
=============================  ===========================
``numbapro.cudalib.cublas``    ``accelerate.cuda.blas``
``numbapro.cudalib.cufft``     ``accelerate.cuda.fft``
``numbapro.cudalib.curand``    ``accelerate.cuda.rand``
``numbapro.cudalib.cusparse``  ``accelerate.cuda.sparse``
``numbapro.cudalib.sorting``   ``accelerate.cuda.sorting``
=============================  ===========================

Code generation
---------------

The ``vectorize`` targets ``parallel`` and ``cuda`` can now be accessed
with Numba, as can the ``cuda.reduce`` decorator. Printing of integers and
floating point values from CUDA kernels is also possible in Numba, and no longer
requires NumbaPro or Accelerate to be imported.


Intel MKL
---------

The MKL FFT implementation is available in the package
``accelerate.mkl.fftpack``, and MKL service functions are available in the
``accelerate.mkl`` package.

=================
Previous versions
=================

The following documentation is provided for users who have not yet upgraded to the current version of Accelerate:

.. toctree::
   :maxdepth: 1

   Accelerate 2.2 <2.2/index>
   Accelerate 2.1 <2.1/index>
   Accelerate 2.0 <2.0/index>
