@@ -26,33 +26,35 @@ class Ior(ExecutableApplication):
2626
2727 required_package ("ior" )
2828
29- workload ("multi-file" , executable = "ior" )
29+ workload ("multi-file" , executables = [ "ior-prep" , "ior" ] )
3030
31- workload ("single-file" , executable = "ior" )
31+ workload ("single-file" , executables = ["ior-prep" , "ior" ])
32+
33+ workload_group ("all_workloads" , workloads = ["multi-file" , "single-file" ])
3234
3335 workload_variable (
3436 "transfer-size" ,
3537 default = "1m" ,
3638 description = "Transfer Size" ,
37- workloads = [ "multi-file" , "single-file" ] ,
39+ workload_group = "all_workloads" ,
3840 )
3941 workload_variable (
4042 "block-size" ,
4143 default = "16m" ,
4244 description = "Block Size" ,
43- workloads = [ "multi-file" , "single-file" ] ,
45+ workload_group = "all_workloads" ,
4446 )
4547 workload_variable (
4648 "segment-count" ,
4749 default = "16" ,
4850 description = "Segment Count" ,
49- workloads = [ "multi-file" , "single-file" ] ,
51+ workload_group = "all_workloads" ,
5052 )
5153 workload_variable (
5254 "iterations" ,
5355 default = "1" ,
5456 description = "Segment Count" ,
55- workloads = [ "multi-file" , "single-file" ] ,
57+ workload_group = "all_workloads" ,
5658 )
5759 workload_variable (
5860 "file_args" ,
@@ -66,16 +68,28 @@ class Ior(ExecutableApplication):
6668 description = "FilePerProc flag, default to empty" ,
6769 workloads = ["single-file" ],
6870 )
71+ workload_variable (
72+ "target_directory" ,
73+ default = "{experiment_run_dir}" ,
74+ description = "Target directory for the r/w test. This can be used to target different file systems." ,
75+ workload_group = "all_workloads" ,
76+ )
6977 workload_variable (
7078 "additional_args" ,
7179 default = "" ,
7280 description = "Additional args to pass" ,
73- workloads = ["multi-file" , "single-file" ],
81+ workload_group = "all_workloads" ,
82+ )
83+
84+ executable (
85+ name = "ior-prep" ,
86+ template = "mkdir -p {target_directory}" ,
87+ use_mpi = False ,
7488 )
7589
7690 executable (
7791 name = "ior" ,
78- template = "ior -t {transfer-size} -b {block-size} -s {segment-count} -i {iterations} {file_args} {additional_args}" ,
92+ template = "ior -o {target_directory}/testFile - t {transfer-size} -b {block-size} -s {segment-count} -i {iterations} {file_args} {additional_args}" ,
7993 use_mpi = True ,
8094 )
8195
0 commit comments