Compare commits

..

12 Commits

Author SHA1 Message Date
fece91e756 Remove unused inputs from intel compiler 2023
Reviewed-by: Aleix Boné <abonerib@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-07-21 17:19:18 +02:00
cd75488bdb Use gcc 13 for intel compiler 2023
Intel compiler for C++ (icpc) is not able to parse the location of C++
headers from the output of gcc 14, but works fine for gcc 13.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:19:18 +02:00
be373b6355 Fix PATH in intel compiler wrapper
We need to add the gcc in the PATH, but adding it directly to $PATH
doesn't work, as it will be restored to $path_backup before icc runs. So
for now we simply inject it to path_backup, but ideally we should find a
more robust solution.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:19:18 +02:00
05cdb01ef9 Drop GPI-2 and TAGASPI
GPI-2 fails to build, which is needed for TAGASPI.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:19:18 +02:00
94773bb5c5 Use boost 1.86 for paraver
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-07-21 17:19:15 +02:00
374ec330ed Fix intel-compiler by ignoring broken symlinks
In the future, we may want to look if those symlinks are needed.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:18:18 +02:00
c225f60dc8 Upgrade OmpSs-2 LLVM to 2025.06
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:18:15 +02:00
490389e26f Update TAMPI to 4.1
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:18:13 +02:00
066ebad8af Update Nanos6 to 4.3
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:18:10 +02:00
d9c10446f1 Update nOS-V to 3.2.0
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:18:07 +02:00
44f36ce2f2 Update ovni to 1.12.0
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:18:03 +02:00
3bf9666756 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'path:/nix/store/2csx2kkb2hxyxhhmg2xs9jfyypikwwk6-source?lastModified=1736867362&narHash=sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8%3D&rev=9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc' (2025-01-14)
  → 'path:/nix/store/zk8v61cpk1wprp9ld5ayc1g5fq4pdkwv-source?lastModified=1752436162&narHash=sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw%3D&rev=dfcd5b901dbab46c9c6e80b265648481aafb01f8' (2025-07-13)

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:17:59 +02:00
7 changed files with 28 additions and 145 deletions

View File

@ -1,19 +1,11 @@
let let
bscOverlay = import ./overlay.nix; bscOverlay = import ./overlay.nix;
# read flake.lock and determine revision from there # Pin the nixpkgs
lock = builtins.fromJSON (builtins.readFile ./flake.lock); nixpkgsPath = import ./nixpkgs.nix;
inherit (lock.nodes.nixpkgs.locked) rev narHash;
fetchedNixpkgs = builtins.fetchTarball { pkgs = import nixpkgsPath {
url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz"; overlays = [ bscOverlay ];
sha256 = narHash;
}; };
in
{ overlays ? [ ] in pkgs
, nixpkgs ? fetchedNixpkgs
, ...
}@attrs:
import nixpkgs (
(builtins.removeAttrs attrs [ "overlays" "nixpkgs" ]) //
{ overlays = [ bscOverlay ] ++ overlays; }
)

9
nixpkgs.nix Normal file
View File

@ -0,0 +1,9 @@
let
commit = "e4ad989506ec7d71f7302cc3067abd82730a4beb";
in builtins.fetchTarball {
# Descriptive name to make the store path easier to identify
name = "nixpkgs-${commit}";
url = "https://github.com/nixos/nixpkgs/archive/${commit}.tar.gz";
# Hash obtained using `nix-prefetch-url --unpack <url>`
sha256 = "sha256-de9KYi8rSJpqvBfNwscWdalIJXPo8NjdIZcEJum1mH0=";
}

View File

@ -21,7 +21,7 @@ let
#gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7 #gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { }; intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { }; jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
lmbench = callPackage ./pkgs/lmbench/default.nix { }; #lmbench = callPackage ./pkgs/lmbench/default.nix { }; # Broken
mcxx = callPackage ./pkgs/mcxx/default.nix { }; mcxx = callPackage ./pkgs/mcxx/default.nix { };
nanos6 = callPackage ./pkgs/nanos6/default.nix { }; nanos6 = callPackage ./pkgs/nanos6/default.nix { };
nanos6Debug = final.nanos6.override { enableDebug = true; }; nanos6Debug = final.nanos6.override { enableDebug = true; };

View File

@ -1,20 +1,14 @@
{ {
stdenv stdenv
, bigotes
, cmake , cmake
, clangOmpss2 , clangOmpss2
, openmp
, openmpv
, nanos6 , nanos6
, nodes , nodes
, nosv
, mpi , mpi
, tampi , tampi
, openblas
, 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 ? "1e6ce2aa8ad7b4eef38df1581d7ec48a8815f85d"
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -27,28 +21,9 @@ stdenv.mkDerivation rec {
rev = gitCommit; rev = gitCommit;
}; };
buildInputs = [ buildInputs = [ cmake clangOmpss2 nanos6 nodes mpi tampi ];
bigotes
cmake
clangOmpss2
openmp
openmpv
nanos6
nodes
nosv
mpi
tampi
openblas
openblas.dev
ovni
];
env = {
NANOS6_HOME = nanos6;
NODES_HOME = nodes;
NOSV_HOME = nosv;
};
enableParallelBuilding = false;
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_C_COMPILER=clang" "-DCMAKE_C_COMPILER=clang"
"-DCMAKE_CXX_COMPILER=clang++" "-DCMAKE_CXX_COMPILER=clang++"

View File

@ -1,41 +1,35 @@
{ {
lib, lib,
stdenv, stdenv,
libtirpc,
fetchFromGitHub fetchFromGitHub
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lmbench"; pname = "lmbench";
version = "941a0dcc"; version = "701c6c35";
# We use the intel repo as they have fixed some problems # We use the intel repo as they have fixed some problems
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "intel"; owner = "intel";
repo = pname; repo = pname;
rev = "941a0dcc0e7bdd9bb0dee05d7f620e77da8c43af"; rev = "701c6c35b0270d4634fb1dc5272721340322b8ed";
sha256 = "sha256-SzwplRBO3V0R3m3p15n71ivYBMGoLsajFK2TapYxdqk="; sha256 = "0sf6zk03knkardsfd6qx7drpm56nhg53n885cylkggk83r38idyr";
}; };
postUnpack = ''
export sourceRoot="$sourceRoot/src"
'';
postPatch = '' postPatch = ''
sed -i "s@/bin/rm@rm@g" $(find . -name Makefile) sed -i "s@/bin/rm@rm@g" $(find . -name Makefile)
''; '';
buildInputs = [ libtirpc ];
patches = [ ./fix-install.patch ./gcc-14.patch ];
hardeningDisable = [ "all" ]; hardeningDisable = [ "all" ];
enableParallelBuilding = false; enableParallelBuilding = false;
preBuild = '' preBuild = ''
makeFlagsArray+=( makeFlagsArray+=(BASE=$out)
-C src
BASE=$out
CFLAGS=-Wno-implicit-int
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
LDFLAGS=-ltirpc
)
''; '';
meta = { meta = {

View File

@ -1,10 +0,0 @@
--- a/src/Makefile
+++ b/src/Makefile
@@ -144,6 +144,7 @@ install-target:
if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
cp $(EXES) $(BASE)/bin
+ cp $(OPT_EXES) $(BASE)/bin
cp $(INCS) $(BASE)/include
cp $O/lmbench.a $(BASE)/lib/libmbench.a
cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install

View File

@ -1,77 +0,0 @@
From a3c6e7d303cd8368e8d4e35be7cbc1997e801257 Mon Sep 17 00:00:00 2001
From: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Date: Mon, 21 Jul 2025 17:38:58 +0200
Subject: [PATCH] Misc fixes to build with gcc 14
---
src/bench.h | 2 ++
src/lat_select.c | 2 +-
src/lib_debug.c | 1 +
src/lib_sched.c | 2 +-
src/lib_timing.c | 2 +-
5 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/bench.h b/src/bench.h
index 8166408..4da9079 100644
--- a/src/bench.h
+++ b/src/bench.h
@@ -320,4 +320,6 @@ extern int handle_scheduler(int childno, int benchproc, int nbenchprocs);
extern char *rpc_xact_1();
extern char *client_rpc_xact_1();
+void lmbench_usage(int argc, char *argv[], char* usage);
+
#endif /* _BENCH_H */
diff --git a/src/lat_select.c b/src/lat_select.c
index 583b505..39df369 100644
--- a/src/lat_select.c
+++ b/src/lat_select.c
@@ -164,7 +164,7 @@ doit(iter_t iterations, void * cookie)
state_t * state = (state_t *)cookie;
fd_set nosave;
static struct timeval tv;
- static count = 0;
+ static int count = 0;
tv.tv_sec = 0;
tv.tv_usec = 0;
diff --git a/src/lib_debug.c b/src/lib_debug.c
index e8347dd..cf65312 100644
--- a/src/lib_debug.c
+++ b/src/lib_debug.c
@@ -1,5 +1,6 @@
#include "bench.h"
#include "lib_debug.h"
+#include <math.h>
/*
* return micro-seconds / iteration at the the fraction point.
diff --git a/src/lib_sched.c b/src/lib_sched.c
index aa83ae0..4f16bbf 100644
--- a/src/lib_sched.c
+++ b/src/lib_sched.c
@@ -91,7 +91,7 @@ handle_scheduler(int childno, int benchproc, int nbenchprocs)
childno * (nbenchprocs + 1) + benchproc);
} else {
/* default action: do nothing */
- return;
+ return 0;
}
return sched_pin(cpu % sched_ncpus());
diff --git a/src/lib_timing.c b/src/lib_timing.c
index af8cf68..7ec9652 100644
--- a/src/lib_timing.c
+++ b/src/lib_timing.c
@@ -1623,7 +1623,7 @@ bread(void* buf, long nbytes)
void
touch(char *buf, int nbytes)
{
- static psize;
+ static int psize;
if (!psize) {
psize = getpagesize();
--
2.49.0