The cudainfo program checks that we can initialize the CUDA RT library and communicate with the driver. It can be used as standalone program or built with cudainfo.gpuCheck so it is executed inside the build sandbox to see if it also works fine. It uses the autoAddDriverRunpath hook to inject in the runpath the location of the library directory for CUDA libraries. Reviewed-by: Aleix Boné <abonerib@bsc.es>
57 lines
1.7 KiB
Nix
57 lines
1.7 KiB
Nix
final: prev:
|
|
{
|
|
# Set MPICH as default
|
|
mpi = final.mpich;
|
|
|
|
# Configure the network for MPICH
|
|
mpich = with final; let
|
|
# pmix comes with the libraries in .out and headers in .dev
|
|
pmixAll = symlinkJoin {
|
|
name = "pmix-all";
|
|
paths = [ pmix.dev pmix.out ];
|
|
};
|
|
in prev.mpich.overrideAttrs (old: {
|
|
buildInput = old.buildInputs ++ [
|
|
libfabric
|
|
pmixAll
|
|
];
|
|
configureFlags = [
|
|
"--enable-shared"
|
|
"--enable-sharedlib"
|
|
"--with-pm=no"
|
|
"--with-device=ch4:ofi"
|
|
"--with-pmi=pmix"
|
|
"--with-pmix=${pmixAll}"
|
|
"--with-libfabric=${libfabric}"
|
|
"--enable-g=log"
|
|
] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [
|
|
"FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300
|
|
"FCFLAGS=-fallow-argument-mismatch"
|
|
];
|
|
});
|
|
|
|
slurm = prev.slurm.overrideAttrs (old: {
|
|
patches = (old.patches or []) ++ [
|
|
# See https://bugs.schedmd.com/show_bug.cgi?id=19324
|
|
./slurm-rank-expansion.patch
|
|
];
|
|
# Install also the pam_slurm_adopt library to restrict users from accessing
|
|
# nodes with no job allocated.
|
|
postBuild = (old.postBuild or "") + ''
|
|
pushd contribs/pam_slurm_adopt
|
|
make "PAM_DIR=$out/lib/security"
|
|
popd
|
|
'';
|
|
postInstall = (old.postInstall or "") + ''
|
|
pushd contribs/pam_slurm_adopt
|
|
make "PAM_DIR=$out/lib/security" install
|
|
popd
|
|
'';
|
|
});
|
|
|
|
prometheus-slurm-exporter = prev.callPackage ./slurm-exporter.nix { };
|
|
meteocat-exporter = prev.callPackage ./meteocat-exporter/default.nix { };
|
|
upc-qaire-exporter = prev.callPackage ./upc-qaire-exporter/default.nix { };
|
|
cudainfo = prev.callPackage ./cudainfo/default.nix { };
|
|
}
|