v3.7 Release
v3.7.0
Major Updates
- Added the ability to customize the memory manager(Thanks jacobkahn and flashlight) [#2461]
- Added 16-bit floating point support for several functions [#2413] [#2587] [#2585] [#2587] [#2583]
- Added sumByKey, productByKey, minByKey, maxByKey, allTrueByKey, anyTrueByKey, countByKey [#2254]
- Added confidence connected components [#2748]
- Added neural network based convolution and gradient functions [#2359]
- Added a padding function [#2682]
- Added pinverse for pseudo inverse [#2279]
- Added support for uniform ranges in approx1 and approx2 functions. [#2297]
- Added support to write to preallocated arrays for some functions [#2599] [#2481] [#2328] [#2327]
- Added meanvar function [#2258]
- Add support for sparse-sparse arithmetic support [#2312]
- Added rsqrt function for reciprocal square root [#2500]
- Added a lower level af_gemm function for general matrix multiplication [#2481]
- Added a function to set the cuBLAS math mode for the CUDA backend [#2584]
- Separate debug symbols into separate files [#2535]
- Print stacktraces on errors [#2632]
- Support move constructor for af::array [#2595]
- Expose events in the public API [#2461]
- Add setAxesLabelFormat to format labels on graphs [#2495]
- Added deconvolution functions [#1881]
Improvements
- Better error messages for systems with driver or device incompatibilities [#2678] [#2448][#2761]
- Optimized unified backend function calls [#2695]
- Optimized anisotropic smoothing [#2713]
- Optimized canny filter for CUDA and OpenCL [#2727]
- Better MKL search script [#2738][#2743][#2745]
- Better logging of different submodules in ArrayFire [#2670] [#2669]
- Improve documentation [#2665] [#2620] [#2615] [#2639] [#2628] [#2633] [#2622] [#2617] [#2558] [#2326][#2515]
- Optimized af::array assignment [#2575]
- Update the k-means example to display the result [#2521]
Fixes
- Fix multi-config generators [#2736]
- Fix access errors in canny [#2727]
- Fix segfault in the unified backend if no backends are available [#2720]
- Fix access errors in scan-by-key [#2693]
- Fix sobel operator [#2600]
- Fix an issue with the random number generator and s16 [#2587]
- Fix issue with boolean product reduction [#2544]
- Fix array_proxy move constructor [#2537]
- Fix convolve3 launch configuration [#2519]
- Fix an issue where the fft function modified the input array [#2520]
- Added a work around for nvidia-opencl runtime if forge dependencies are missing [#2761]
Contributions
Special thanks to our contributors:
@jacobkahn
@WilliamTambellini
@lehins
@r-barnes
@GAIKA
@ShalokShalom