Nim CLBlast is a wrapper for CLBlast, an OpenCL BLAS library
The wrapper exposes:
- the core CLBlast API, this requires dealing with low-level opencl like memory allocation.
- the Netlib API that can be used as a drop-in replacement to classic BLAS libraries like OpenBLAS (or nimblas in Nim case). This doesn't require any OpenCL knowledge or setup, everything is handled by CLBlast, however each function call will require a copy of input to the OpenCL device and a copy of the result from the OpenCL device.
check template is provided to automatically check the error return values of all CLBlast calls.
Please refer to CLBlast repo.