Skip to content

Rust wrapper for ArrayFire 3.3

Compare
Choose a tag to compare
@9prady9 9prady9 released this 20 May 17:27

Major Updates

  • API breaking change is that error handling mechanism of returning Result objects from functions has been replaced with a callback style error handling. By default, we provide an error handler that panics with an appropriate message when a given function call or operation fails. If the users chooses to, they can also implement the error handler by themselves and call register_error_handler that lets the user set the function that has to handle the error values returned by ArrayFire FFI calls.
  • enum Aftype has been refactored to DType
  • CPU backend supports aysnchronous execution.
  • Performance improvements to OpenCL BLAS and FFT functions.
  • Improved performance of memory manager.
  • Improvements to visualization functions.
  • Improved sorted order for OpenCL devices.

New Functions and Features:

  • Scatter plot added to graphics functionality
  • New function get_active_backend that gives us the current active backend.
  • Improved Array Creation/Generation API
  • Added mem_info macro to print GPU memory usage information to standard output.
  • Added af_print macro.
  • Added traits clone and partialeq to all enums.
  • Added traits partialeq and debug to type Dim4.
  • transform() now supports perspective transformation matrices.
  • Type Array now has the implementations for the compound assignment operations traits. These traits are auto-enabled only if you are using Rust >= 1.8.0 since those traits are stabilized from that particular version.
  • A few new member functions are added to object Array.
  • Following are the other miscellaneous functions added to the library
    • is_lapack_available - Returns true if ArrayFire was compiled with LAPACK functions enabled
    • is_imageio_available - Returns true if ArrayFire was compiled with Freeimage enabled
    • New member function for Array Object, get_device_id, that gets the device id on which the array resides.

Following are the community contributors for this release.

Thank you guys!