From d5fd734513671d957c20a66655c98d325bb1760f Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Thu, 16 May 2019 21:18:27 +1000 Subject: slurm: renamed from sbatch --- lib/slurm.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lib/slurm.nix (limited to 'lib/slurm.nix') diff --git a/lib/slurm.nix b/lib/slurm.nix new file mode 100644 index 0000000..daca4af --- /dev/null +++ b/lib/slurm.nix @@ -0,0 +1,28 @@ +{stdenv, lib, writeScript, coreutils}: + +with lib; + +{ ppn, mem, walltime, partition ? null, slurmFlags ? null, salloc ? "/usr/bin/salloc" }: +drv: + let ppnReified = if drv.multicore then ppn else 1; + in lib.overrideDerivation drv ({ args, builder, name, ... }: { + builder = stdenv.shell; + args = let + script = writeScript "slurm-script" '' + #!${stdenv.shell} + ${builder} ${lib.escapeShellArgs args} + ''; + + slurm = writeScript "slurm" '' + #!${stdenv.shell} + NIX_BUILD_CORES=${toString ppnReified} + + ${salloc} -c $NIX_BUILD_CORES --mem=${toString mem}G -t ${walltime} \ + -J "${name}" \ + ${optionalString (partition != null) "-p ${partition}"} \ + ${optionalString (slurmFlags != null) slurmFlags} \ + ${script} + ''; + + in [ "-c" slurm ]; + }) -- cgit v1.2.3