Skip to content

Releases: rindow/rindow-matlib

Version 1.1.1

13 Apr 12:02

Choose a tag to compare

Release Notes: Version 1.1.1

Bugfix

Resolved an issue where the OpenMP library was being linked to the Thread version of the library, causing it to be required at runtime.

In this version, the OpenMP library will no longer be required when using the Thread version.

Version 1.1.0

15 Mar 04:22

Choose a tag to compare

Release Notes: Version 1.1.0

New Features

  • Added a native thread-based parallel processing library. It is recommended to use the thread-based library instead of the OpenMP version from now on. This is due to issues with the Windows OpenMP library causing problems when PHP processes terminate, and for the efficiency of parallel processing algorithms.

New Functions

  • masking: Masks a numerical array with a boolean array.
  • cumsumb: An extended version of the cumsum function.
  • bandpart (integer support): Added integer support to the bandpart function.
  • gatherb: An extended version of the gather function.
  • einsum: A general version of einsum. It has high flexibility in the formulas it can process but is slow.
  • einsum4p1: A limited version of the einsum function. It can only compute 4+1 dimensional arrays but is fast.

Preview Functions

These may change or be removed in future releases.

  • topk: The top_k function.
  • gathernd: The gathernd function.

Backward Compatibility

  • Compatible with version 1.0.

Supported Platforms

  • Can be built from source in a C++ environment. There are C++ thread versions, OpenMP versions, and single-thread versions for each environment.

Prebuilt Binaries

  • Ubuntu 24.04
  • Ubuntu 22.04 (also available on Ubuntu 24.04 and Debian 12)
  • Windows (usable with Visual Studio runtime libraries on Windows 10/11)
  • macOS x86_64 (usable on macOS 13 for Intel Macs)
  • macOS Arm64 (usable on macOS 14 for Apple Silicon)

MSVC name-binding for Windows

12 May 14:05

Choose a tag to compare

MSVC name-binding for Windows

Added name binding library and made it default to prevent unexpected behavior if DLL version changes slightly on Windows.
A newly added library resolves an issue when using MSVC's standard import library that modifies the address table and prevents you from calling functions in a DLL.

Arm64 and Intel pre-build binary for MacOS

Pre-built binaries are now automatically published using Github's capabilities.
This allows us to provide both arm64 and x86_64 for MacOS.
The reason why you can't build universal binaries for MacOS is due to the specifications of the hosted runner on Github.

First Release

17 Mar 07:29

Choose a tag to compare

It can be built on Linux and Windows and MacOS.
The Windows and MacOS version works with OpenMP.
Linux is tested on Ubuntu, and OpenMP and single-threaded versions are built.
Please switch the OpenBLAS from pthead mode to OpenMP .
Or switch the Rindow-matlib from OpenMP mode to Serial mode with update-alternative command.

Known issues:

  • On Linux, a segmentation fault occurs when using OpenMP with OpenBLAS-pthead inside PHP. Please use the OpenBLAS OpenMP mode or the Rindow-Matlib-Serial mode version.

MacOS support: