Portability
^^^^^^^^^^^

Increased the minimum CUDA version required
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
We now require CUDA 7.0, whose features help keep the code more
maintainable.

Increased the minimum MSVC version required
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
We now require MSVC 2017, so we can rely on full C++11 support and the
highest quality implementations. On this platform, we now also require
CUDA 9.0.

Updated the OpenCL requirement to version 1.2
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
We now require at least OpenCL version 1.2 both for API and kernels. All
currently targeted vendors' libraries do support it, so this is not a
restriction in any way.

Preliminary support for ARM Performance Libraries
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The ARM Performance Libraries can now be used for FFT transforms through
the FFTW compatiblity layer. This can provide performance benefits over using
a vanilla FFTW3 on recent ARMv8 architectures.