forked from rarias/bscpkgs
		
	slurm: add sigsegv experiment
Ensure that we can catch a sigsegv signal before and after the MPI_Finalize call.
This commit is contained in:
		
							parent
							
								
									71c06d02da
								
							
						
					
					
						commit
						f842f1e01d
					
				| @ -91,6 +91,7 @@ | |||||||
| 
 | 
 | ||||||
|   slurm = { |   slurm = { | ||||||
|     cpu = callPackage ./slurm/cpu.nix { }; |     cpu = callPackage ./slurm/cpu.nix { }; | ||||||
|  |     sigsegv = callPackage ./slurm/sigsegv.nix { }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   lulesh = { |   lulesh = { | ||||||
|  | |||||||
							
								
								
									
										59
									
								
								garlic/exp/slurm/sigsegv.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								garlic/exp/slurm/sigsegv.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | |||||||
|  | { | ||||||
|  |   stdenv | ||||||
|  | , stdexp | ||||||
|  | , bsc | ||||||
|  | , targetMachine | ||||||
|  | , stages | ||||||
|  | , garlicTools | ||||||
|  | }: | ||||||
|  | 
 | ||||||
|  | with stdenv.lib; | ||||||
|  | with garlicTools; | ||||||
|  | 
 | ||||||
|  | let | ||||||
|  | 
 | ||||||
|  |   machineConfig = targetMachine.config; | ||||||
|  | 
 | ||||||
|  |   inherit (machineConfig) hw; | ||||||
|  | 
 | ||||||
|  |   # Initial variable configuration | ||||||
|  |   varConf = { | ||||||
|  |     when = [ "before" "after" "never" ]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Generate the complete configuration for each unit | ||||||
|  |   genConf = c: targetMachine.config // rec { | ||||||
|  |     expName = "sigsegv"; | ||||||
|  |     unitName = expName + "-" + when; | ||||||
|  | 
 | ||||||
|  |     inherit (machineConfig) hw; | ||||||
|  |     inherit (c) when; | ||||||
|  |      | ||||||
|  |     loops = 3; | ||||||
|  | 
 | ||||||
|  |     # Resources | ||||||
|  |     qos = "debug"; | ||||||
|  |     cpusPerTask = 1; | ||||||
|  |     ntasksPerNode = hw.cpusPerNode; | ||||||
|  |     nodes = 1; | ||||||
|  |     jobName = unitName; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Compute the array of configurations | ||||||
|  |   configs = stdexp.buildConfigs { | ||||||
|  |     inherit varConf genConf; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   exec = {nextStage, conf, ...}: with conf; stages.exec { | ||||||
|  |     inherit nextStage; | ||||||
|  |     env = "date"; | ||||||
|  |     argv = [ conf.when ]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   program = {nextStage, conf, ...}: bsc.test.sigsegv; | ||||||
|  | 
 | ||||||
|  |   pipeline = stdexp.stdPipeline ++ [ exec program ]; | ||||||
|  | 
 | ||||||
|  | in | ||||||
|  |   | ||||||
|  |   stdexp.genExperiment { inherit configs pipeline; } | ||||||
		Reference in New Issue
	
	Block a user