62 lines
1.5 KiB
Nix
62 lines
1.5 KiB
Nix
{
|
|
inputs.jungle.url = "git+https://jungle.bsc.es/git/rarias/jungle";
|
|
outputs = { self, jungle }:
|
|
let
|
|
nixpkgs = jungle.inputs.nixpkgs;
|
|
customOverlay = (final: prev: {
|
|
|
|
# Build blis for Fox architecture and without OpenMP
|
|
amd-blis = (prev.amd-blis.override {
|
|
withOpenMP = false;
|
|
withArchitecture = "zen4";
|
|
}).overrideAttrs (old: {
|
|
hardeningDisable = [ "all" ];
|
|
});
|
|
|
|
# Disable OpenMP in flame
|
|
amd-libflame = (prev.amd-libflame.override {
|
|
withOpenMP = false;
|
|
}).overrideAttrs (old: {
|
|
hardeningDisable = [ "all" ];
|
|
});
|
|
|
|
# Build bench6 with blis
|
|
bench6 = prev.bench6.overrideAttrs (old: {
|
|
buildInputs = with final; [
|
|
bigotes
|
|
openmp
|
|
openmpv
|
|
nanos6
|
|
nodes
|
|
nosv
|
|
mpi
|
|
tampi
|
|
ovni
|
|
amd-blis
|
|
amd-libflame
|
|
];
|
|
cmakeFlags = (old.cmakeFlags or []) ++ [
|
|
"-DCBLAS_INCLUDE_DIR=${final.amd-blis}/include/blis"
|
|
"-DLAPACKE_INCLUDE_DIR=${final.amd-libflame}/include"
|
|
"-DLAPACKE_LIBRARY=${final.amd-libflame}/lib/liblapacke.so.3"
|
|
];
|
|
});
|
|
});
|
|
pkgs = import nixpkgs {
|
|
system = "x86_64-linux";
|
|
overlays = [
|
|
jungle.outputs.bscOverlay
|
|
customOverlay
|
|
];
|
|
};
|
|
in {
|
|
devShells.x86_64-linux.default = pkgs.mkShell {
|
|
pname = "devshell";
|
|
packages = with pkgs; [
|
|
bench6 bigotes ministat
|
|
];
|
|
};
|
|
packages.x86_64-linux.bench6 = pkgs.bench6;
|
|
};
|
|
}
|