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) {