69 lines
2.7 KiB
Diff
69 lines
2.7 KiB
Diff
diff --git a/Dockerfile.rocm b/Dockerfile.rocm
|
|
index 4ea7a1d7..0e22355b 100644
|
|
--- a/Dockerfile.rocm
|
|
+++ b/Dockerfile.rocm
|
|
@@ -59,18 +59,17 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
curl \
|
|
git \
|
|
git-lfs \
|
|
- hipblas-dev \
|
|
- hipblaslt-dev \
|
|
- hipcub-dev \
|
|
libcurl4-openssl-dev \
|
|
ninja-build \
|
|
pkg-config \
|
|
python3 \
|
|
- rocblas-dev \
|
|
- rocprim-dev \
|
|
- rocwmma-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
+# Ubuntu jammy ships cmake 3.22, which predates the block command that
|
|
+# ROCm 7.14 hipblaslt-config.cmake requires (CMake >= 3.25). Install the
|
|
+# official 3.31 binary; /usr/local/bin precedes /usr/bin on PATH.
|
|
+RUN curl -fsSL https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.tar.gz | tar -xz -C /usr/local --strip-components=1
|
|
+
|
|
WORKDIR /src
|
|
|
|
# COPY ordering mirrors the CUDA Dockerfile: C++ build inputs first so the
|
|
@@ -152,11 +151,8 @@ ENV PATH=/opt/rocm/bin:${PATH}
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
- hipblas \
|
|
- hipblaslt \
|
|
libgomp1 \
|
|
pciutils \
|
|
- rocblas \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# uv (pinned) manages Python 3.12 + resolves the luce + pflash
|
|
diff --git a/server/deps/llama.cpp/ggml/src/ggml-cuda/ggml-cuda.cu b/server/deps/llama.cpp/ggml/src/ggml-cuda/ggml-cuda.cu
|
|
index 1e6ca455..5f4b3035 100644
|
|
--- a/server/deps/llama.cpp/ggml/src/ggml-cuda/ggml-cuda.cu
|
|
+++ b/server/deps/llama.cpp/ggml/src/ggml-cuda/ggml-cuda.cu
|
|
@@ -3916,6 +3916,12 @@ static void ggml_backend_cuda_synchronize(ggml_backend_t backend) {
|
|
GGML_UNUSED(backend);
|
|
}
|
|
|
|
+// (moved above the USE_CUDA_GRAPH guard: ggml_cuda_node_is_noop
|
|
+// calls this unconditionally)
|
|
+static bool ggml_cuda_node_launches_nothing(const ggml_tensor * node) {
|
|
+ return ggml_is_empty(node) || node->op == GGML_OP_RESHAPE || node->op == GGML_OP_TRANSPOSE ||
|
|
+ node->op == GGML_OP_VIEW || node->op == GGML_OP_PERMUTE || node->op == GGML_OP_NONE;
|
|
+}
|
|
#ifdef USE_CUDA_GRAPH
|
|
|
|
// GGML_CUDA_COLLECTIVE_GRAPH_CAPTURE=1: allow graph capture of a graph that
|
|
@@ -3930,10 +3936,6 @@ static bool ggml_cuda_cluster_capture_allowed() {
|
|
}
|
|
|
|
// View-like and empty nodes: the evaluation loops launch nothing for them.
|
|
-static bool ggml_cuda_node_launches_nothing(const ggml_tensor * node) {
|
|
- return ggml_is_empty(node) || node->op == GGML_OP_RESHAPE || node->op == GGML_OP_TRANSPOSE ||
|
|
- node->op == GGML_OP_VIEW || node->op == GGML_OP_PERMUTE || node->op == GGML_OP_NONE;
|
|
-}
|
|
|
|
static bool ggml_cuda_graph_check_compability(ggml_cgraph * cgraph) {
|
|
|