default.nix 2.35 KB
Newer Older
Valentin Reis's avatar
.  
Valentin Reis committed
1
{
Valentin Reis's avatar
Valentin Reis committed
2
  hostNixpkgs ? <nixpkgs>,
Valentin Reis's avatar
Valentin Reis committed
3
  pkgs         ? import ../pin.nix {
Valentin Reis's avatar
Valentin Reis committed
4
    hostPkgs = import hostNixpkgs {};
Valentin Reis's avatar
Valentin Reis committed
5 6 7
    jsonpath =../nixpkgs-18.03.json;
  },
  datamovepkgs ? import ../pin.nix {
Valentin Reis's avatar
Valentin Reis committed
8
    hostPkgs = import hostNixpkgs {};
Valentin Reis's avatar
Valentin Reis committed
9 10
    jsonpath=../datamove.json;
  },
Valentin Reis's avatar
Valentin Reis committed
11
  packagepins ? import ./pins.nix {inherit (pkgs) stdenv fetchgit fetchgitPrivate;}
Valentin Reis's avatar
.  
Valentin Reis committed
12 13
}:
let
Valentin Reis's avatar
Valentin Reis committed
14 15
  toPath = s: ./. + s;
  gitpin = f: pkgs.fetchgit {inherit (pkgs.lib.importJSON f) url sha256 rev fetchSubmodules;};
Valentin Reis's avatar
Valentin Reis committed
16
  compiler_path = "/opt/intel/compilers_and_libraries_2017.1.132/linux";
Valentin Reis's avatar
.  
Valentin Reis committed
17
  callPackage = pkgs.lib.callPackageWith pkgs;
18 19
  callPackagePin =
  { path
Valentin Reis's avatar
Valentin Reis committed
20 21
  , nixName ? "default"
  , jsonName ? nixName
22
  , depset ? {} } :
Valentin Reis's avatar
Valentin Reis committed
23 24 25 26
  let
    jsonPath = toPath "/${path}/${jsonName}.json";
  in
  pkgs.lib.callPackageWith pkgs (toPath "/${path}/${nixName}.nix") (depset // {src = gitpin jsonPath;});
Valentin Reis's avatar
Valentin Reis committed
27
  pythonPackages = pkgs.python27Packages;
Valentin Reis's avatar
.  
Valentin Reis committed
28
in rec {
29
  #NRM components
Valentin Reis's avatar
Valentin Reis committed
30
  nodelevel = rec {
Valentin Reis's avatar
Valentin Reis committed
31

Valentin Reis's avatar
Valentin Reis committed
32
  libnrm = callPackagePin {path="libnrm";};
Valentin Reis's avatar
Valentin Reis committed
33 34 35 36 37 38 39 40 41

  containers = callPackagePin
  {
    path = "./containers";
    depset= { inherit pythonPackages; };
  };
  containers-bandit = callPackagePin
  {
    path = "./containers";
Valentin Reis's avatar
Valentin Reis committed
42 43
    depset= { inherit pythonPackages; };
    jsonName = "bandit";
44
  };
Valentin Reis's avatar
Valentin Reis committed
45 46 47

  nrm = callPackagePin {
    path= "./nrm";
Valentin Reis's avatar
Valentin Reis committed
48
    depset = { inherit pythonPackages containers; };
Valentin Reis's avatar
Valentin Reis committed
49 50 51 52 53
  };

  nrm-bandit = callPackagePin {
    path= "./nrm";
    depset = {
Valentin Reis's avatar
Valentin Reis committed
54 55
      inherit pythonPackages containers;
      containers = containers-bandit;
Valentin Reis's avatar
Valentin Reis committed
56 57
    };
    jsonName = "bandit";
58
  };
Valentin Reis's avatar
Valentin Reis committed
59
  }
Valentin Reis's avatar
Valentin Reis committed
60

61 62 63
  #Instrumented applications
  applications = rec {
    lammps = pkgs.lammps-mpi;
Valentin Reis's avatar
Valentin Reis committed
64 65 66 67 68 69
    stream = callPackage {path="applications/stream";};
    openmc = callPackage {path="applications/openmc";};
    qmcpack = callPackage {path="applications/qmcpack";};
    amg = callPackage {path="applications/amg";};
    graph500 = callPackagePin {path="applications/simple"; nixName = "graph500";};
    simple = callPackagePin {path="applications/simple"; nixName = "dgemm_randomwalk"; depset={inherit intel libnrm;};};
70
  };
Valentin Reis's avatar
Valentin Reis committed
71

72 73
  #Intel compilers
  intel = with pkgs; rec {
74 75
    icc = callPackage intel/icc { inherit compiler_path; };
    mkl = callPackage intel/mkl { inherit compiler_path; };
Valentin Reis's avatar
Valentin Reis committed
76 77 78 79 80 81 82
    WrappedICC = (import ../patches/cc-wrapper  {
        inherit stdenv binutils coreutils ;
        libc = glibc;
        nativeTools = false;
        nativeLibc = false;
        cc = icc;
    });
83
  };
Valentin Reis's avatar
renames  
Valentin Reis committed
84
}