ArrayFire v3.4.2 Release Notes

Release Date: 2016-12-21 // over 7 years ago
  • v3.4.2

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

    Installer CUDA Version: 8.0 (Required)
    Installer OpenCL Version: 1.2 (Minimum)

    ๐Ÿ—„ Deprecation Announcement

    ๐Ÿš€ This release supports CUDA 6.5 and higher. The next ArrayFire release will
    ๐Ÿ‘Œ support CUDA 7.0 and higher, dropping support for CUDA 6.5. Reasons for no
    ๐Ÿ‘ longer supporting CUDA 6.5 include:

    • ๐Ÿ‘ CUDA 7.0 NVCC supports the C++11 standard (whereas CUDA 6.5 does not), which
      is used by ArrayFire's CPU and OpenCL backends.
    • Very few ArrayFire users still use CUDA 6.5.

    ๐Ÿ‘ As a result, the older Jetson TK1 / Tegra K1 will no longer be supported in
    ๐Ÿš€ the next ArrayFire release. The newer Jetson TX1 / Tegra X1 will continue to
    have full capability with ArrayFire.

    ๐Ÿณ Docker

    ๐Ÿ‘Œ Improvements

    • Implemented sparse storage format conversions between AF_STORAGE_CSR
      and AF_STORAGE_COO.
      1
      • Directly convert between AF_STORAGE_COO <--> AF_STORAGE_CSR
        ๐Ÿ“œ using the af::sparseConvertTo() function.
      • af::sparseConvertTo() now also supports converting to dense.
    • ๐Ÿ“œ Added cast support for sparse arrays.
      1
      • Casting only changes the values array and the type. The row and column
        index arrays are not changed.
    • Reintroduced automated computation of chart axes limits for graphics functions.
      1
      • The axes limits will always be the minimum/maximum of the current and new
        limit.
      • The user can still set limits from API calls. If the user sets a limit
        from the API call, then the automatic limit setting will be disabled.
    • Using boost::scoped_array instead of boost::scoped_ptr when managing
      array resources.
      1
    • ๐ŸŽ Internal performance improvements to getInfo() by using const references
      to avoid unnecessary copying of ArrayInfo objects.
      1
    • โž• Added support for scalar af::array inputs for af::convolve() and
      set functions.
      1
      2
      3
    • ๐ŸŽ Performance fixes in af::fftConvolve() kernels.
      1
      2

    ๐Ÿ— Build

    • ๐Ÿ‘Œ Support for Visual Studio 2015 compilation.
      1
      2
    • ๐Ÿ›  Fixed FindCBLAS.cmake when PkgConfig is used.
      1

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixes to JIT when tree is large.
      1
      2
    • ๐Ÿ›  Fixed indexing bug when converting dense to sparse af::array as
      AF_STORAGE_COO.
      1
    • ๐Ÿ›  Fixed af::bilateral() OpenCL kernel compilation on OS X.
      1
    • ๐Ÿ›  Fixed memory leak in af::regions() (CPU) and af::rgb2ycbcr().
      1
      2
      3

    Installers

    • ๐Ÿ›  Major OS X installer fixes.
      1
      • Fixed installation scripts.
      • Fixed installation symlinks for libraries.
    • ๐Ÿ Windows installer now ships with more pre-built examples.

    Examples

    • โž• Added af::choleskyInPlace() calls to cholesky.cpp example.
      1

    ๐Ÿ“š Documentation

    • โž• Added u8 as supported data type in getting_started.md.
      1
    • ๐Ÿ›  Fixed typos.
      1

    CUDA 8 on OSX

    Known Issues

    • Known failures with CUDA 6.5. These include all functions that use
      ๐Ÿ“œ sorting. As a result, sparse storage format conversion between
      AF_STORAGE_COO and AF_STORAGE_CSR has been disabled for CUDA 6.5.