Skip to content

Releases: flashlight/flashlight

v0.3.2

19 Mar 17:22
Compare
Choose a tag to compare

This is a patch release that will be the last release before breaking changes to Flashlight given the Flashlight Tensor framework (fl::Tensor). This and other patch releases to v0.3.x will be updated as needed in the 0.3 branch, which will diverge from main.

Fixes in this release include:

  • Build fixes, removing empty target issues for install (#834)
  • Updates to Google Mock syntax to require a minimum version of 1.10.
  • An updated CITATION file for citing FL
  • Updates to CircleCI per breaking changes
  • Improvements to CMake BLAS lib locating (#806)
  • Fix gradient computation for batched matrix multiply (#760)
  • Refactoring Flashlight components into a pkg-based layout (#713)

This release contains improvements to the Flashlight Tensor API (flashlight/fl/tensor) including:

  • A roll operator for Tensor
  • Fixes to static initialization for ArrayFireBackend state
  • Fixes to the concatenate operation with the ArrayFireBackend
  • Better Tensor and Shape stringification functions (#808)
  • TensorBackend::isDataTypeSupported()
  • TensorBackend::getDeviceCount()
  • Adds a sorting operation that returns both values and indices (#809)
  • Better protection for OOB indexing on a Shape (#810)
  • The TensorExtension API for autograd and vision primitives (#762)
  • Scalar exponentiation by a tensor (#774)
  • Tensor broadcasting for binary ops (#775)
  • A scalar (0D) tensor type
  • A flip operator (#766)
  • Rounding and cumsum operators
  • Reductions that return host-side primitives now return Tensors (#755)

v0.3.1

15 Oct 17:02
Compare
Choose a tag to compare

v0.3.1 is a patch release that includes fixes since v0.3 and the initial fl::Tensor API.

New Features

  • Introduce the fl::Tensor API. See flashlight/fl/tensor for more.
    • Flashlight will be adapted to use the API in a forthcoming release.
  • A distributed stub backend to enable building apps without a distributed backend for the time being (will be disentangled in a later release) (#614)
  • A benchmark app to use for end to end performance benchmarking of common models
  • C++17 minimum requirement
  • Introduce DynamicScaler to abstract away repeated logic in mixed precision training
  • Support for automatic mixed precision training with DETR, ResNet, and ViT
  • Codecov

Fixes

  • Change behavior of comformer skip connections (#587)
  • Fixes to typing in the advanced index kernel
  • Removes eval() in the backward pass
  • Serialization support for audio augmentations
  • Rewrite of the SinusoidalPositionEmbedding operator to avoid concatenation

Thanks to external contributors for their contributions, including:
@lunixbochs
@tlikhomanenko

v0.3

16 Apr 22:30
Compare
Choose a tag to compare

First stable release post-consolidation. Separates Flashlight into four parts:

  • flashlight/lib contains kernels and standalone utilities for sequence losses, beam search decoding, text processing, and more.
  • flashlight/fl is the core neural network library using the ArrayFire tensor library.
  • flashlight/app are applications of the core library to machine learning across domains.
  • flashlight/ext are extensions on top of Flashlight and ArrayFire that are useful across apps.

Major Features

  • Automatic mixed precision training (AMP) -- typed tensor and autograd operators
  • Framework for building custom memory managers on top of ArrayFire (docs)
  • OneDNN as a backend for primitive operations on the CPU
  • New dataset abstractions in core (flashlight/fl/dataset)
  • Application libraries
  • Audio augmentation library (ASR)
  • Tools for training models using iterative pseudo-labeling (IPL) (ASR)
  • [early] OpenCL support with both RoCM and Intel

Build Changes/Improvements

  • C++ 17 support -- gcc 7/clang 6 required.
  • Support for vcpkg via FL_BUILD_STANDALONE
  • Consolidation of wav2letter and app-based build selection
  • CMake 3.10 minimum, better support for shared objects
  • First class support for CUDA and Halide kernels
  • Improved support for downloading not-found dependencies (Gloo, KenLM, libsndfile)
  • Improved support for dependency management for downstream projects using Flashlight's installed CMake config (cmake/flashlightConfig.cmake.in)
  • Supporting padding in transformer/multihead attention
  • SpecAugment for raw waves (implemented vie low-pass filter)
  • Conformer Implementation
  • Improve autograd for indexing operator (support repeated indices)
  • Improve python bindings build, supporting setup.py install
  • A lot of docs.

Improvements/new features in wav2letter (flashlight/app/asr)

  • Fixed padding issues in s2s models: pre-training window, encoder attention, encoder-decoder attention
  • Refactor s2s codebase
  • Fixes to memory allocations for s2s beam-search decoder (less memory, no OOM issues)
  • Fixes to beam-search decoder to support non-empty surround
  • Fixes to dataset pipeline + dynamic batching support

v0.2 (pre Flashlight-consolidation)

28 Dec 17:19
Compare
Choose a tag to compare

This is an old release and is the final release before the wav2letter was consolidated into Flashlight. See the ASR application in Flashlight for the new wav2letter source.

The core Flashlight library has been moved to flashlight/fl.

Initial Release

22 Dec 06:42
Compare
Choose a tag to compare
Initial Release Pre-release
Pre-release

Going Native with Flashlight

To get started, visit the documentation.

Credits

Thanks to our contributors:

Vineel Pratap, Awni Hannun, Jacob Kahn, Qiantong Xu, Jeff Cai, Gabriel Synnaeve, Vitaliy Liptchinsky, Ronan Collobert, Ann Lee, Jay Mahadeokar and Tatiana Likhomanenko