Files
devshell/vincent/chol/flake.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;
};
}