lacaml

OCaml bindings for BLAS/LAPACK (high-performance linear algebra Fortran libraries)

OTHER License

Stars
127
Committers
13

Bot releases are visible (Hide)

lacaml - 11.0.10 Latest Release

Published by mmottl over 1 year ago

CHANGES:

  • Fixed platform configuration bug
lacaml - 11.0.9

Published by mmottl over 1 year ago

CHANGES:

  • Fixed a bug in the bytecode bindings for lamch, which also affected
    syevr. These functions should now not crash anymore when compiling
    to bytecode or using the OCaml interpreter.

    Thanks to Philippe Veber [email protected] for the bug report!

  • Added support for Apple Silicon.

    Thanks to Marcello Seri [email protected] for this contribution!

  • Improved Dune build rules

lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.8

Published by mmottl about 4 years ago

CHANGES:

  • Improved detection of (complex) dotu and dotc calling conventions.
lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.7

Published by mmottl about 4 years ago

CHANGES:

  • Removed package dependencies on stdio and base. This allows
    testing with the new OCaml multicore compiler, which as of now does not
    yet support these libraries.

    Thanks to Anthony Scemama for this contribution!

    • Added support for const char strings in stubs due to stricter handling
      in newer OCaml runtimes. This eliminates C-compiler warnings.
lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.6

Published by mmottl over 4 years ago

CHANGES:

  • Switched to OPAM file generation via dune-project

    • Added missing autogenerated dependencies to dune file to avoid
      build system race conditions.
lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.5

Published by mmottl about 5 years ago

CHANGES:

  • Fixed warnings in C-stubs
lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.4

Published by mmottl over 5 years ago

CHANGES:

  • Fixed an API misspecification in ptsv, which leads to incorrect results.

    Thanks to Nicolas Ratier [email protected] for the bug report!

lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.3

Published by mmottl almost 6 years ago

CHANGES:

  • Fixed a portability bug in (complex) dotu and dotc due to BLAS API
    incompatibilities between different platforms.
lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.2

Published by mmottl almost 6 years ago

CHANGES:

  • Switched to dune, dune-release, and OPAM 2.0
lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.1

Published by mmottl over 6 years ago

11.0.1 (2018-05-23)

  • Fixed warnings and errors in configuration code due to upstream changes.

  • Fixed bug in Vec.ssqr.

lacaml - https://github.com/mmottl/lacaml/releases/tag/11.0.0

Published by mmottl over 6 years ago

11.0.0 (2018-02-28)

WARNINIG WARNING WARNING

  • User code changes in existing code required! User code may still compile,
    but can behave differently!

    The following functions are affected:

    • potrf
    • potri
    • potrs

    The above functions now do not support the jitter argument anymore.
    Users should remove the flag from calls to the above functions and
    call the new Mat.add_const_diag function if they need to add jitter.
    This call should happen right before the (now required) call to potrf.

    More importantly, potri and potrs now do not support the factorize
    flag anymore, which would call potrf automatically beforehand. This was
    the (ill-conceived) default, which makes it harder to port LAPACK code
    to Lacaml. In order to upgrade your code, please do the following:

    • If potri or potrs were passed ~factorize:false, just remove
      the flag.

    • If potri or potrs were passed ~factorize:true or were called
      without the factorize flag
      , remove the flag if necessary and call
      potrf with the exactly corresponding arguments before.

    Luckily, these functions are typically used rarely, and the changes
    are trivial. Apologies anyway for the churn!

  • New functions

    • Mat.add_const_diag for adding a constant to the diagonal of a
      (sub-)matrix.
  • orgqr now detects if m < n and raises an exception instead of printing
    a Fortran error message and continuing.

  • Eigenvalue offsets should now work correctly.

  • Improved documentation.

lacaml - https://github.com/mmottl/lacaml/releases/tag/10.0.2

Published by mmottl almost 7 years ago

10.0.2 (2017-11-08)

  • Fixed bugs accessing lower pentagonal matrix patterns

  • Fixed library override issue on Mac OS X

lacaml - https://github.com/mmottl/lacaml/releases/tag/10.0.1

Published by mmottl almost 7 years ago

10.0.1 (2017-10-21)

  • Fixed wrongly capitalized build targets missed due to Mac OS X file
    system case insensitivity.
lacaml - https://github.com/mmottl/lacaml/releases/tag/10.0.0

Published by mmottl almost 7 years ago

10.0.0 (2017-10-20)

  • Switched to jbuilder and topkg

  • API changes

    • trmm and trsm now do not label argument a anymore

    • Many matrix functions now support an optional patt argument,
      which can be used to specify rectangular, triagonal, trapezoidal, and
      pentagonal patterns on which to perform an operation.

    • New functions

      • Mat.sum_prod computes the sum of elemenet-wise products of
        two matrices. Some use cases are already covered by Mat.gemm_trace,
        but the latter does not support patterns.
  • Improved C-code to better support SIMD compiler optimizations

  • Many internal improvements, including untagged and unboxed passing of
    parameters to and from external functions.

  • Compilation now uses -march=native -O3 -ffast-math by default, which
    should be safe and exploit SIMD on platforms that support it to greatly
    improve performance of some operations.

  • Improved documentation

  • Improved configuration and build process

lacaml - Release version 9.3.2

Published by mmottl over 7 years ago

lacaml - Release version 9.3.1

Published by mmottl over 7 years ago

lacaml - Release version 9.2.3

Published by mmottl over 7 years ago

lacaml - Release version 9.2.2

Published by mmottl almost 8 years ago

lacaml - Release version 9.1.1

Published by mmottl over 8 years ago

lacaml - Release version 9.1.0

Published by mmottl over 8 years ago