|
8 tháng trước cách đây | |
---|---|---|
.. | ||
example | 9 tháng trước cách đây | |
ggml-cuda | 9 tháng trước cách đây | |
patches | 9 tháng trước cách đây | |
runner | 8 tháng trước cách đây | |
.gitignore | 9 tháng trước cách đây | |
Makefile | 9 tháng trước cách đây | |
README.md | 9 tháng trước cách đây | |
base64.hpp | 9 tháng trước cách đây | |
build-info.cpp | 9 tháng trước cách đây | |
clip.cpp | 9 tháng trước cách đây | |
clip.h | 9 tháng trước cách đây | |
common.cpp | 9 tháng trước cách đây | |
common.h | 9 tháng trước cách đây | |
ggml-aarch64.c | 9 tháng trước cách đây | |
ggml-aarch64.h | 9 tháng trước cách đây | |
ggml-alloc.c | 9 tháng trước cách đây | |
ggml-alloc.h | 9 tháng trước cách đây | |
ggml-backend-impl.h | 9 tháng trước cách đây | |
ggml-backend.c | 9 tháng trước cách đây | |
ggml-backend.h | 9 tháng trước cách đây | |
ggml-common.h | 9 tháng trước cách đây | |
ggml-cuda.cu | 9 tháng trước cách đây | |
ggml-cuda.h | 9 tháng trước cách đây | |
ggml-impl.h | 9 tháng trước cách đây | |
ggml-metal-darwin_arm64.m | 9 tháng trước cách đây | |
ggml-metal.h | 9 tháng trước cách đây | |
ggml-metal.metal | 9 tháng trước cách đây | |
ggml-quants.c | 9 tháng trước cách đây | |
ggml-quants.h | 9 tháng trước cách đây | |
ggml.c | 9 tháng trước cách đây | |
ggml.h | 9 tháng trước cách đây | |
grammar-parser.cpp | 9 tháng trước cách đây | |
grammar-parser.h | 9 tháng trước cách đây | |
json-schema-to-grammar.cpp | 9 tháng trước cách đây | |
json-schema-to-grammar.h | 9 tháng trước cách đây | |
json.hpp | 9 tháng trước cách đây | |
llama-grammar.cpp | 9 tháng trước cách đây | |
llama-grammar.h | 9 tháng trước cách đây | |
llama-impl.h | 9 tháng trước cách đây | |
llama-sampling.cpp | 9 tháng trước cách đây | |
llama-sampling.h | 9 tháng trước cách đây | |
llama-vocab.cpp | 9 tháng trước cách đây | |
llama-vocab.h | 9 tháng trước cách đây | |
llama.cpp | 9 tháng trước cách đây | |
llama.go | 8 tháng trước cách đây | |
llama.h | 9 tháng trước cách đây | |
llama_darwin.c | 9 tháng trước cách đây | |
llama_darwin.go | 9 tháng trước cách đây | |
llama_test.go | 9 tháng trước cách đây | |
llava.cpp | 9 tháng trước cách đây | |
llava.h | 9 tháng trước cách đây | |
log.h | 9 tháng trước cách đây | |
sampling.cpp | 9 tháng trước cách đây | |
sampling.h | 9 tháng trước cách đây | |
sampling_ext.cpp | 9 tháng trước cách đây | |
sampling_ext.h | 9 tháng trước cách đây | |
sgemm.cpp | 9 tháng trước cách đây | |
sgemm.h | 9 tháng trước cách đây | |
stb_image.h | 9 tháng trước cách đây | |
sync.sh | 9 tháng trước cách đây | |
unicode-data.cpp | 9 tháng trước cách đây | |
unicode-data.h | 9 tháng trước cách đây | |
unicode.cpp | 9 tháng trước cách đây | |
unicode.h | 9 tháng trước cách đây |
llama
Note: this package is not used in Ollama yet. For now, see the
llm
package.
This package integrates the llama.cpp library as a Go package and makes it easy to build it with tags for different CPU and GPU processors.
Supported:
Extra build steps are required for CUDA and ROCm on Windows since nvcc
and hipcc
both require using msvc as the host compiler. For these shared libraries are created:
ggml_cuda.dll
on Windows or ggml_cuda.so
on Linuxggml_hipblas.dll
on Windows or ggml_hipblas.so
on LinuxNote: it's important that memory is allocated and freed by the same compiler (e.g. entirely by code compiled with msvc or mingw). Issues from this should be rare, but there are some places where pointers are returned by the CUDA or HIP runtimes and freed elsewhere, causing a a crash. In a future change the same runtime should be used in both cases to avoid crashes.
go build .
go build -tags avx .
# go doesn't recognize `-mfma` as a valid compiler flag
# see https://github.com/golang/go/issues/17895
go env -w "CGO_CFLAGS_ALLOW=-mfma|-mf16c"
go env -w "CGO_CXXFLAGS_ALLOW=-mfma|-mf16c"
go build -tags=avx,avx2 .
Install the CUDA toolkit v11.3.1:
make ggml_cuda.so
go build -tags avx,cuda .
Install the CUDA toolkit v11.3.1:
make ggml_hipblas.so
go build -tags avx,rocm .
Download w64devkit for a simple MinGW development environment.
Install the CUDA toolkit v11.3.1 then build the cuda code:
make ggml_cuda.dll
go build -tags avx,cuda .
Install ROCm 5.7.1.
make ggml_hipblas.dll
go build -tags avx,rocm .
# build all runners for this platform
make -j
To update this package to the latest llama.cpp code, use the sync.sh
script:
./sync.sh ../../llama.cpp