forked from rarias/bscpkgs
		
	osu: add bw test
This commit is contained in:
		
							parent
							
								
									a36d912022
								
							
						
					
					
						commit
						ed932c9921
					
				| @ -100,5 +100,7 @@ | |||||||
|     latencyShm = latency.override { interNode = false; }; |     latencyShm = latency.override { interNode = false; }; | ||||||
|     latencyMt = latency.override { enableMultithread = true; }; |     latencyMt = latency.override { enableMultithread = true; }; | ||||||
|     latencyMtShm = latency.override { enableMultithread = true; interNode = true; }; |     latencyMtShm = latency.override { enableMultithread = true; interNode = true; }; | ||||||
|  |     bw = callPackage ./osu/bw.nix { }; | ||||||
|  |     bwShm = bw.override { interNode = false; }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										59
									
								
								garlic/exp/osu/bw.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								garlic/exp/osu/bw.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | |||||||
|  | { | ||||||
|  |   stdenv | ||||||
|  | , stdexp | ||||||
|  | , bsc | ||||||
|  | , targetMachine | ||||||
|  | , stages | ||||||
|  | 
 | ||||||
|  | # Should we test the network (true) or the shared memory (false)? | ||||||
|  | , interNode ? true | ||||||
|  | }: | ||||||
|  | 
 | ||||||
|  | with builtins; | ||||||
|  | with stdenv.lib; | ||||||
|  | 
 | ||||||
|  | let | ||||||
|  | 
 | ||||||
|  |   machineConfig = targetMachine.config; | ||||||
|  | 
 | ||||||
|  |   # Initial variable configuration | ||||||
|  |   varConf = with bsc; { | ||||||
|  |     mpi = [ impi bsc.openmpi mpich ]; #psmpi ]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Generate the complete configuration for each unit | ||||||
|  |   genConf = with bsc; c: targetMachine.config // rec { | ||||||
|  |     inherit (machineConfig) hw; | ||||||
|  |     nodes = if interNode then 2 else 1; | ||||||
|  |     ntasksPerNode = if interNode then 1 else 2; | ||||||
|  |     cpusPerTask = 1; | ||||||
|  |     time = "00:10:00"; | ||||||
|  |     qos = "debug"; | ||||||
|  |     loops = 30; | ||||||
|  |     expName = "osu-bw-${mpi.name}"; | ||||||
|  |     unitName = expName; | ||||||
|  |     jobName = expName; | ||||||
|  |     inherit (c) mpi; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Compute the array of configurations | ||||||
|  |   configs = stdexp.buildConfigs { | ||||||
|  |     inherit varConf genConf; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   exec = {nextStage, conf, ...}: with conf; stages.exec { | ||||||
|  |     inherit nextStage; | ||||||
|  | 
 | ||||||
|  |     program = "${nextStage}/bin/osu_bw"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   program = {nextStage, conf, ...}: bsc.osumb.override { | ||||||
|  |     # Use the specified MPI implementation | ||||||
|  |     inherit (conf) mpi; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   pipeline = stdexp.stdPipeline ++ [ exec program ]; | ||||||
|  | 
 | ||||||
|  | in | ||||||
|  | 
 | ||||||
|  |   stdexp.genExperiment { inherit configs pipeline; } | ||||||
		Reference in New Issue
	
	Block a user