Compare commits

..

46 Commits

Author SHA1 Message Date
5d38b0d3a5 Disable IPMI watchdog in fox
Fixes: rarias/jungle#231
2026-04-01 20:30:34 +02:00
2f2bd067a9 Enable memory limits in SLURM
Make sure that jobs cannot allocate more memory than available so we
don't trigger the OOM killer.

Fixes: rarias/jungle#178
2026-04-01 20:01:12 +02:00
c499a7293a Add dbautist to owl nodes 2026-03-31 17:20:51 +02:00
5c59b97aa2 Add contributing guidelines
Regulate git commit style and ban LLM usage.

Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2026-03-27 14:42:22 +01:00
4d960f12e7 Enable X11Forwarding in ssh service on apex
Fixes: rarias/jungle#254
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-27 11:56:15 +01:00
c1322dceb6 Bind mount /home as /nfs/home in apex and owls
Fixes: rarias/jungle#232
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-25 14:35:20 +01:00
0140b887bb Add licence to oneapi update.hs
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:22 +01:00
3f4532cc6d Add meta to oneapi packages
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:22 +01:00
f6df325056 Log missing deps on update.hs without Debug.Trace
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:22 +01:00
9f9f7b0d6e Add error handling to oneapi update script
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:21 +01:00
f15b272c41 Save full version in hpckit packages
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:21 +01:00
2d90a92e69 Fix PoCL SYCL tests
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:21 +01:00
70023b719d Update Intel 2023 derivation to use new TOML
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:21 +01:00
67a2ac460b Only save relevant packages from intel repo
Refactored the parsing and dependency resolution logic into a single
Haskell script.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:21 +01:00
54d5d5806b Add stdenv to llvm-intel passthru
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:21 +01:00
a514090dec Refactor intel-oneapi into deb and open subfolders
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:20 +01:00
f41bdf88bd Use explicit version instead of wildcard in intel
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:20 +01:00
95b412ddc1 Conditionally enable cuda on llvm-intel
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:20 +01:00
19a028dd95 Add stdenv and tests for llvm-intel compiler
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:20 +01:00
96baa371ef Add cudatoolkit to PATH
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:20 +01:00
d28bb762fd Disable zerocallusedregs in llvm-intel
Doesn't work with neither spirv nor nvptx

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:20 +01:00
6c4ce0d913 Enable libdevice in llvm-intel
This requires a wrapper stub to set up the flags,
since libdevice is built using the built compiler.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:20 +01:00
64cb958400 Wrap llvm-intel
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:19 +01:00
e3fc37f320 Add llvm-intel
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:19 +01:00
88fd9cb410 Add tests for Intel OCL
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:19 +01:00
3caa55e676 Add test for sycl-ls with PoCL and Intel OCL
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:19 +01:00
194789bc89 Add intel.icd to hpckit compiler
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:19 +01:00
f480be0a27 Add test to run sycl applications with PoCL
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:19 +01:00
d5def005fe Provide sycl-ls and sycl-trace on wrapped oneapi compiler
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:19 +01:00
20be729e24 Use PoCL as SYCL runtime
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:18 +01:00
88e857921c Add GROMACS
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:18 +01:00
1ccf074400 Add OpenCL Conformance Tests to PoCL
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:18 +01:00
0a53c18d6b Use POCL_CACHE_DIR instead of writableHome...Hook
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:18 +01:00
1ad15c5ac4 Add tests for PoCL with and without using icd
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:18 +01:00
dfbaa6df97 Add PoCL passthru test that sets doCheck
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:18 +01:00
abca9183b0 Add clinfo test for PoCL
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:18 +01:00
87741307ee Add PoCL
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:17 +01:00
3681e4385a Add libgcc to intel packages wrapper
Fixes missing lib when compiling some SYCL benchmarks:
ld: cannot find -lstdc++fs: No such file or directory

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:17 +01:00
17a4f3c164 Add passthru in ompss2 wrapper for icpx compat
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:17 +01:00
a996277610 Remove wrapper flags when clang called from intel
When using `icpx -fsycl -fsycl-host-compiler=clang++`, the inner
compiler will use the flags set in the icpx wrapper and it will break.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:17 +01:00
cbd7466f59 Add oneMath
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:17 +01:00
b1a66a6262 Use json for Intel 2023 instead of awk + ifd
This reuses the existing json from the new 2024-25
intel packages instead of parsing the raw data from
the apt output and doing IFD.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:17 +01:00
a203e533e0 Add TASYCL 2.1.0
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:16 +01:00
d0f0fad636 Add test for icpx with ompss-2 as host compiler
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:16 +01:00
946a0a559b Add SYCL test compilation
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:16 +01:00
982cbd4182 Add intelPackages_202{4,5} and make 2025 the default
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-03-23 16:19:16 +01:00
10 changed files with 71 additions and 7 deletions

24
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,24 @@
# Contributing guidelines for jungle
We welcome contributions from other people, provided that they follow these
guidelines.
## Git commit rules
The commit title must be strictly 50 character or less, the commit body must
wrap at 72 characters.
Every commit to be merged in master must be reviewed by at least one other
member and have the corresponding `Reviewed-by: John Doe <jd@ema.il>` git
trailer with their name and email.
Commits that fix a particular issue must include the **full URL** to the issue
in the `Fixes: <url>` trailer.
## LLM are banned
Contributions generated fully or partially by LLMs won't be accepted, you must
write the code yourself and fully understand what every part does.
Using LLMs to help preparing a contribution is strongly discouraged, as it will
likely cause you to have gaps of understanding.

View File

@@ -7,3 +7,5 @@ This repository provides two components that can be used independently:
- NixOS configurations for jungle machines. Use `nixos-rebuild switch --flake .`
to upgrade the current machine.
Before contributing, please read the [guidelines](CONTRIBUTING.md).

View File

@@ -7,6 +7,7 @@
../module/ceph.nix
../module/hut-substituter.nix
../module/slurm-server.nix
../module/nfs-home-bind.nix
./nfs.nix
./wireguard.nix
];
@@ -68,6 +69,7 @@
# Disable SSH login with password, allow only keypair
services.openssh.settings.PasswordAuthentication = false;
services.openssh.settings.X11Forwarding = true;
networking.firewall = {
extraCommands = ''

View File

@@ -108,7 +108,7 @@
home = "/home/Computational/dbautist";
description = "Dylan Bautista Cases";
group = "Computational";
hosts = [ "apex" "hut" "tent" "raccoon" ];
hosts = [ "apex" "hut" "tent" "raccoon" "owl1" "owl2" ];
hashedPassword = "$6$a2lpzMRVkG9nSgIm$12G6.ka0sFX1YimqJkBAjbvhRKZ.Hl090B27pdbnQOW0wzyxVWySWhyDDCILjQELky.HKYl9gqOeVXW49nW7q/";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAb+EQBoS98zrCwnGKkHKwMLdYABMTqv7q9E0+T0QmkS dbautist@bsc-848818791"

View File

@@ -25,6 +25,9 @@
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.kernelModules = [ "kvm-amd" "amd_uncore" "amd_hsmp" ];
# Disable IPMI watchdog as the BMC is not stable
boot.blacklistedKernelModules = [ "ipmi_watchdog" ];
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode = lib.mkForce false;

View File

@@ -0,0 +1,8 @@
{
# Alias nfs home
fileSystems."/nfs/home" = {
device = "/home";
fsType = "none";
options = [ "bind" ];
};
}

View File

@@ -5,8 +5,8 @@
controlMachine = "apex";
clusterName = "jungle";
nodeName = [
"owl[1,2] Sockets=2 CoresPerSocket=14 ThreadsPerCore=2 Feature=owl"
"fox Sockets=8 CoresPerSocket=24 ThreadsPerCore=1"
"owl[1,2] Sockets=2 CoresPerSocket=14 ThreadsPerCore=2 MemSpecLimit=4096 RealMemory=128797"
"fox Sockets=8 CoresPerSocket=24 ThreadsPerCore=1 MemSpecLimit=4096 RealMemory=773659"
];
partitionName = [
@@ -41,9 +41,9 @@
# multiple hardware threads (or CPUs).
SelectType=select/cons_tres
# Ignore memory constraints and only use unused cores to share a node with
# other jobs.
SelectTypeParameters=CR_Core
# Both cores and memory are consumable resources, so we can put a limit in
# memory as well.
SelectTypeParameters=CR_Core_Memory
# Required for pam_slurm_adopt, see https://slurm.schedmd.com/pam_slurm_adopt.html
# This sets up the "extern" step into which ssh-launched processes will be
@@ -58,7 +58,9 @@
extraCgroupConfig = ''
CgroupPlugin=cgroup/v2
#ConstrainCores=yes
ConstrainRAMSpace=yes
ConstrainSwapSpace=yes
AllowedRAMSpace=99
'';
};

View File

@@ -9,6 +9,7 @@
../module/slurm-firewall.nix
../module/debuginfod.nix
../module/hut-substituter.nix
../module/nfs-home-bind.nix
];
# Select the this using the ID to avoid mismatches

View File

@@ -9,6 +9,7 @@
../module/slurm-firewall.nix
../module/debuginfod.nix
../module/hut-substituter.nix
../module/nfs-home-bind.nix
];
# Select the this using the ID to avoid mismatches

View File

@@ -1,3 +1,24 @@
-- Copyright (c) 2026 Barcelona Supercomputing Center (BSC)
-- SPDX-License-Identifier: MIT
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy
-- of this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-- copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be included in
-- all copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}