Skip to content

Rust wrapper for ArrayFire 3.4.0

Compare
Choose a tag to compare
@9prady9 9prady9 released this 15 Sep 08:34

Features

  • Sparse Matrix and BLAS
    • Support for CSR and COO storage types.
    • Sparse-Dense Matrix Multiplication and Matrix-Vector Multiplication as a
      part of af::matmul() using CSR format for sparse.
    • Conversion to and from dense matrix to CSR and COO storage types.
  • Faster JIT
    • Performance improvements for CUDA and OpenCL JIT functions.
    • Support for evaluating multiple outputs in a single kernel. See eval!() macro or function eval_multiple().
  • Random Number Generation
    • A random engine object to handle setting the random engine type and seed for random number generator engines.
    • Supported engine types are:
  • Graphics
    • Using Forge v0.9.0
    • New Functions to render Vector Fields
      • Window::draw_vector_field2()
      • Window::draw_vector_field3()
      • Window::draw_vector_field()
    • Multiple overlays on the same window are now possible.
      • Overlays support for same type of object (2D/3D)
      • Supported by Window::draw_plot[2|3](), Window::draw_hist(), Window::draw_surface(),
        Window::draw_vector_field[2|3]().
    • New API to set axes limits for graphs.
      • Draw calls do not automatically compute the limits. This is now under user control.
      • Window::set_axes_limits_[2d|3d|compute]() can be used to set axes limits automatically or manually.
      • Window::set_axes_titles() can be used to set axes titles.
    • New API for plot and scatter:
      • Window::draw_plot() and Window::draw_scatter() now can handle 2D and 3D and determine appropriate order.
      • draw_plot()
      • draw_plot2()
      • draw_plot3()
      • draw_scatter()
      • draw_scatter2()
      • draw_scatter3()
  • New interpolation types to enum InteropType that apply to following functions
    • resize()
    • transform()
    • approx1()
    • approx2()
  • Support for complex mathematical functions
    • Add complex support for trignometry functions, sqrt(), log().
  • medfilt1(): Median filter for 1-d signals
  • Generalized scan functions: scan_func_scan and scan_func_scanbykey
    • Now supports inclusive or exclusive scans
    • Supports binary operations defined by BinaryOp.
  • Image Moments functions
  • Add get_size_of() function for dtype

For other information regarding bug fixes, compile time improvements and known issues in ArrayFire upstream, please visit the
ArrayFire v3.4.0 Release Notes URL.

Broken/Replaced API

  • The behaviour of Window::draw_plot has been to changed to handle generic plot rendering, 2D or 3D line plots. New functions Window::draw_plot[2|3] are added for dimension specific plot rendering.
  • The behaviour of Window::draw_scatter has been to changed to handle generic plot rendering, 2D or 3D line plots. New functions Window::draw_scatter[2|3] are added for dimension specific plot rendering.