rindow/rindow-clblast-ffi

The CLBlast interface for FFI on PHP

1.0.2 2024-04-25 15:35 UTC

This package is auto-updated.

Last update: 2024-12-25 17:22:14 UTC


README

Status: Build Status Downloads Latest Stable Version License

"The CLBlast ffi" is a interface for the CLBlast library. Available in libraries with FFI interface.

Please see the documents about Buffer objects on Rindow Mathematics web pages.

Requirements

  • PHP 8.1 or PHP8.2 or PHP8.3
  • CLBlast 1.5.1 or later

How to setup OpenCL & CLBlast

You can download and setup pre-built CLBlast binaries. Please download the binaries for your platform.

Windows

CLBlast and OpenBLAS DLL's path to Windows PATH environment variable.

C:\tmp>PATH %PATH%;/path/to/OpenBLAS/bin;/path/to/CLBlast-Library/lib
C:\tmp>cd /some/app/directory
C:\app\dir>composer require rindow/rindow-clblast-ffi

Ubuntu

On Linux, you first need to set up OpenCL.

For example, in the case of Ubuntu standard AMD driver, install as follows

$ sudo apt install clinfo
$ sudo apt install mesa-opencl-icd
$ sudo mkdir -p /usr/local/usr/lib
$ sudo ln -s /usr/lib/clc /usr/local/usr/lib/clc

Ubuntu standard OpenCL drivers include:

  • mesa-opencl-icd
  • beignet-opencl-icd
  • intel-opencl-icd
  • nvidia-opencl-icd-xxx
  • pocl-opencl-icd

Next, Setup clblast.

Install clbast on Ubuntu 22.04 or Debian 12 or later.

$ sudo apt install libclblast1

If you use Ubuntu 20.04 or Debian 11, download and Extract Archive file and Pack to deb

$ cd /some/app/directory
$ composer require rindow/rindow-clblast-ffi
$ cp vendor/rindow/rindow-clblast-ffi/clblast-packdeb.sh .
$ sh ./clblast-packdeb.sh
$ sudo apt install ./clblast_X.X.X_amd64.deb

And then, Please install rindow-clblast-ffi if you have not already done so.

$ cd /some/app/directory
$ composer require rindow/rindow-clblast-ffi