aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Maldonado <63384398+yukiteruamano@users.noreply.github.com>2023-07-23 07:52:08 -0400
committerGitHub <noreply@github.com>2023-07-23 14:52:08 +0300
commit91171b8072f6f0c8ae3a61e23451acb538bb9ece (patch)
tree361b3bb789a174e3487ec6ac06855c1371aae569
parent355c80f49e32b0b15c0a457f3bad380e57f5b9ac (diff)
make : fix CLBLAST compile support in FreeBSD (#2331)
* Fix Makefile for CLBLAST compile support and instructions for compile llama.cpp FreeBSD * More general use-case for CLBLAST support (Linux and FreeBSD)
-rw-r--r--Makefile8
-rw-r--r--README.md17
2 files changed, 22 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 1ea3c45..e620835 100644
--- a/Makefile
+++ b/Makefile
@@ -235,13 +235,15 @@ ggml-cuda.o: ggml-cuda.cu ggml-cuda.h
endif # LLAMA_CUBLAS
ifdef LLAMA_CLBLAST
- CFLAGS += -DGGML_USE_CLBLAST
- CXXFLAGS += -DGGML_USE_CLBLAST
+
+ CFLAGS += -DGGML_USE_CLBLAST $(shell pkg-config --cflags clblast OpenCL)
+ CXXFLAGS += -DGGML_USE_CLBLAST $(shell pkg-config --cflags clblast OpenCL)
+
# Mac provides OpenCL as a framework
ifeq ($(UNAME_S),Darwin)
LDFLAGS += -lclblast -framework OpenCL
else
- LDFLAGS += -lclblast -lOpenCL
+ LDFLAGS += $(shell pkg-config --libs clblast OpenCL)
endif
OBJS += ggml-opencl.o
diff --git a/README.md b/README.md
index f45e4bf..c9fe618 100644
--- a/README.md
+++ b/README.md
@@ -242,6 +242,23 @@ In order to build llama.cpp you have three different options.
zig build -Doptimize=ReleaseFast
```
+- Using `gmake` (FreeBSD):
+
+ 1. Install and activate [DRM in FreeBSD](https://wiki.freebsd.org/Graphics)
+ 2. Add your user to **video** group
+ 3. Install compilation dependencies.
+
+ ```bash
+ sudo pkg install gmake automake autoconf pkgconf llvm15 clinfo clover \
+ opencl clblast openblas
+
+ gmake CC=/usr/local/bin/clang15 CXX=/usr/local/bin/clang++15 -j4
+ ```
+
+ **Notes:** With this packages you can build llama.cpp with OPENBLAS and
+ CLBLAST support for use OpenCL GPU acceleration in FreeBSD. Please read
+ the instructions for use and activate this options in this document below.
+
### Metal Build
Using Metal allows the computation to be executed on the GPU for Apple devices: