File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22All the objects used for a Workload description in AccelForge.
33"""
44
5+ import copy
56from itertools import product
67import itertools
78import logging
@@ -250,7 +251,9 @@ def _parse_einsum_entry(einsum_entry: dict) -> dict:
250251 if "einsum" not in einsum_entry :
251252 return einsum_entry
252253
253- einsum_str = einsum_entry ["einsum" ]
254+ einsum_str = einsum_entry .pop ("einsum" )
255+ einsum_entry = copy .deepcopy (einsum_entry )
256+
254257 parsed = _parse_einsum_string (einsum_str )
255258
256259 tensor_accesses = einsum_entry .get ("tensor_accesses" , [])
@@ -280,9 +283,12 @@ def _parse_einsum_entry(einsum_entry: dict) -> dict:
280283 f"already set by the einsum string { einsum_str } "
281284 )
282285 name2access [name ][k ] = v
283- parsed ["tensor_accesses" ] = list (name2access .values ())
284- parsed ["renames" ] = rename_list_factory (einsum_entry .get ("renames" , {}))
285- return parsed
286+
287+ einsum_entry ["name" ] = parsed ["name" ]
288+ einsum_entry ["tensor_accesses" ] = list (name2access .values ())
289+ einsum_entry ["renames" ] = rename_list_factory (einsum_entry .get ("renames" , {}))
290+
291+ return einsum_entry
286292
287293
288294def _parse_einsum_string (einsum_str : str ) -> dict :
You can’t perform that action at this time.
0 commit comments