-
I am a bit confused about the difference/relationship between GMLL_LLAMAFILE and GGML_BLAS. The GGML_LLAMAFILE flag causes llamafile/sgemm.cpp to be compiled and linked, which appears to pertain to "TinyBLAS". I don't understand much about BLAS, but intuition tells me you can only use one type of BLAS, e.g., if you're using TinyBLAS, then you can't use Open BLAS. However, after reading the CMakeLists.txt files, this doesn't appear to be the case. Can someone enlighten me on this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
Beta Was this translation helpful? Give feedback.
GGML_BLAS
can be used with any library that implements the CBLAS interface, such as OpenBLAS, BLIS, MKL, NVHPC, etc. Llamafile/TinyBLAS is a custom matrix multiplication library, but it does not conform to the standard BLAS interface. If you make a build with both enabled, the BLAS library will typically take precedence, although tinyBLAS may still be used with small batch sizes.