5
5
import numpy as np
6
6
import copy
7
7
from pathlib import Path
8
+ import llm_bench_utils .output_json as output_json
8
9
9
10
10
11
def output_comments (result , use_case , writer ):
@@ -86,7 +87,7 @@ def output_avg_min_median(iter_data_list):
86
87
return result
87
88
88
89
89
- def gen_data_to_csv (result , iter_data , pretrain_time ):
90
+ def gen_data_to_csv (result , iter_data , pretrain_time , iter_timestamp ):
90
91
generation_time = iter_data ['generation_time' ]
91
92
latency = iter_data ['latency' ]
92
93
first_latency = iter_data ['first_token_latency' ]
@@ -128,9 +129,10 @@ def gen_data_to_csv(result, iter_data, pretrain_time):
128
129
result ['prompt_idx' ] = iter_data ['prompt_idx' ]
129
130
result ['tokenization_time' ] = round (token_time , 5 ) if token_time != '' else token_time
130
131
result ['detokenization_time' ] = round (detoken_time , 5 ) if detoken_time != '' else detoken_time
132
+ result ['start' ], result ['end' ] = output_json .get_timestamp (iter_data ['iteration' ], iter_data ['prompt_idx' ], iter_timestamp )
131
133
132
134
133
- def write_result (report_file , model , framework , device , model_args , iter_data_list , pretrain_time , model_precision ):
135
+ def write_result (report_file , model , framework , device , model_args , iter_data_list , pretrain_time , model_precision , iter_timestamp ):
134
136
header = [
135
137
'iteration' ,
136
138
'model' ,
@@ -156,6 +158,8 @@ def write_result(report_file, model, framework, device, model_args, iter_data_li
156
158
'tokenization_time' ,
157
159
'detokenization_time' ,
158
160
'result_md5' ,
161
+ 'start' ,
162
+ 'end'
159
163
]
160
164
out_file = Path (report_file )
161
165
@@ -174,13 +178,13 @@ def write_result(report_file, model, framework, device, model_args, iter_data_li
174
178
for i in range (len (iter_data_list )):
175
179
iter_data = iter_data_list [i ]
176
180
pre_time = '' if i > 0 else result ['pretrain_time(s)' ]
177
- gen_data_to_csv (result , iter_data , pre_time )
181
+ gen_data_to_csv (result , iter_data , pre_time , iter_timestamp )
178
182
writer .writerow (result )
179
183
180
184
res_data = output_avg_min_median (iter_data_list )
181
185
182
186
for key in res_data .keys ():
183
187
for data in res_data [key ]:
184
- gen_data_to_csv (result , data , '' )
188
+ gen_data_to_csv (result , data , '' , iter_timestamp )
185
189
writer .writerow (result )
186
190
output_comments (result , model_args ['use_case' ], writer )
0 commit comments