saiph: add manual global blocking
Ensure cuts in a single dimension
This commit is contained in:
		
							parent
							
								
									99532c9c60
								
							
						
					
					
						commit
						a90c044c3e
					
				| @ -11,28 +11,33 @@ with stdenv.lib; | |||||||
| let | let | ||||||
|   # Initial variable configuration |   # Initial variable configuration | ||||||
|   varConf = with bsc; { |   varConf = with bsc; { | ||||||
|     nb = [ 1 2 4 8 16 32 64 ]; |     nbl = [ 1 2 4 8 16 32 64 ]; | ||||||
|     nodes = [ 1 2 4 ]; |     nodes = [ 1 2 4 8 ]; | ||||||
|     gitCommit = [ |     #gitCommit = [ "3ecae7c209ec3e33d1108ae4783d7e733d54f2ca" "3b52a616d44f4b86880663e2d951ad89c1dcab4f" ]; | ||||||
|       "3ecae7c209ec3e33d1108ae4783d7e733d54f2ca" |  | ||||||
|     ]; |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Generate the complete configuration for each unit |   # Generate the complete configuration for each unit | ||||||
|   genConf = with bsc; c: targetMachine.config // rec { |   genConf = with bsc; c: targetMachine.config // rec { | ||||||
|     expName = "saiph"; |     expName = "saiph"; | ||||||
|     unitName = "${expName}-N${toString nodes}" + |     unitName = "${expName}-N${toString nodes}" + "-nblx${toString nblx}-nbly${toString nbly}" + "-par-init-One-dimensionalDistribution"; | ||||||
|       "-nbx${toString nbx}-nby${toString nby}"; | #    unitName = if (gitCommit == "3b52a616d44f4b86880663e2d951ad89c1dcab4f")  | ||||||
|  | #      then "${expName}-N${toString nodes}" + "-nblx${toString nblx}-nbly${toString nbly}" + "-par-init" | ||||||
|  | #      else  "${expName}-N${toString nodes}" + "-nblx${toString nblx}-nbly${toString nbly}" + "-seq-init"; | ||||||
| 
 | 
 | ||||||
|     inherit (targetMachine.config) hw; |     inherit (targetMachine.config) hw; | ||||||
| 
 | 
 | ||||||
|     # saiph options |     # saiph options | ||||||
|     nbx = 1; |     manualDist = 1; | ||||||
|     nby = c.nb; |     nbgx = 1; | ||||||
|     nbz = c.nb; |     nbgy = 1; | ||||||
|  |     nbgz = nodes; | ||||||
|  |     nblx = 1; | ||||||
|  |     nbly = c.nbl; | ||||||
|  |     nblz = c.nbl; | ||||||
|     mpi = impi; |     mpi = impi; | ||||||
|     gitBranch = "garlic/tampi+isend+oss+task+simd"; |     gitBranch = "garlic/tampi+isend+oss+task+simd"; | ||||||
|     inherit (c) gitCommit; |     #gitCommit = c.gitCommit; # if exp involves more than 1 commit | ||||||
|  |     #inherit (c) gitCommit;   # if exp fixes the commit | ||||||
| 
 | 
 | ||||||
|     # Repeat the execution of each unit 50 times |     # Repeat the execution of each unit 50 times | ||||||
|     loops = 10; |     loops = 10; | ||||||
| @ -49,6 +54,8 @@ let | |||||||
|   configs = stdexp.buildConfigs { |   configs = stdexp.buildConfigs { | ||||||
|     inherit varConf genConf; |     inherit varConf genConf; | ||||||
|   }; |   }; | ||||||
|  |   #configs = filter (el: if el.nbly == 1 && el.nblz == 1 && el.nodes == 1 && el.gitCommit == "3b52a616d44f4b86880663e2d951ad89c1dcab4f" then false else true) configsAll; | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|   exec = {nextStage, conf, ...}: with conf; stages.exec { |   exec = {nextStage, conf, ...}: with conf; stages.exec { | ||||||
|     inherit nextStage; |     inherit nextStage; | ||||||
| @ -63,7 +70,7 @@ let | |||||||
|     customPkgs = stdexp.replaceMpi conf.mpi; |     customPkgs = stdexp.replaceMpi conf.mpi; | ||||||
|   in |   in | ||||||
|     customPkgs.apps.saiph.override { |     customPkgs.apps.saiph.override { | ||||||
|       inherit (conf) nbx nby nbz mpi gitBranch gitCommit; |       inherit (conf) manualDist nbgx nbgy nbgz nblx nbly nblz mpi gitBranch; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|   pipeline = stdexp.stdPipeline ++ [ exec program ]; |   pipeline = stdexp.stdPipeline ++ [ exec program ]; | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Sandra
						Sandra