From 4e8be787c7855f02a7bcf9af116d2905ddd59725 Mon Sep 17 00:00:00 2001 From: Bruce MacDonald Date: Wed, 20 Sep 2023 17:40:42 +0100 Subject: [PATCH] pack in cuda libs --- docs/development.md | 2 +- llm/llama.cpp/generate_linux.go | 8 ++++++++ llm/llama.go | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/development.md b/docs/development.md index 54d910e4..803e5135 100644 --- a/docs/development.md +++ b/docs/development.md @@ -35,5 +35,5 @@ Now you can run `ollama`: ## Building on Linux with GPU support - Install cmake and nvidia-cuda-toolkit -- run `CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\)\.\([0-9]\+\).*$/\1/p') go generate ./...` +- run `CUDA_VERSION=11 CUDA_PATH=/path/to/libcuda.so CUBLAS_PATH=/path/to/libcublas.so CUDART_PATH=/path/to/libcudart.so CUBLASLT_PATH=/path/to/libcublasLt.so go generate ./...` - run `go build .` diff --git a/llm/llama.cpp/generate_linux.go b/llm/llama.cpp/generate_linux.go index 7436391f..67c6647d 100644 --- a/llm/llama.cpp/generate_linux.go +++ b/llm/llama.cpp/generate_linux.go @@ -19,3 +19,11 @@ package llm //go:generate cmake --build ggml/build/cuda-${CUDA_VERSION} --target server --config Release //go:generate cmake -S gguf -B gguf/build/cuda-${CUDA_VERSION} -DLLAMA_CUBLAS=on -DLLAMA_ACCELERATE=on -DLLAMA_K_QUANTS=on //go:generate cmake --build gguf/build/cuda-${CUDA_VERSION} --target server --config Release +//go:generate cp --dereference ${CUDA_PATH} ggml/build/cuda-${CUDA_VERSION}/bin/libcuda.so +//go:generate cp --dereference ${CUDA_PATH} gguf/build/cuda-${CUDA_VERSION}/bin/libcuda.so +//go:generate cp --dereference ${CUBLAS_PATH} ggml/build/cuda-${CUDA_VERSION}/bin/libcublas.so.11 +//go:generate cp --dereference ${CUBLAS_PATH} gguf/build/cuda-${CUDA_VERSION}/bin/libcublas.so.11 +//go:generate cp --dereference ${CUDART_PATH} ggml/build/cuda-${CUDA_VERSION}/bin/libcudart.so.11.0 +//go:generate cp --dereference ${CUDART_PATH} gguf/build/cuda-${CUDA_VERSION}/bin/libcudart.so.11.0 +//go:generate cp --dereference ${CUBLASLT_PATH} ggml/build/cuda-${CUDA_VERSION}/bin/libcublasLt.so.11 +//go:generate cp --dereference ${CUBLASLT_PATH} gguf/build/cuda-${CUDA_VERSION}/bin/libcublasLt.so.11 diff --git a/llm/llama.go b/llm/llama.go index 2390f653..eaf89ef9 100644 --- a/llm/llama.go +++ b/llm/llama.go @@ -353,7 +353,7 @@ func newLlama(model string, adapters []string, runners []ModelRunner, opts api.O runner.Path, append(params, "--port", strconv.Itoa(port))..., ) - + cmd.Env = append(os.Environ(), fmt.Sprintf("LD_LIBRARY_PATH=%s", filepath.Dir(runner.Path))) cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr