bscpkgs/garlic/machines.nix

64 lines
1.4 KiB
Nix

{
stdenv
}:
{
# MareNostrum 4 configuration
mn4 = {
config = {
name = "mn4";
sshHost = "mn1";
nixPrefix = "/gpfs/projects/bsc15/nix";
march = "skylake-avx512";
mtune = "skylake-avx512";
hw = {
# The rev attribute attemps to capture the hardware
# configuration of the machine, and will rebuild all experiments
# if it changed. It only holds the timestamp at the current
# time, representing the HW configuration at that moment.
rev = 1614253003;
# Node and socket details
cpusPerNode = 48;
cpusPerSocket = 24;
socketsPerNode = 2;
cachelineBytes = 64;
# Cache sizes
cacheSizeKB = {
L1d = 32;
L1i = 32;
L2 = 1024;
L3 = 33792;
};
};
};
# Experimental naming convention for the FS
fs = rec {
topology = {
gpfs = {
projects = "/gpfs/projects/bsc15/garlic";
scratch = "/gpfs/scratch/bsc15/bsc15557/garlic";
};
ssd = {
# Beware to expand the temp dir at execution time
temp = "$TMPDIR";
};
};
shared = with topology; {
fast = gpfs.scratch;
reliable = gpfs.projects;
};
local = {
temp = topology.ssd.temp;
};
};
# TODO: Add the specific details for SLURM and the interconection here
};
}