Skip to content

Commit 8f2b56d

Browse files
committed
Update MLPerf RN50 parser to show filesystem path under test
Closes #28 Signed-Off-By: Joe Handzik <jhandzik@nvidia.com>
1 parent 2048d0b commit 8f2b56d

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

bobber/lib/analysis/parse-mlperf.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,36 +106,50 @@ def find_num_nodes(logfile):
106106
return num_nodes
107107

108108

109+
def find_filesystem_test_path(logfile):
110+
container_mounts_line = re.findall(r'container-mounts=\S*:/data', logfile)
111+
container_data_mount = container_mounts_line[0].replace(
112+
'container-mounts=', '')
113+
return container_data_mount
114+
115+
109116
def read_files(logfiles):
110117
all_results = []
111118
prev_nodes_found = None
119+
prev_filesystem_test_path = None
112120

113121
for filename in logfiles:
114122
with open(filename, 'r') as logpointer:
115123
log = logpointer.read()
116124
results = parse_file(log)
117125
all_results.append(results)
118126
nodes_tested = find_num_nodes(log)
127+
filesystem_test_path = find_filesystem_test_path(log)
119128
if prev_nodes_found and nodes_tested != prev_nodes_found:
120129
raise ValueError('Error: Mixed node sizes found in log files!')
130+
if prev_filesystem_test_path and \
131+
filesystem_test_path != prev_filesystem_test_path:
132+
raise ValueError('Error: Mixed test paths found in log files!')
121133
prev_nodes_found = nodes_tested
134+
prev_filesystem_test_path = filesystem_test_path
122135
aggregate = Aggregate(
123136
[result.epoch_zero_speed for result in all_results],
124137
[result.epoch_zero_time for result in all_results],
125138
[result.elapsed_time for result in all_results],
126139
[result.average_speed for result in all_results]
127140
)
128-
return aggregate, nodes_tested
141+
return aggregate, nodes_tested, filesystem_test_path
129142

130143

131-
def print_averages(results, directory, nodes_tested):
144+
def print_averages(results, directory, nodes_tested, filesystem_test_path):
132145
e_zero_speed = average(results.epoch_zero_speeds)
133146
e_zero_time = ms_to_seconds(average(results.epoch_zero_times))
134147
overall_speed = average(results.average_speeds)
135148
overall_time = ms_to_minutes(average(results.elapsed_times))
136149

137150
output = f"""MLPerf Results:
138-
Directory name: {directory}
151+
Log directory name: {directory}
152+
Filesystem test path: {filesystem_test_path}
139153
Number of iterations: {len(results.epoch_zero_speeds)}
140154
Nodes tested: {nodes_tested}
141155
Epoch 0:
@@ -150,8 +164,9 @@ def print_averages(results, directory, nodes_tested):
150164
def main():
151165
args = parse_args()
152166
logfiles = get_files(args.directory)
153-
aggregate, nodes_tested = read_files(logfiles)
154-
print_averages(aggregate, args.directory, nodes_tested)
167+
aggregate, nodes_tested, filesystem_test_path = read_files(logfiles)
168+
print_averages(aggregate, args.directory, nodes_tested,
169+
filesystem_test_path)
155170

156171

157172
if __name__ == '__main__':

0 commit comments

Comments
 (0)