rindow / rindow-clblast-ffi
The CLBlast interface for FFI on PHP
Requires
- php: ^8.1
- interop-phpobjects/polite-math: ~1.0.7
- rindow/rindow-opencl-ffi: ~1.0.0
Requires (Dev)
- ext-ffi: *
- rindow/rindow-math-buffer-ffi: >=1.0.0
- rindow/rindow-matlib-ffi: >=1.0.0
- rindow/rindow-openblas-ffi: >=1.0.0
README
"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