forked from rarias/jungle
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   pkgs
 | |
| , callPackage
 | |
| , callPackages
 | |
| }:
 | |
| 
 | |
| let
 | |
| 
 | |
|   garlic = {
 | |
| 
 | |
|     # Load some helper functions to generate app variants
 | |
|     inherit (import ./gen.nix) genApps genApp genConfigs;
 | |
| 
 | |
|     mpptest = callPackage ./mpptest { };
 | |
| 
 | |
|     ppong = callPackage ./ppong {
 | |
|       mpi = pkgs.mpi;
 | |
|     };
 | |
| 
 | |
|     nbody = callPackage ./nbody {
 | |
|       cc = pkgs.icc;
 | |
|       mpi = pkgs.impi;
 | |
|       tampi = pkgs.tampi;
 | |
|       gitBranch = "garlic/seq";
 | |
|     };
 | |
| 
 | |
|     runWrappers = {
 | |
|       sbatch  = callPackage ./stages/sbatch.nix { };
 | |
|       srun    = callPackage ./stages/srun.nix { };
 | |
|       launch  = callPackage ./stages/launcher.nix { };
 | |
|       control = callPackage ./stages/control.nix { };
 | |
|       nixsetup= callPackage ./stages/nix-setup.nix { };
 | |
|       argv    = callPackage ./stages/argv.nix { };
 | |
|       statspy = callPackage ./stages/statspy.nix { };
 | |
|       extrae  = callPackage ./stages/extrae.nix { };
 | |
|       stagen  = callPackage ./stages/stagen.nix { };
 | |
|     };
 | |
| 
 | |
|     # Perf is tied to a linux kernel specific version
 | |
|     linuxPackages = pkgs.linuxPackages_4_4;
 | |
|     perfWrapper = callPackage ./perf.nix {
 | |
|       perf = pkgs.linuxPackages.perf;
 | |
|     };
 | |
| 
 | |
|     exp = {
 | |
|       noise = callPackage ./exp/noise.nix { };
 | |
|       nbody = {
 | |
|         bs = callPackage ./exp/nbody/bs.nix {
 | |
|           pkgs = pkgs // garlic;
 | |
|         };
 | |
|         mpi = callPackage ./exp/nbody/mpi.nix { };
 | |
|       };
 | |
|       osu = rec {
 | |
|         latency-internode = callPackage ./exp/osu/latency.nix { };
 | |
|         latency-intranode = callPackage ./exp/osu/latency.nix {
 | |
|           interNode = false;
 | |
|         };
 | |
|         latency = latency-internode;
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| 
 | |
| in
 | |
|   garlic
 |