3 Commits

Author SHA1 Message Date
b9f2e936de Use correct serial console ttyS1 in fox
All checks were successful
CI / build:cross (pull_request) Successful in 8s
CI / build:all (pull_request) Successful in 2m53s
2026-01-21 13:19:34 +01:00
52caa714d4 Upgrade bench6 and enable MKL by default 2026-01-21 13:15:47 +01:00
9e8c610d8c Add old kernel specialisation in fox
Allow booting an old LTS kernel to compare performance.
2026-01-21 11:04:47 +01:00
12 changed files with 58 additions and 86 deletions

View File

@@ -4,13 +4,6 @@
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
# Enable GRUB2 serial console
boot.loader.grub.extraConfig = ''
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal_input --append serial
terminal_output --append serial
'';
boot.kernel.sysctl = { boot.kernel.sysctl = {
"kernel.perf_event_paranoid" = lib.mkDefault "-1"; "kernel.perf_event_paranoid" = lib.mkDefault "-1";

View File

@@ -2,36 +2,11 @@
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cmake vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option
ethtool nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree
file ncdu perf ldns pv
freeipmi
git
gnumake
home-manager
htop
ipmitool
ldns
lm_sensors
ncdu
nix-diff
nix-index
nix-output-monitor
nixfmt-tree
nixos-option
pciutils
perf
pv
ripgrep
tcpdump
tmux
tree
vim
wget
# From jungle overlay # From jungle overlay
nixgen osumb nixgen
osumb
]; ];
programs.direnv.enable = true; programs.direnv.enable = true;

View File

@@ -194,19 +194,6 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOlRX7ZCnqtUJYCxKgWmgSrFCYuA2LHY96rVwqxXPl86 aaguirre@BSC-8488184117" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOlRX7ZCnqtUJYCxKgWmgSrFCYuA2LHY96rVwqxXPl86 aaguirre@BSC-8488184117"
]; ];
}; };
emonteir = {
uid = 9656;
isNormalUser = true;
home = "/home/Computational/emonteir";
description = "Erwin Royson Monteiro";
group = "Computational";
hosts = [ "apex" "fox" ];
hashedPassword = "$6$0mU88zd3ZuK5NiJQ$DFWL5RMLH6esQM5UyhBCiiNryw4lDDmvJp7Usz3tmevnsiSJr6u0RsUKAnR/K8GRBFrV1.GocrgNjKjik5GY//";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKZKot/Y3F5Wq9pQIXlCbyvQuVVeWMCsAC96Nd+LTcG erwin@Oreo"
];
};
}; };
groups = { groups = {

View File

@@ -11,4 +11,11 @@
"console=tty1" "console=tty1"
"console=ttyS0,115200" "console=ttyS0,115200"
]; ];
# Enable GRUB2 serial console
boot.loader.grub.extraConfig = ''
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal_input --append serial
terminal_output --append serial
'';
} }

View File

@@ -3,13 +3,13 @@
{ {
imports = [ imports = [
../common/base.nix ../common/base.nix
../common/xeon/console.nix
../module/amd-uprof.nix ../module/amd-uprof.nix
../module/emulation.nix ../module/emulation.nix
../module/nvidia.nix ../module/nvidia.nix
../module/slurm-client.nix ../module/slurm-client.nix
../module/hut-substituter.nix ../module/hut-substituter.nix
./wireguard.nix ./wireguard.nix
./serial-console.nix
]; ];
# Don't turn off on August as UPC has different dates. # Don't turn off on August as UPC has different dates.
@@ -19,6 +19,9 @@
# Select the this using the ID to avoid mismatches # Select the this using the ID to avoid mismatches
boot.loader.grub.device = "/dev/disk/by-id/wwn-0x500a07514b0c1103"; boot.loader.grub.device = "/dev/disk/by-id/wwn-0x500a07514b0c1103";
# Increase time so we can boot other entries
boot.loader.timeout = 60;
# No swap, there is plenty of RAM # No swap, there is plenty of RAM
swapDevices = lib.mkForce []; swapDevices = lib.mkForce [];
@@ -31,7 +34,10 @@
# Use performance for benchmarks # Use performance for benchmarks
powerManagement.cpuFreqGovernor = "performance"; powerManagement.cpuFreqGovernor = "performance";
services.amd-uprof.enable = true; # Enable amd-uprof in >= 6.15 kernels only
services.amd-uprof.enable =
let ver = config.boot.kernelPackages.kernel.version;
in (lib.strings.compareVersions ver "6.15") >= 0;
# Disable NUMA balancing # Disable NUMA balancing
boot.kernel.sysctl."kernel.numa_balancing" = 0; boot.kernel.sysctl."kernel.numa_balancing" = 0;
@@ -42,6 +48,11 @@
# Disable NMI watchdog to save one hw counter (for AMD uProf) # Disable NMI watchdog to save one hw counter (for AMD uProf)
boot.kernel.sysctl."kernel.nmi_watchdog" = 0; boot.kernel.sysctl."kernel.nmi_watchdog" = 0;
specialisation.oldKernel.configuration = {
system.nixos.tags = [ "old-kernel" ];
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_6_12;
};
services.openssh.settings.X11Forwarding = true; services.openssh.settings.X11Forwarding = true;
services.fail2ban.enable = true; services.fail2ban.enable = true;

21
m/fox/serial-console.nix Normal file
View File

@@ -0,0 +1,21 @@
{
# Restart the serial console
systemd.services."serial-getty@ttyS1" = {
enable = true;
wantedBy = [ "getty.target" ];
serviceConfig.Restart = "always";
};
# Enable serial console
boot.kernelParams = [
"console=tty1"
"console=ttyS1,115200"
];
# Enable GRUB2 serial console
boot.loader.grub.extraConfig = ''
serial --unit=1 --speed=115200 --word=8 --parity=no --stop=1
terminal_input --append serial
terminal_output --append serial
'';
}

View File

@@ -4,8 +4,8 @@ let
name = "jungle-web"; name = "jungle-web";
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://jungle.bsc.es/git/rarias/jungle-website.git"; url = "https://jungle.bsc.es/git/rarias/jungle-website.git";
rev = "5f18335d14126d2fef134c0cd441771436f7dfa1"; rev = "52abaf4d71652a9ef77a0b098db14ca33bffff4c";
hash = "sha256-s9VBF91sQ7hg9+lrwNFPYgoXTTyXaQcAulCiGJgWERo="; hash = "sha256-/ul9GazbOrOkmlvSgDz/+2W+V+ir5725Y7mVLc3rb0M=";
}; };
buildInputs = [ pkgs.hugo ]; buildInputs = [ pkgs.hugo ];
buildPhase = '' buildPhase = ''

View File

@@ -1,27 +0,0 @@
{ lib, pkgs, ... }:
{
# Allow user access to FTDI USB device
services.udev.packages = lib.singleton (pkgs.writeTextFile {
# Needs to be < 73
name = "60-ftdi-tc1.rules";
text = ''
# Bus 003 Device 003: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC
# Use := to make sure it doesn't get changed later
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE:="0666"
'';
destination = "/etc/udev/rules.d/60-ftdi-tc1.rules";
});
# Allow access to USB for docker in GitLab runner
services.gitlab-runner = {
services.gitlab-bsc-docker = {
registrationFlags = [
# We need raw access to the USB port to reboot the board
"--docker-devices /dev/bus/usb/003/003"
# And TTY access for the serial port
"--docker-devices /dev/ttyUSB2"
];
};
};
}

View File

@@ -4,6 +4,7 @@
imports = [ imports = [
../common/base.nix ../common/base.nix
../common/ssf/hosts.nix ../common/ssf/hosts.nix
../common/xeon/console.nix
../module/emulation.nix ../module/emulation.nix
../module/debuginfod.nix ../module/debuginfod.nix
../module/nvidia.nix ../module/nvidia.nix

View File

@@ -16,7 +16,6 @@
../module/p.nix ../module/p.nix
../module/vpn-dac.nix ../module/vpn-dac.nix
../module/hut-substituter.nix ../module/hut-substituter.nix
../module/tc1-board.nix
]; ];
# Select the this using the ID to avoid mismatches # Select the this using the ID to avoid mismatches

View File

@@ -4,8 +4,8 @@ let
name = "jungle-web"; name = "jungle-web";
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://jungle.bsc.es/git/rarias/jungle-website.git"; url = "https://jungle.bsc.es/git/rarias/jungle-website.git";
rev = "5f18335d14126d2fef134c0cd441771436f7dfa1"; rev = "52abaf4d71652a9ef77a0b098db14ca33bffff4c";
hash = "sha256-s9VBF91sQ7hg9+lrwNFPYgoXTTyXaQcAulCiGJgWERo="; hash = "sha256-/ul9GazbOrOkmlvSgDz/+2W+V+ir5725Y7mVLc3rb0M=";
}; };
buildInputs = [ pkgs.hugo ]; buildInputs = [ pkgs.hugo ];
buildPhase = '' buildPhase = ''

View File

@@ -9,13 +9,15 @@
, nanos6 , nanos6
, nodes , nodes
, nosv , nosv
, mkl
, mpi , mpi
, tampi , tampi
, openblas , openblas
, ovni , ovni
, gitBranch ? "master" , gitBranch ? "master"
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git" , gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
, gitCommit ? "bf29a53113737c3aa74d2fe3d55f59868faea7b4" , gitCommit ? "fe30c2cfe36b535ef26a0054e010bc005e88ba04"
, useMkl ? true
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@@ -42,10 +44,13 @@ stdenv.mkDerivation rec {
nosv nosv
mpi mpi
tampi tampi
ovni
] ++ (if (useMkl) then [
mkl
] else [
openblas openblas
openblas.dev openblas.dev
ovni ]);
];
env = { env = {
NANOS6_HOME = nanos6; NANOS6_HOME = nanos6;