Compare commits
3 Commits
pkgs/tacud
...
fox-regres
| Author | SHA1 | Date | |
|---|---|---|---|
| b9f2e936de | |||
| 52caa714d4 | |||
| 9e8c610d8c |
@@ -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";
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
21
m/fox/serial-console.nix
Normal 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
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -62,14 +62,7 @@ let
|
|||||||
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
||||||
tampi = callPackage ./pkgs/tampi/default.nix { };
|
tampi = callPackage ./pkgs/tampi/default.nix { };
|
||||||
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };
|
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };
|
||||||
taopencl = callPackage ./pkgs/taopencl/default.nix { };
|
|
||||||
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
||||||
|
|
||||||
_cuda = prev._cuda.extend (_: _prev: final.lib.recursiveUpdate _prev {
|
|
||||||
extensions = _prev.extensions ++ [(finalAttrs: _: {
|
|
||||||
tacuda = finalAttrs.callPackage ./pkgs/tacuda/default.nix { };
|
|
||||||
})];
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tests = rec {
|
tests = rec {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
backendStdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
automake,
|
|
||||||
autoconf,
|
|
||||||
libtool,
|
|
||||||
gnumake,
|
|
||||||
autoreconfHook,
|
|
||||||
boost,
|
|
||||||
cudatoolkit,
|
|
||||||
libcublas,
|
|
||||||
cuda_cudart,
|
|
||||||
|
|
||||||
useGit ? false,
|
|
||||||
gitUrl ? "git@gitlab-internal.bsc.es:task-awareness/tacuda/tacuda.git",
|
|
||||||
gitBranch ? "main",
|
|
||||||
gitCommit ? "35234f9445e6149a2bd38d119841e2485d6ee05e",
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
release_ver = "2.1.0";
|
|
||||||
release = {
|
|
||||||
version = release_ver;
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "bsc-pm";
|
|
||||||
repo = "tacuda";
|
|
||||||
rev = release_ver;
|
|
||||||
hash = "sha256-Cj3EiLVJSLvRv0ydeg7Vp4SpkniEqHkcWF+YOJQ8EcM=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
git = rec {
|
|
||||||
version = src.shortRev;
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = gitUrl;
|
|
||||||
ref = gitBranch;
|
|
||||||
rev = gitCommit;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
source = if (useGit) then git else release;
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
backendStdenv.mkDerivation {
|
|
||||||
pname = "tacuda";
|
|
||||||
inherit (source) src version;
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
separateDebugInfo = true;
|
|
||||||
strictDeps = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoreconfHook
|
|
||||||
automake
|
|
||||||
autoconf
|
|
||||||
libtool
|
|
||||||
gnumake
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = [ ./fix_config.patch ];
|
|
||||||
|
|
||||||
configureFlags = [ "--with-cuda-include=${cudatoolkit}/include" ];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
boost
|
|
||||||
libcublas
|
|
||||||
cuda_cudart
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/m4/cuda.m4 b/m4/cuda.m4
|
|
||||||
index 23f5c94..8f9b534 100644
|
|
||||||
--- a/m4/cuda.m4
|
|
||||||
+++ b/m4/cuda.m4
|
|
||||||
@@ -40,7 +40,7 @@ search_libs="cuda cublas cudart"
|
|
||||||
required_libs=""
|
|
||||||
|
|
||||||
m4_foreach([function],
|
|
||||||
- [cuInit,
|
|
||||||
+ [
|
|
||||||
cublasSgemm,
|
|
||||||
cudaStreamCreate,
|
|
||||||
cudaLaunchKernel,
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
stdenv,
|
|
||||||
automake,
|
|
||||||
autoconf,
|
|
||||||
libtool,
|
|
||||||
gnumake,
|
|
||||||
boost,
|
|
||||||
mpi,
|
|
||||||
autoreconfHook,
|
|
||||||
ocl-icd,
|
|
||||||
opencl-headers,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
|
||||||
pname = "taopencl";
|
|
||||||
version = finalAttrs.src.shortRev;
|
|
||||||
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "git@gitlab-internal.bsc.es:task-awareness/taopencl/taopencl.git";
|
|
||||||
ref = "master";
|
|
||||||
rev = "c3b7b32ae8fa4af7ceff598532a881f8f1490aaf";
|
|
||||||
};
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
separateDebugInfo = true;
|
|
||||||
strictDeps = true;
|
|
||||||
|
|
||||||
configureFlags = [
|
|
||||||
"--with-opencl-lib=${ocl-icd}/lib"
|
|
||||||
"--with-opencl-include=${opencl-headers}/include"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoreconfHook
|
|
||||||
automake
|
|
||||||
autoconf
|
|
||||||
libtool
|
|
||||||
gnumake
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
boost
|
|
||||||
mpi
|
|
||||||
];
|
|
||||||
|
|
||||||
dontDisableStatic = true;
|
|
||||||
hardeningDisable = [ "all" ];
|
|
||||||
})
|
|
||||||
Reference in New Issue
Block a user