rindow / rindow-clblast-ffi
PHP上的FFI CLBlast接口
1.0.2
2024-04-25 15:35 UTC
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
"CLBlast ffi" 是 CLBlast 库的接口。可在具有 FFI 接口的库中使用。
请参阅 Rindow Mathematics 网页上有关缓冲对象文档。
要求
- PHP 8.1 或 PHP8.2 或 PHP8.3
- CLBlast 1.5.1 或更高版本
如何设置 OpenCL & CLBlast
您可以下载并设置预构建的 CLBlast 二进制文件。请下载适合您平台的二进制文件。
Windows
将 CLBlast 和 OpenBLAS DLL 的路径添加到 Windows PATH 环境变量中。
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
在 Linux 上,您首先需要设置 OpenCL。
例如,对于 Ubuntu 标准AMD驱动程序,安装如下
$ 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 标准OpenCL驱动程序包括
- mesa-opencl-icd
- beignet-opencl-icd
- intel-opencl-icd
- nvidia-opencl-icd-xxx
- pocl-opencl-icd
接下来,设置 clblast。
在 Ubuntu 22.04 或 Debian 12 或更高版本上安装 clblast。
$ sudo apt install libclblast1
如果您使用 Ubuntu 20.04 或 Debian 11,请下载并解压缩存档文件,并将其打包为 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
然后,如果您还没有安装,请安装 rindow-clblast-ffi。
$ cd /some/app/directory
$ composer require rindow/rindow-clblast-ffi