forked from rarias/jungle
Compare commits
16 Commits
master
...
4545fbf08f
| Author | SHA1 | Date | |
|---|---|---|---|
|
4545fbf08f
|
|||
|
4e64f54c0f
|
|||
|
71628cc9ea
|
|||
|
0bd4c83330
|
|||
|
97cbf5e30e
|
|||
|
14ac26e2c8
|
|||
|
bc74b7d42b
|
|||
|
547d4f9315
|
|||
|
3f46d04b20
|
|||
|
a173af654f
|
|||
|
2fff7e4a7b
|
|||
|
a761b73336
|
|||
|
86eb796771
|
|||
|
08633435cf
|
|||
|
39d64456a4
|
|||
|
410040a4a0
|
8
flake.lock
generated
8
flake.lock
generated
@@ -2,16 +2,16 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752436162,
|
"lastModified": 1764522689,
|
||||||
"narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=",
|
"narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
|
"rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-25.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... }:
|
outputs = { self, nixpkgs, ... }:
|
||||||
|
|||||||
@@ -5,5 +5,5 @@
|
|||||||
boot.kernelModules = [ "ipmi_watchdog" ];
|
boot.kernelModules = [ "ipmi_watchdog" ];
|
||||||
|
|
||||||
# Enable systemd watchdog with 30 s interval
|
# Enable systemd watchdog with 30 s interval
|
||||||
systemd.watchdog.runtimeTime = "30s";
|
systemd.settings.Manager.RuntimeWatchdogSec = 30;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
{
|
{
|
||||||
services.nixseparatedebuginfod.enable = true;
|
services.nixseparatedebuginfod2 = {
|
||||||
|
enable = true;
|
||||||
|
substituters = [
|
||||||
|
"local:"
|
||||||
|
"https://cache.nixos.org"
|
||||||
|
"http://hut/cache"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
src = ./.;
|
src = ./.;
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cudatoolkit # Required for nvcc
|
cudatoolkit # Required for nvcc
|
||||||
cudaPackages.cuda_cudart.static # Required for -lcudart_static
|
(lib.getOutput "static" cudaPackages.cuda_cudart) # Required for -lcudart_static
|
||||||
autoAddDriverRunpath
|
autoAddDriverRunpath
|
||||||
];
|
];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
, automake
|
, automake
|
||||||
, libtool
|
, libtool
|
||||||
, mpi
|
, mpi
|
||||||
, rsync
|
|
||||||
, gfortran
|
, gfortran
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -44,13 +43,24 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-infiniband=${rdma-core-all}"
|
"--with-infiniband=${rdma-core-all}"
|
||||||
"--with-mpi=${mpiAll}"
|
"--with-mpi=yes" # fixes mpi detection when cross-compiling
|
||||||
"--with-slurm"
|
"--with-slurm"
|
||||||
"CFLAGS=-fPIC"
|
"CFLAGS=-fPIC"
|
||||||
"CXXFLAGS=-fPIC"
|
"CXXFLAGS=-fPIC"
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ slurm mpiAll rdma-core-all autoconf automake libtool rsync gfortran ];
|
nativeBuildInputs = [
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
gfortran
|
||||||
|
libtool
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
slurm
|
||||||
|
mpiAll
|
||||||
|
rdma-core-all
|
||||||
|
];
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
@@ -60,5 +70,6 @@ stdenv.mkDerivation rec {
|
|||||||
maintainers = with lib.maintainers.bsc; [ rarias ];
|
maintainers = with lib.maintainers.bsc; [ rarias ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
|
cross = false; # infiniband detection does not work
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
, zlib
|
, zlib
|
||||||
, autoPatchelfHook
|
, autoPatchelfHook
|
||||||
, libfabric
|
, libfabric
|
||||||
, gcc13
|
, gcc
|
||||||
, wrapCCWith
|
, wrapCCWith
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -33,8 +33,6 @@ let
|
|||||||
maintainers = with lib.maintainers.bsc; [ abonerib ];
|
maintainers = with lib.maintainers.bsc; [ abonerib ];
|
||||||
};
|
};
|
||||||
|
|
||||||
gcc = gcc13;
|
|
||||||
|
|
||||||
v = {
|
v = {
|
||||||
hpckit = "2023.1.0";
|
hpckit = "2023.1.0";
|
||||||
compiler = "2023.1.0";
|
compiler = "2023.1.0";
|
||||||
@@ -416,13 +414,14 @@ let
|
|||||||
wrapIntel = { cc, mygcc, extraBuild ? "", extraInstall ? "" }:
|
wrapIntel = { cc, mygcc, extraBuild ? "", extraInstall ? "" }:
|
||||||
let
|
let
|
||||||
targetConfig = stdenv.targetPlatform.config;
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
gccVersion = builtins.concatStringsSep "." (lib.take 3 (builtins.splitVersion mygcc.version));
|
||||||
in (wrapCCWith {
|
in (wrapCCWith {
|
||||||
cc = cc;
|
cc = cc;
|
||||||
extraBuildCommands = ''
|
extraBuildCommands = ''
|
||||||
echo "-isystem ${cc}/include" >> $out/nix-support/cc-cflags
|
echo "-isystem ${cc}/include" >> $out/nix-support/cc-cflags
|
||||||
echo "-isystem ${cc}/include/intel64" >> $out/nix-support/cc-cflags
|
echo "-isystem ${cc}/include/intel64" >> $out/nix-support/cc-cflags
|
||||||
|
|
||||||
echo "-L${mygcc.cc}/lib/gcc/${targetConfig}/${mygcc.version}" >> $out/nix-support/cc-ldflags
|
echo "-L${mygcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-ldflags
|
||||||
echo "-L${mygcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
|
echo "-L${mygcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
|
||||||
echo "-L${intel-compiler-shared}/lib" >> $out/nix-support/cc-ldflags
|
echo "-L${intel-compiler-shared}/lib" >> $out/nix-support/cc-ldflags
|
||||||
echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
|
echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
|||||||
@@ -27,10 +27,10 @@ let
|
|||||||
# We need to replace the lld linker from bintools with our linker just built,
|
# We need to replace the lld linker from bintools with our linker just built,
|
||||||
# otherwise we run into incompatibility issues when mixing compiler and linker
|
# otherwise we run into incompatibility issues when mixing compiler and linker
|
||||||
# versions.
|
# versions.
|
||||||
bintools-unwrapped = llvmPackages_latest.tools.bintools-unwrapped.override {
|
bintools-unwrapped = llvmPackages_latest.bintools-unwrapped.override {
|
||||||
lld = clangOmpss2Unwrapped;
|
lld = clangOmpss2Unwrapped;
|
||||||
};
|
};
|
||||||
bintools = llvmPackages_latest.tools.bintools.override {
|
bintools = llvmPackages_latest.bintools.override {
|
||||||
bintools = bintools-unwrapped;
|
bintools = bintools-unwrapped;
|
||||||
};
|
};
|
||||||
targetConfig = stdenv.targetPlatform.config;
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
{ python3Packages, lib }:
|
{ python3Packages, lib }:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication {
|
||||||
pname = "meteocat-exporter";
|
pname = "meteocat-exporter";
|
||||||
version = "1.0";
|
version = "1.0";
|
||||||
|
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|||||||
@@ -6,6 +6,13 @@
|
|||||||
, pmix
|
, pmix
|
||||||
, gfortran
|
, gfortran
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
|
# Disabled when cross-compiling
|
||||||
|
# To fix cross compilation, we should fill the values in:
|
||||||
|
# https://github.com/pmodels/mpich/blob/main/maint/fcrosscompile/cross_values.txt.in
|
||||||
|
# For each arch
|
||||||
|
, enableFortran ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
, perl
|
||||||
|
, targetPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@@ -15,10 +22,13 @@ let
|
|||||||
paths = [ pmix.dev pmix.out ];
|
paths = [ pmix.dev pmix.out ];
|
||||||
};
|
};
|
||||||
in mpich.overrideAttrs (old: {
|
in mpich.overrideAttrs (old: {
|
||||||
buildInput = old.buildInputs ++ [
|
buildInputs = old.buildInputs ++ [
|
||||||
libfabric
|
libfabric
|
||||||
pmixAll
|
pmixAll
|
||||||
];
|
];
|
||||||
|
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||||
|
perl
|
||||||
|
];
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-shared"
|
"--enable-shared"
|
||||||
"--enable-sharedlib"
|
"--enable-sharedlib"
|
||||||
@@ -31,10 +41,21 @@ in mpich.overrideAttrs (old: {
|
|||||||
] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [
|
] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [
|
||||||
"FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300
|
"FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300
|
||||||
"FCFLAGS=-fallow-argument-mismatch"
|
"FCFLAGS=-fallow-argument-mismatch"
|
||||||
|
] ++ lib.optionals (!enableFortran) [
|
||||||
|
"--disable-fortran"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
sed -i 's:^CC=.*:CC=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc:' $out/bin/mpicc
|
||||||
|
sed -i 's:^CXX=.*:CXX=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++:' $out/bin/mpicxx
|
||||||
|
'' + lib.optionalString enableFortran ''
|
||||||
|
sed -i 's:^FC=.*:FC=${targetPackages.gfortran or gfortran}/bin/${targetPackages.gfortran.targetPrefix or gfortran.targetPrefix}gfortran:' $out/bin/mpifort
|
||||||
|
'';
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
meta = old.meta // {
|
meta = old.meta // {
|
||||||
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);
|
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);
|
||||||
|
cross = true;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ stdenv.mkDerivation rec {
|
|||||||
"CXX=mpicxx"
|
"CXX=mpicxx"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
env = {
|
||||||
|
MPICH_CC="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
|
||||||
|
MPICH_CXX="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
|
||||||
|
};
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
for f in $(find $out -executable -type f); do
|
for f in $(find $out -executable -type f); do
|
||||||
@@ -44,5 +49,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = "http://mvapich.cse.ohio-state.edu/benchmarks/";
|
homepage = "http://mvapich.cse.ohio-state.edu/benchmarks/";
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
|
cross = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
, paraverKernel
|
, paraverKernel
|
||||||
, openssl
|
, openssl
|
||||||
, glibcLocales
|
, glibcLocales
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
|
|||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
wrapGAppsHook
|
wrapGAppsHook3
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|||||||
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
|
|||||||
maintainers = with lib.maintainers.bsc; [ rarias ];
|
maintainers = with lib.maintainers.bsc; [ rarias ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
|
cross = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,23 +5,14 @@
|
|||||||
, automake
|
, automake
|
||||||
, autoconf
|
, autoconf
|
||||||
, libtool
|
, libtool
|
||||||
, mpi
|
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, gpi-2
|
, gpi-2
|
||||||
, boost
|
, boost
|
||||||
, numactl
|
, numactl
|
||||||
, rdma-core
|
, rdma-core
|
||||||
, gfortran
|
, gfortran
|
||||||
, symlinkJoin
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
mpiAll = symlinkJoin {
|
|
||||||
name = "mpi-all";
|
|
||||||
paths = [ mpi.all ];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tagaspi";
|
pname = "tagaspi";
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@@ -35,16 +26,18 @@ stdenv.mkDerivation rec {
|
|||||||
hash = "sha256-RGG/Re2uM293HduZfGzKUWioDtwnSYYdfeG9pVrX9EM=";
|
hash = "sha256-RGG/Re2uM293HduZfGzKUWioDtwnSYYdfeG9pVrX9EM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
automake
|
automake
|
||||||
autoconf
|
autoconf
|
||||||
libtool
|
libtool
|
||||||
|
gfortran
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
numactl
|
numactl
|
||||||
rdma-core
|
rdma-core
|
||||||
gfortran
|
|
||||||
mpiAll
|
|
||||||
];
|
];
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
@@ -63,5 +56,6 @@ stdenv.mkDerivation rec {
|
|||||||
maintainers = with lib.maintainers.bsc; [ rarias ];
|
maintainers = with lib.maintainers.bsc; [ rarias ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
|
cross = false; # gpi-2 cannot cross
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,5 +68,6 @@ in stdenv.mkDerivation {
|
|||||||
maintainers = with lib.maintainers.bsc; [ rarias ];
|
maintainers = with lib.maintainers.bsc; [ rarias ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
|
cross = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
{ python3Packages, lib }:
|
{ python3Packages, lib }:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication {
|
||||||
pname = "upc-qaire-exporter";
|
pname = "upc-qaire-exporter";
|
||||||
version = "1.0";
|
version = "1.0";
|
||||||
|
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user