|
|
@@ -17,18 +17,15 @@
|
|
|
rocmPackages,
|
|
|
vulkan-headers,
|
|
|
vulkan-loader,
|
|
|
- clblast,
|
|
|
useBlas ? builtins.all (x: !x) [
|
|
|
useCuda
|
|
|
useMetalKit
|
|
|
- useOpenCL
|
|
|
useRocm
|
|
|
useVulkan
|
|
|
] && blas.meta.available,
|
|
|
useCuda ? config.cudaSupport,
|
|
|
- useMetalKit ? stdenv.isAarch64 && stdenv.isDarwin && !useOpenCL,
|
|
|
+ useMetalKit ? stdenv.isAarch64 && stdenv.isDarwin,
|
|
|
useMpi ? false, # Increases the runtime closure size by ~700M
|
|
|
- useOpenCL ? false,
|
|
|
useRocm ? config.rocmSupport,
|
|
|
useVulkan ? false,
|
|
|
llamaVersion ? "0.0.0", # Arbitrary version, substituted by the flake
|
|
|
@@ -56,7 +53,6 @@ let
|
|
|
++ lib.optionals useCuda [ "CUDA" ]
|
|
|
++ lib.optionals useMetalKit [ "MetalKit" ]
|
|
|
++ lib.optionals useMpi [ "MPI" ]
|
|
|
- ++ lib.optionals useOpenCL [ "OpenCL" ]
|
|
|
++ lib.optionals useRocm [ "ROCm" ]
|
|
|
++ lib.optionals useVulkan [ "Vulkan" ];
|
|
|
|
|
|
@@ -198,7 +194,6 @@ effectiveStdenv.mkDerivation (
|
|
|
optionals effectiveStdenv.isDarwin darwinBuildInputs
|
|
|
++ optionals useCuda cudaBuildInputs
|
|
|
++ optionals useMpi [ mpi ]
|
|
|
- ++ optionals useOpenCL [ clblast ]
|
|
|
++ optionals useRocm rocmBuildInputs
|
|
|
++ optionals useBlas [ blas ]
|
|
|
++ optionals useVulkan vulkanBuildInputs;
|
|
|
@@ -210,7 +205,6 @@ effectiveStdenv.mkDerivation (
|
|
|
(cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
|
|
|
(cmakeBool "GGML_NATIVE" false)
|
|
|
(cmakeBool "GGML_BLAS" useBlas)
|
|
|
- (cmakeBool "GGML_CLBLAST" useOpenCL)
|
|
|
(cmakeBool "GGML_CUDA" useCuda)
|
|
|
(cmakeBool "GGML_HIPBLAS" useRocm)
|
|
|
(cmakeBool "GGML_METAL" useMetalKit)
|
|
|
@@ -254,7 +248,6 @@ effectiveStdenv.mkDerivation (
|
|
|
useCuda
|
|
|
useMetalKit
|
|
|
useMpi
|
|
|
- useOpenCL
|
|
|
useRocm
|
|
|
useVulkan
|
|
|
;
|
|
|
@@ -281,7 +274,7 @@ effectiveStdenv.mkDerivation (
|
|
|
# Configurations we don't want even the CI to evaluate. Results in the
|
|
|
# "unsupported platform" messages. This is mostly a no-op, because
|
|
|
# cudaPackages would've refused to evaluate anyway.
|
|
|
- badPlatforms = optionals (useCuda || useOpenCL) lib.platforms.darwin;
|
|
|
+ badPlatforms = optionals useCuda lib.platforms.darwin;
|
|
|
|
|
|
# Configurations that are known to result in build failures. Can be
|
|
|
# overridden by importing Nixpkgs with `allowBroken = true`.
|