ArrayFire v3.6.0 Release Notes

Release Date: 2018-05-04 // almost 6 years ago
  • v3.6.0

    The source code with submodules can be downloaded directly from the following link:
    http://arrayfire.com/arrayfire_source/arrayfire-full-3.6.0.tar.bz2

    โšก๏ธ Major Updates

    • Added the topk() function. 1
    • Added batched matrix multiply support.2 3
    • Added anisotropic diffusion, anisotropicDiffusion().Documentation 3.

    ๐Ÿ”‹ Features

    • Added support for batched matrix multiply. 1 2
    • New anisotropic diffusion function, anisotropicDiffusion(). Documentation 3.
    • New topk() function, which returns the top k elements along a given dimension of the input. Documentation. 4
    • ๐Ÿ–จ New gradient diffusion example.

    ๐Ÿ‘Œ Improvements

    • JITed select() and shift() functions for CUDA and OpenCL backends. 1
    • Significant CMake improvements. 2 3 4
    • ๐Ÿ‘Œ Improved the quality of the random number generator 5
    • โœ… Corrected assert function calls in select() tests. 5
    • Modified af_colormap struct to match forge's definition. 6
    • ๐Ÿ‘Œ Improved Black Scholes example. 7
    • ๐Ÿš€ Used CPack to generate installers. 8. We will be using CPack to generate installers beginning with this release.
    • Refactored black_scholes_options example to use built-in af::erfc function for cumulative normal distribution.9.
    • โฌ‡๏ธ Reduced the scope of mutexes in memory manager 10
    • Official installers do not require the CUDA toolkit to be installed starting with v3.6.0.

    ๐Ÿ› Bug fixes

    • โš  Fixed shfl_down() warnings with CUDA 9. 1
    • Disabled CUDA JIT debug flags on ARM architecture.2
    • ๐Ÿ›  Fixed CLBLast install lib dir for linux platform where lib directory has arch(64) suffix.3
    • ๐Ÿ›  Fixed assert condition in 3d morph opencl kernel.4
    • ๐Ÿ›  Fixed JIT errors with large non-linear kernels5
    • ๐Ÿ›  Fixed bug in CPU JIT after moddims was called 5
    • ๐Ÿ›  Fixed a deadlock scenario caused by the method MemoryManager::nativeFree6

    ๐Ÿ“š Documentation

    • ๐Ÿ›  Fixed variable name typo in vectorization.md. 1
    • Fixed AF_API_VERSION value in Doxygen config file. 2

    Known issues

    • ๐Ÿ‘ NVCC does not currently support platform toolset v141 (Visual Studio 2017 R15.6). Use the v140 platform toolset, instead. You may pass in the toolset version to CMake via the -T flag like so cmake -G "Visual Studio 15 2017 Win64" -T v140.
    • โœ… Several OpenCL tests failing on OSX:
      • canny_opencl, fft_opencl, gen_assign_opencl, homography_opencl, reduce_opencl, scan_by_key_opencl, solve_dense_opencl, sparse_arith_opencl, sparse_convert_opencl, where_opencl

    Contributions

    Special thanks to our contributors:
    Adrien F. Vincent, Cedric Nugteren, Felix, Filip Matzner, HoneyPatouceul, Patrick Lavin, Ralf Stubner, William Tambellini