mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-10-30 22:50:15 +01:00
28 lines
731 B
Nix
28 lines
731 B
Nix
|
{
|
||
|
lib,
|
||
|
singularity-tools,
|
||
|
llama-cpp,
|
||
|
bashInteractive,
|
||
|
interactive ? false,
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
optionalInt = cond: x: if cond then x else 0;
|
||
|
in
|
||
|
singularity-tools.buildImage rec {
|
||
|
inherit (llama-cpp) name;
|
||
|
contents = [ llama-cpp ] ++ lib.optionals interactive [ bashInteractive ];
|
||
|
|
||
|
# These are excessive (but safe) for most variants. Building singularity
|
||
|
# images requires superuser privileges, so we build them inside a VM in a
|
||
|
# writable image of pre-determined size.
|
||
|
#
|
||
|
# ROCm is currently affected by https://github.com/NixOS/nixpkgs/issues/276846
|
||
|
#
|
||
|
# Expected image sizes:
|
||
|
# - cpu/blas: 150M,
|
||
|
# - cuda, all gencodes: 560M,
|
||
|
diskSize = 4096 + optionalInt llama-cpp.useRocm 16384;
|
||
|
memSize = diskSize;
|
||
|
}
|