FTorch Changelog

Changelog

All notable changes to the project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. For specific details see the FTorch online documentation.

Unreleased

Added

  • Intel-ifx and Intel-ifort CI and GCC v9-13 CI. Intel CI builds OpenMPI from source to accomodate MPI integration tests #438
  • Expose tensor strides via get_stride method #416
  • Remove UNIX preprocessor variable that selected the right C-integer type for 64bit int. Use int64_t instead #416
  • A new cmake option MULTI_GPU to control the build of multi GPU integration tests in #410
  • Support for AMD GPU backends (HIP) provided in #385 and #388.
  • requires_grad property hooked up to torch_tensor in #288
  • MPI example added in #270
  • Changelog file and guidance for versioning added in #313
  • A new tensor manipulation demo was introduced in #291.
  • Backpropagation implemented with torch_tensor_backward and torch_tensor_get_gradient in #286
  • Zeroing of gradients associated with a tensor implemented in #341.
  • Exposed retain_graph argument for torch_tensor_backward in #342.
  • Implemented torch_tensor_zero and class method alias in #338.
  • Provided interface for torch_tensor_from_array with default layout in #348.
  • Overload taking sum and mean of tensors in #344.

Changed

  • FTorch library (libftorch.so) produced by cmake installation now has RUNPATH that contains path to Torch library directory. Downstream targets linking against FTorch can now find the Torch dependency automatically and will compile successfully #437.
  • In all CMakeLists.txt where find_package(FTorch) was present, now using REQUIRE if not building tests to stop the cmake configuation process early for users who only wish to build examples in #434
  • fortitude dependency version increased to 0.7.0
  • Examples reordered to be more logical in #317
  • scalar multiplication/division of tensors reworked to require the scalar to first be mapped to a torch_tensor in #289
  • The unit tests for constructing and destroying tensors were separated out in #319
  • Demo numbers were bumped to account for new demo in #291.
  • Use interface for torch_tensor_from_array with default layout in tests and examples in #348.
  • Error handling in ctorch.cpp improved in #347.

Removed

  • Windows CI disabled until GitHub runner issues resolved in 50ea6d7

Patch Releases

1.0.0 - 2025-03-05

Added

  • First release of FTorch accompanying pulication in JOSS
  • MIT License
  • Notable features of the library include:
  • Representation of Torch tensors and models in Fortran
  • Ability to run inference of Torch models from Fortran
  • Early implementation of autograd features for Torch tensors in Fortran
  • Comprehensive examples suite showcasing usage
  • Testing suites:
  • Unit, using pFUnit
  • Integration, based on examples
  • Code quality and static analysis checks
  • Documentation:
  • README.md and associated files in repository
  • Online API and comprehensive docs build using FORD