diff --git a/qiskit_ibm_runtime/transpiler/passes/scheduling/block_base_padder.py b/qiskit_ibm_runtime/transpiler/passes/scheduling/block_base_padder.py index b8d33c48e..4b8b4d874 100644 --- a/qiskit_ibm_runtime/transpiler/passes/scheduling/block_base_padder.py +++ b/qiskit_ibm_runtime/transpiler/passes/scheduling/block_base_padder.py @@ -199,12 +199,6 @@ def _empty_dag_like( new_dag.name = dag.name new_dag.metadata = dag.metadata - new_dag.unit = self.property_set["time_unit"] or "dt" - if new_dag.unit != "dt": - raise TranspilerError( - 'All blocks must have time units of "dt". ' - "Please run TimeUnitConversion pass prior to padding." - ) new_dag.global_phase = dag.global_phase return new_dag @@ -370,7 +364,6 @@ def _visit_block( prev_block_duration = self._block_duration prev_block_idx = self._current_block_idx self._terminate_block(self._block_duration, self._current_block_idx) - new_block_dag.duration = prev_block_duration # Edge-case: Add a barrier if the final node is a fast-path if self._prev_node in self._fast_path_nodes: diff --git a/qiskit_ibm_runtime/transpiler/passes/scheduling/dynamical_decoupling.py b/qiskit_ibm_runtime/transpiler/passes/scheduling/dynamical_decoupling.py index 7c7cbc10b..f4147fcee 100644 --- a/qiskit_ibm_runtime/transpiler/passes/scheduling/dynamical_decoupling.py +++ b/qiskit_ibm_runtime/transpiler/passes/scheduling/dynamical_decoupling.py @@ -404,9 +404,7 @@ def _pad( if self._qubits and self._block_dag.qubits.index(qubit) not in self._qubits: # Target physical qubit is not the target of this DD sequence. - self._apply_scheduled_op( - block_idx, t_start, Delay(time_interval, self._block_dag.unit), qubit - ) + self._apply_scheduled_op(block_idx, t_start, Delay(time_interval), qubit) return if not self._skip_reset_qubits and qubit not in self._dirty_qubits: @@ -424,9 +422,7 @@ def _pad( if qubit not in self._dirty_qubits or (self._dd_barrier and not enable_dd): # Previous node is the start edge or reset, i.e. qubit is ground state; # or dd to be applied before named barrier only - self._apply_scheduled_op( - block_idx, t_start, Delay(time_interval, self._block_dag.unit), qubit - ) + self._apply_scheduled_op(block_idx, t_start, Delay(time_interval), qubit) return for sequence_idx, _ in enumerate(self._dd_sequences): @@ -488,7 +484,8 @@ def _pad( theta_l, phi_l, lam_l = op.params op.params = Optimize1qGates.compose_u3(theta, phi, lam, theta_l, phi_l, lam_l) new_prev_node = self._block_dag.substitute_node( - prev_node, op, propagate_condition=False + prev_node, + op, ) start_time = self.property_set["node_start_time"].pop(prev_node) if start_time is not None: @@ -499,7 +496,7 @@ def _pad( self._apply_scheduled_op( block_idx, t_start, - Delay(time_interval, self._block_dag.unit), + Delay(time_interval), qubit, ) return @@ -543,9 +540,7 @@ def _constrained_length(values: np.array) -> np.array: # Interleave delays with DD sequence operations for tau_idx, tau in enumerate(taus): if tau > 0: - self._apply_scheduled_op( - block_idx, idle_after, Delay(tau, self._dag.unit), qubit - ) + self._apply_scheduled_op(block_idx, idle_after, Delay(tau), qubit) idle_after += tau # Detect if we are on a sequence boundary @@ -566,7 +561,5 @@ def _constrained_length(values: np.array) -> np.array: return # DD could not be applied, delay instead - self._apply_scheduled_op( - block_idx, t_start, Delay(time_interval, self._block_dag.unit), qubit - ) + self._apply_scheduled_op(block_idx, t_start, Delay(time_interval), qubit) return