Fix metrics reporting for the remote workflow.
@@ -1920,6 +1920,12 @@ class Chip:
Runs the route and dfm steps.
'''
+ # Run steps if set, otherwise run whole graph
+ if self.get('steplist'):
+ steplist = self.get('steplist')
+ else:
+ steplist = self.getsteps()
+
# Remote workflow: Dispatch the Chip to a remote server for processing.
if self.get('remote', 'addr'):
# Pre-process: Run an 'import' stage locally, and upload the
@@ -1944,12 +1950,6 @@ class Chip:
# Use a manager.dict for keeping track of active processes
# (one unqiue dict entry per process),
- # Run steps if set, otherwise run whole graph
- if self.get('steplist'):
- steplist = self.get('steplist')
- else:
- steplist = self.getsteps()
-
# Set up tools and processes
for step in self.getkeys('flowgraph'):
for index in range(self.get('flowgraph', step, 'nproc')):
@@ -2042,12 +2042,12 @@ class Chip:
# Merge cfg back from last executed step
# last step must have nproc = 1
laststep = steplist[-1]
- lastdir = "/".join([dirname,
- design,
- jobname + str(self.get('jobid')),
+ lastdir = "/".join([self.get('dir'),
+ self.get('design'),
+ self.get('jobname') + str(self.get('jobid')),
laststep + str(0)])
- self.cfg = self.readcfg(f"{lastdir}/outputs/{design}.pkg.json")
+ self.cfg = self.readcfg(f"{lastdir}/outputs/{self.get('design')}.pkg.json")
self.set('flowstatus',laststep,'select',0)
###########################################################################
