18 name_list1= ['allocate','run','configure','tensor_copy','ACL_CONV','ACL_FC','ACL_LRN','ACL_POOLING','ACL_RELU','ACL_SOFTMAX']
23 def getvalpairs(words):
38 def addpairstolist(db,name,val,idx):
41 # db[idx]['val'] += val
43 # db[idx] = {'val':val,'name':name}
51 db.append({'idx':idx,'val':val,'name':name})
60 str=line[start:-1].lstrip(' ')
61 words=re.split('\t',str)
70 def decodefile(logfile):
72 for line in open(logfile):
73 if line.find(':')==-1:
78 words=re.split('\t|:| |\r|\n',line)
80 (name,val)=getvalpairs(words)
81 #print (name,float(val),eval(val))
82 if name == 'used' and val == 'time':
85 addpairstolist(data_list,name,float(val),idx)
86 except ValueError as e:
92 # print i, db[i]['idx'],db[i]['val']
94 db.sort(key=lambda obj:obj.get('idx'), reverse=False)
102 if i['name']==conv_str:
107 if i['idx']>=tpi_start:
112 table_head='TPI'+'\t'
113 table_val='%.4f' % (tpi/times)+'\t'
117 if i['idx']<tpi_start:
118 if i['name'].find('ACL_')==0:
119 table_head+=i['name'][start:]+'\t'
121 table_head+=i['name']+'\t'
122 table_val+='%.4f' % (i['val']/times)+'\t'
127 table_head='TPI'+'\t'
128 table_val='%.4f' % (tpi/times)+'\t'
131 if i['idx']>=tpi_start:
132 if i['name'].find('ACL_')==0:
134 table_head+=i['name'][start:]+'\t'
136 table_head+=i['name']+'\t'
137 table_val+='%.4f' % (i['val']/times)+'\t'
142 ws.write(trow, tcol, 'TPI')
143 ws.write(trow+1,tcol,'%.4f' % (tpi/times))
149 if i.find('ACL_')==0 and find_acl==0:
153 ws.write(temp_row,temp_col,i)
154 ws.write(temp_row+1,temp_col,'0')
160 curvalue='%.4f' % (i['val']/times)
161 if curname == 'ACL_BN':
162 ws.write(trow+2,7,curname)
163 ws.write(trow+3,7,curvalue)
165 if curname in name_list1:
166 val_col=name_list1.index(curname)+2
168 # print ('name found'+ curname + curvalue)
174 ws.write(val_row,val_col,curname)
175 ws.write(val_row+1,val_col,curvalue)
181 if __name__ == '__main__' :
182 if len(sys.argv) < 2:
186 logfile = sys.argv[1]
188 filename = os.path.basename(logfile)
192 ws = wb.add_sheet('testsheet',True)
199 ws.write(trow,tcol,'1st time')
201 printresult(data_list1)
206 print('\nAverage of 2-11 times:')
207 ws.write(trow, tcol, '2-11 times')
209 printresult(data_list2)
210 wb.save(filename+'.xls')
211 print ('Xls file generated')