bscpkgs/bsc/garlic/default.nix

60 lines
1.5 KiB
Nix

{
pkgs
, bsc
}:
let
callPackage = pkgs.lib.callPackageWith (pkgs // bsc // garlic);
callPackages = pkgs.lib.callPackagesWith (pkgs // bsc // garlic);
garlic = rec {
# Load some helper functions to generate app variants
inherit (import ./gen.nix) genApps genApp genConfigs;
inherit bsc;
mpptest = callPackage ./mpptest { };
ppong = callPackage ./ppong {
mpi = bsc.mpi;
};
nbody = callPackage ./nbody {
cc = bsc.icc;
mpi = bsc.impi;
gitBranch = "garlic/seq";
};
sbatchWrapper = callPackage ./sbatch.nix { };
srunWrapper = callPackage ./srun.nix { };
launchWrapper = callPackage ./launcher.nix { };
controlWrapper = callPackage ./control.nix { };
nixsetupWrapper = callPackage ./nix-setup.nix { };
argvWrapper = callPackage ./argv.nix { };
statspyWrapper = callPackage ./statspy.nix { };
extraeWrapper = callPackage ./extrae.nix { };
# Perf is tied to a linux kernel specific version
linuxPackages = bsc.linuxPackages_4_4;
perfWrapper = callPackage ./perf.nix {
perf = linuxPackages.perf;
};
exp = {
nbody = {
bs = callPackage ./exp/nbody/bs.nix { };
mpi = callPackage ./exp/nbody/mpi.nix { };
};
osu = rec {
latency-internode = callPackage ./exp/osu/latency.nix { };
latency-intranode = callPackage ./exp/osu/latency.nix {
interNode = false;
};
latency = latency-internode;
};
};
};
in
garlic