示例#1
0
 def start_subtrace():
     """Starts a nested trace, returns the Trace object."""
     # TODO: This follows the __enter__ part of core.new_master. share
     level = core.trace_state.trace_stack.next_level(False)
     master = core.MasterTrace(level, pe.JaxprTrace)
     core.trace_state.trace_stack.push(master, False)
     return pe.JaxprTrace(master, core.cur_sublevel())
示例#2
0
 def start_subtrace(self):
     """Starts a nested trace, returns the Trace object."""
     # TODO: This follows the __enter__ part of core.new_master.
     if config.omnistaging_enabled:
         level = core.thread_local_state.trace_state.trace_stack.next_level(
         )
         master = core.MasterTrace(level, pe.JaxprTrace)
         core.thread_local_state.trace_state.trace_stack.push(master)
         self._count_subtraces += 1
         return pe.JaxprTrace(master, core.cur_sublevel())
     else:
         level = core.thread_local_state.trace_state.trace_stack.next_level(
             False)
         master = core.MasterTrace(level, pe.JaxprTrace)
         core.thread_local_state.trace_state.trace_stack.push(master, False)
         self._count_subtraces += 1
         return pe.JaxprTrace(master, core.cur_sublevel())