Compare commits
	
		
			12 Commits
		
	
	
		
			24326d4fce
			...
			fece91e756
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fece91e756 | |||
| cd75488bdb | |||
| be373b6355 | |||
| 05cdb01ef9 | |||
| 94773bb5c5 | |||
| 374ec330ed | |||
| c225f60dc8 | |||
| 490389e26f | |||
| 066ebad8af | |||
| d9c10446f1 | |||
| 44f36ce2f2 | |||
| 3bf9666756 | 
							
								
								
									
										22
									
								
								default.nix
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								default.nix
									
									
									
									
									
								
							| @ -1,19 +1,11 @@ | ||||
| let | ||||
|   bscOverlay = import ./overlay.nix; | ||||
| 
 | ||||
|   # read flake.lock and determine revision from there | ||||
|   lock = builtins.fromJSON (builtins.readFile ./flake.lock); | ||||
|   inherit (lock.nodes.nixpkgs.locked) rev narHash; | ||||
|   fetchedNixpkgs = builtins.fetchTarball { | ||||
|     url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz"; | ||||
|     sha256 = narHash; | ||||
|   # Pin the nixpkgs | ||||
|   nixpkgsPath = import ./nixpkgs.nix; | ||||
| 
 | ||||
|   pkgs = import nixpkgsPath { | ||||
|     overlays = [ bscOverlay ]; | ||||
|   }; | ||||
| in | ||||
| { overlays ? [ ] | ||||
| , nixpkgs ? fetchedNixpkgs | ||||
| , ... | ||||
| }@attrs: | ||||
| import nixpkgs ( | ||||
|   (builtins.removeAttrs attrs [ "overlays" "nixpkgs" ]) // | ||||
|   { overlays = [ bscOverlay ] ++ overlays; } | ||||
| ) | ||||
| 
 | ||||
| in pkgs | ||||
|  | ||||
							
								
								
									
										9
									
								
								nixpkgs.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								nixpkgs.nix
									
									
									
									
									
										Normal 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="; | ||||
| } | ||||
| @ -21,7 +21,7 @@ let | ||||
|     #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 { }; | ||||
|     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 { }; | ||||
|     nanos6 = callPackage ./pkgs/nanos6/default.nix { }; | ||||
|     nanos6Debug = final.nanos6.override { enableDebug = true; }; | ||||
|  | ||||
| @ -1,20 +1,14 @@ | ||||
| { | ||||
|   stdenv | ||||
| , bigotes | ||||
| , cmake | ||||
| , clangOmpss2 | ||||
| , openmp | ||||
| , openmpv | ||||
| , nanos6 | ||||
| , nodes | ||||
| , nosv | ||||
| , mpi | ||||
| , tampi | ||||
| , openblas | ||||
| , ovni | ||||
| , gitBranch ? "master" | ||||
| , gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git" | ||||
| , gitCommit ? "bf29a53113737c3aa74d2fe3d55f59868faea7b4" | ||||
| , gitCommit ? "1e6ce2aa8ad7b4eef38df1581d7ec48a8815f85d" | ||||
| }: | ||||
| 
 | ||||
| stdenv.mkDerivation rec { | ||||
| @ -27,28 +21,9 @@ stdenv.mkDerivation rec { | ||||
|     rev = gitCommit; | ||||
|   }; | ||||
| 
 | ||||
|   buildInputs = [ | ||||
|     bigotes | ||||
|     cmake | ||||
|     clangOmpss2 | ||||
|     openmp | ||||
|     openmpv | ||||
|     nanos6 | ||||
|     nodes | ||||
|     nosv | ||||
|     mpi | ||||
|     tampi | ||||
|     openblas | ||||
|     openblas.dev | ||||
|     ovni | ||||
|   ]; | ||||
| 
 | ||||
|   env = { | ||||
|     NANOS6_HOME = nanos6; | ||||
|     NODES_HOME = nodes; | ||||
|     NOSV_HOME = nosv; | ||||
|   }; | ||||
|   buildInputs = [ cmake clangOmpss2 nanos6 nodes mpi tampi ]; | ||||
| 
 | ||||
|   enableParallelBuilding = false; | ||||
|   cmakeFlags = [ | ||||
|     "-DCMAKE_C_COMPILER=clang" | ||||
|     "-DCMAKE_CXX_COMPILER=clang++" | ||||
|  | ||||
| @ -1,41 +1,35 @@ | ||||
| { | ||||
|   lib, | ||||
|   stdenv, | ||||
|   libtirpc, | ||||
|   fetchFromGitHub | ||||
| }: | ||||
| 
 | ||||
| stdenv.mkDerivation rec { | ||||
|   pname = "lmbench"; | ||||
|   version = "941a0dcc"; | ||||
|   version = "701c6c35"; | ||||
| 
 | ||||
|   # We use the intel repo as they have fixed some problems | ||||
|   src = fetchFromGitHub { | ||||
|     owner = "intel"; | ||||
|     repo = pname; | ||||
|     rev = "941a0dcc0e7bdd9bb0dee05d7f620e77da8c43af"; | ||||
|     sha256 = "sha256-SzwplRBO3V0R3m3p15n71ivYBMGoLsajFK2TapYxdqk="; | ||||
|     rev = "701c6c35b0270d4634fb1dc5272721340322b8ed"; | ||||
|     sha256 = "0sf6zk03knkardsfd6qx7drpm56nhg53n885cylkggk83r38idyr"; | ||||
|   }; | ||||
| 
 | ||||
|   postUnpack = '' | ||||
|     export sourceRoot="$sourceRoot/src" | ||||
|   ''; | ||||
| 
 | ||||
|   postPatch = '' | ||||
|     sed -i "s@/bin/rm@rm@g" $(find . -name Makefile) | ||||
|   ''; | ||||
| 
 | ||||
|   buildInputs = [ libtirpc ]; | ||||
|   patches = [ ./fix-install.patch ./gcc-14.patch ]; | ||||
| 
 | ||||
|   hardeningDisable = [ "all" ]; | ||||
| 
 | ||||
|   enableParallelBuilding = false; | ||||
| 
 | ||||
|   preBuild = '' | ||||
|     makeFlagsArray+=( | ||||
|       -C src | ||||
|       BASE=$out | ||||
|       CFLAGS=-Wno-implicit-int | ||||
|       CPPFLAGS=-I${libtirpc.dev}/include/tirpc | ||||
|       LDFLAGS=-ltirpc | ||||
|     ) | ||||
|     makeFlagsArray+=(BASE=$out) | ||||
|   ''; | ||||
| 
 | ||||
|   meta = { | ||||
|  | ||||
| @ -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 | ||||
| @ -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 | ||||
| 
 | ||||
		Reference in New Issue
	
	Block a user