rindow/rindow-math-matrix-matlibext

Rindow Math Matrix's Drivers for Matlib with PHP extensions

1.0.0 2024-03-29 14:40 UTC

This package is auto-updated.

Last update: 2024-03-29 14:53:21 UTC


README

Status: Build Status Downloads Latest Stable Version License

IMPORTANT

This package is matlib drivers for Rindow-math-matrix. These drivers act as adapters to drive PHP extensions. Each PHP extension requires a separate download and installation of a binary file appropriate for your environment's PHP version and OS version.

Currently, Rindow-math-matrix has stopped using PHP-extension and has moved to using FFI.

However, I left the option of using PHP-extension in case FFI is not available for some reason. This package allows you to use PHP-extension with Rindow-mat-matrix.

Overview

Rindow Math Matrix is the fundamental package for scientific matrix operation

  • A powerful N-dimensional array object
  • Sophisticated (broadcasting) functions
  • Tools for integrating C/C++ through the FFI (or PHP extensions)
  • Useful linear algebra and random number capabilities

Please see the documents on Rindow mathematics projects web pages.

Rindow Math Matrix's repository is here.

Requirements

  • PHP 8.1 or PHP8.2 or PHP8.3
  • Rindow Math Matrix v2.0
  • Rindow OpenBLAS PHP extension v0.4 (and OpenBLAS 0.3.20)
  • Rindow OpenCL PHP extension v0.2 (and OpenCL 1.1 or later)
  • Rindow CLBlast PHP extension v0.2 (and CLBlast 1.5.2)
  • Windows 10/11 or Ubuntu 20.04 LTS or later

Download pre-build binaries

You can perform very fast N-dimensional array operations in conjunction

Acceleration with GPU

You can use GPU acceleration on OpenCL.

Note:

This OpenCL support extension works better in your environment and helps speed up your laptop environment without n-NVIDIA.

Tested on Ivy-bridge and AMD's Bobcat architecture APU.

In the Windows environment, Integrated GPU usage was more effective than CPU, and it worked comfortably.

However, OLD AMD APU on Linux, libclc used in linux standard mesa-opencl-icd is very buggy and slow. If you have testable hardware, please test using the proprietary driver.

On the other hand, I tested with Ivy-bridge of Intel CPU and Integrated GPU.

Windows 10 standard OpenCL driver worked fine, but it was very slow and occasionally crashed.

And it worked fine and fast in Ubuntu 20.04 + beignet-opencl-icd environment.