summaryrefslogtreecommitdiff
path: root/opt/llama.cpp/MAKEPKG
blob: 8d32dd5aae12cf906b6dc85a2ee4e18e537d3542 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/mkpkg
# description: LLM inference engine with ROCm/HIP GPU backend
# url: https://github.com/ggml-org/llama.cpp

name=llama.cpp
version=b9840
release=1
depends=(rocm-rocminfo rocm-hipamd rocm-hipblas rocm-rocblas rocm-llvm)
makedeps=(cmake ninja gcc-compat)
source=(https://github.com/ggml-org/llama.cpp/archive/refs/tags/$version.tar.gz)
renames=(llama.cpp-$version.tar.gz)
sha256sums=(
    "6a786175a32873ec25ef66be623fca5d74636cf5128574e1caf6f1e13f43780d"
)

build() {
    unset ROCM_PATH
    export HIPCXX=/usr/lib/rocm/llvm/bin/clang++
    export HIPFLAGS="--hip-path=/usr --rocm-device-lib-path=/usr/lib/rocm/amdgcn/bitcode"
    export HIP_PATH=/usr

    cmake -S llama.cpp-$version -B build -G Ninja -Wno-dev \
        -DCMAKE_CXX_FLAGS="$CXXFLAGS -include cstdlib -include cerrno" \
        -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/rocm/llvm/lib" \
        -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/rocm/llvm/lib" \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DCMAKE_C_COMPILER=/usr/lib/rocm/llvm/bin/clang \
        -DCMAKE_CXX_COMPILER=/usr/lib/rocm/llvm/bin/clang++ \
        -DCMAKE_HIP_COMPILER_ROCM_ROOT=/usr \
        -DCMAKE_PREFIX_PATH="/usr;/usr/lib/rocm;/usr/lib/rocm/llvm" \
        -DHIP_PLATFORM=amd \
        -DGGML_HIP=ON \
        -DGPU_TARGETS="gfx1030;gfx1201" \
        -DGGML_HIP_GRAPHS=OFF \
        -DGGML_NATIVE=OFF \
        -DGGML_CCACHE=OFF \
        -DLLAMA_BUILD_SERVER=ON \
        -DLLAMA_BUILD_UI=OFF \
        -DLLAMA_USE_PREBUILT_UI=OFF \
        -DBUILD_SHARED_LIBS=OFF \
        -DLLAMA_BUILD_TESTS=OFF

    ninja -C build
    DESTDIR=$PKG ninja -C build install
}

signify() {
    untrusted comment: public key
    RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
}

# vim: filetype=sh