jmorganca vor 11 Monaten
Ursprung
Commit
28bedcd807
2 geänderte Dateien mit 11 neuen und 4 gelöschten Zeilen
  1. 6 2
      llama/build_hipblas.sh
  2. 5 2
      llama/llama.go

+ 6 - 2
llama/build_hipblas.sh

@@ -22,8 +22,11 @@ linux_archs=(
 
 os="$(uname -s)"
 
+additional_flags=""
+
 if [[ "$os" == "Windows_NT" || "$os" == "MINGW64_NT"* ]]; then
     output="ggml-hipblas.dll"
+    additional_flags="-Xclang --dependent-lib=msvcrt -Wl,/subsystem:console"
 else
     output="libggml-hipblas.so"
     archs+=("${linux_archs[@]}")
@@ -37,7 +40,6 @@ done
 hipcc \
     -parallel-jobs=12 \
     -O3 \
-    $offload_arch_flags \
     -DGGML_USE_CUDA \
     -DGGML_BUILD=1 \
     -DGGML_SHARED=1 \
@@ -51,7 +53,9 @@ hipcc \
     -DK_QUANTS_PER_ITERATION=2 \
     -D_CRT_SECURE_NO_WARNINGS \
     -DCMAKE_POSITION_INDEPENDENT_CODE=on \
-    -Xclang --dependent-lib=msvcrt -Wl,/subsystem:console \
+    -D_GNU_SOURCE \
+    $offload_arch_flags \
+    $additional_flags \
     -Wno-expansion-to-defined \
     -Wno-invalid-noreturn \
     -Wno-ignored-attributes \

+ 5 - 2
llama/llama.go

@@ -17,10 +17,13 @@ package llama
 // #cgo avx2 CXXFLAGS: -mavx2 -mfma
 // #cgo cuda CFLAGS: -DGGML_USE_CUDA -DGGML_CUDA_DMMV_X=32 -DGGML_CUDA_PEER_MAX_BATCH_SIZE=128 -DGGML_CUDA_MMV_Y=1 -DGGML_BUILD=1
 // #cgo cuda CXXFLAGS: -DGGML_USE_CUDA -DGGML_CUDA_DMMV_X=32 -DGGML_CUDA_PEER_MAX_BATCH_SIZE=128 -DGGML_CUDA_MMV_Y=1 -DGGML_BUILD=1
-// #cgo rocm CXXFLAGS: -DGGML_USE_CUDA -DGGML_USE_HIPBLAS -DGGML_CUDA_DMMV_X=32 -DGGML_CUDA_PEER_MAX_BATCH_SIZE=128 -DGGML_MULTIPLATFORM -DGGML_CUDA_MMV_Y=1 -DGGML_BUILD=1
+// #cgo rocm CFLAGS: -DGGML_USE_CUDA -DGGML_USE_HIPBLAS -DGGML_CUDA_DMMV_X=32 -DGGML_CUDA_PEER_MAX_BATCH_SIZE=128 -DGGML_CUDA_MMV_Y=1 -DGGML_BUILD=1
+// #cgo rocm CXXFLAGS: -DGGML_USE_CUDA -DGGML_USE_HIPBLAS -DGGML_CUDA_DMMV_X=32 -DGGML_CUDA_PEER_MAX_BATCH_SIZE=128 -DGGML_CUDA_MMV_Y=1 -DGGML_BUILD=1
+// #cgo rocm LDFLAGS: -L${SRCDIR} -lggml-hipblas -lhipblas -lamdhip64 -lrocblas
 // #cgo windows,cuda LDFLAGS: -L. -L"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.3/lib/x64" -lggml-cuda -lcuda -lcudart -lcublas -lcublasLt
-// #cgo windows,rocm LDFLAGS: -L. -L"C:/Program Files/AMD/ROCm/5.7/lib" -lggml-hipblas -lhipblas -lamdhip64 -lrocblas
+// #cgo windows,rocm LDFLAGS: -L. -L"C:/Program Files/AMD/ROCm/5.7/lib"
 // #cgo linux,cuda LDFLAGS: -L${SRCDIR} -L/usr/local/cuda/lib64 -lggml-cuda -lcuda -lcudart -lcublas -lcublasLt -lpthread -ldl -lrt
+// #cgo linux,rocm LDFLAGS: -L/opt/rocm/lib
 // #include <stdlib.h>
 // #include "llama.h"
 // #include "clip.h"