pub struct HardwareCompiler {
pub config: CompilerConfig,
pub topology: HardwareTopology,
pub calibration: DeviceCalibration,
pub noise_model: CalibrationNoiseModel,
pub crosstalk_data: Option<CrosstalkCharacterization>,
pub backend_capabilities: BackendCapabilities,
pub scirs2_engine: Arc<SciRS2OptimizationEngine>,
pub performance_monitor: Arc<Mutex<PerformanceMonitor>>,
pub pass_coordinator: PassCoordinator,
pub platform_optimizers: HashMap<String, String>,
}Expand description
Advanced hardware compiler with SciRS2 integration
Fields§
§config: CompilerConfigCompiler configuration
topology: HardwareTopologyHardware topology information
calibration: DeviceCalibrationDevice calibration data
noise_model: CalibrationNoiseModelNoise model derived from calibration
crosstalk_data: Option<CrosstalkCharacterization>Crosstalk characterization data
backend_capabilities: BackendCapabilitiesBackend capabilities
scirs2_engine: Arc<SciRS2OptimizationEngine>SciRS2 optimization engine
performance_monitor: Arc<Mutex<PerformanceMonitor>>Performance monitoring
pass_coordinator: PassCoordinatorPass coordination
platform_optimizers: HashMap<String, String>Platform-specific optimizers
Implementations§
Source§impl HardwareCompiler
impl HardwareCompiler
Sourcepub fn new(
config: CompilerConfig,
topology: HardwareTopology,
calibration: DeviceCalibration,
crosstalk_data: Option<CrosstalkCharacterization>,
backend_capabilities: BackendCapabilities,
) -> DeviceResult<Self>
pub fn new( config: CompilerConfig, topology: HardwareTopology, calibration: DeviceCalibration, crosstalk_data: Option<CrosstalkCharacterization>, backend_capabilities: BackendCapabilities, ) -> DeviceResult<Self>
Create a new advanced hardware compiler with SciRS2 integration
Sourcepub async fn compile_circuit<const N: usize>(
&self,
circuit: &Circuit<N>,
) -> DeviceResult<CompilationResult>
pub async fn compile_circuit<const N: usize>( &self, circuit: &Circuit<N>, ) -> DeviceResult<CompilationResult>
Compile circuit with comprehensive multi-pass optimization and SciRS2 integration
Auto Trait Implementations§
impl Freeze for HardwareCompiler
impl RefUnwindSafe for HardwareCompiler
impl Send for HardwareCompiler
impl Sync for HardwareCompiler
impl Unpin for HardwareCompiler
impl UnwindSafe for HardwareCompiler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.