frank-primary: track the gfx1201 build patch (apt/cmake/ggml guard) + runbook recipe
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user