pub trait EnhancedGpuBackend: GpuBackend {
// Required method
fn specialized_kernel(&self) -> Option<&dyn SpecializedGpuKernel>;
// Provided methods
fn apply_holonomic_gate(
&self,
state: &mut dyn GpuBuffer,
holonomy_matrix: &[Complex64],
target_qubits: &[QubitId],
) -> QuantRS2Result<()> { ... }
fn apply_post_quantum_crypto(
&self,
state: &mut dyn GpuBuffer,
hash_circuit: &[Complex64],
compression_type: PostQuantumCompressionType,
) -> QuantRS2Result<()> { ... }
fn apply_quantum_ml_attention(
&self,
state: &mut dyn GpuBuffer,
query_params: &[Complex64],
key_params: &[Complex64],
value_params: &[Complex64],
num_heads: usize,
) -> QuantRS2Result<()> { ... }
fn apply_fused_gates(
&self,
state: &mut dyn GpuBuffer,
gates: &[Box<dyn GateOp>],
) -> QuantRS2Result<()> { ... }
fn optimization_config(&self) -> OptimizationConfig { ... }
fn performance_stats(&self) -> PerformanceReport { ... }
}
Expand description
Enhanced GPU backend trait for specialized quantum computations
Required Methods§
Sourcefn specialized_kernel(&self) -> Option<&dyn SpecializedGpuKernel>
fn specialized_kernel(&self) -> Option<&dyn SpecializedGpuKernel>
Get the specialized kernel implementation
Provided Methods§
Sourcefn apply_holonomic_gate(
&self,
state: &mut dyn GpuBuffer,
holonomy_matrix: &[Complex64],
target_qubits: &[QubitId],
) -> QuantRS2Result<()>
fn apply_holonomic_gate( &self, state: &mut dyn GpuBuffer, holonomy_matrix: &[Complex64], target_qubits: &[QubitId], ) -> QuantRS2Result<()>
Apply a holonomic gate with GPU optimization
Sourcefn apply_post_quantum_crypto(
&self,
state: &mut dyn GpuBuffer,
hash_circuit: &[Complex64],
compression_type: PostQuantumCompressionType,
) -> QuantRS2Result<()>
fn apply_post_quantum_crypto( &self, state: &mut dyn GpuBuffer, hash_circuit: &[Complex64], compression_type: PostQuantumCompressionType, ) -> QuantRS2Result<()>
Apply post-quantum cryptographic operations
Sourcefn apply_quantum_ml_attention(
&self,
state: &mut dyn GpuBuffer,
query_params: &[Complex64],
key_params: &[Complex64],
value_params: &[Complex64],
num_heads: usize,
) -> QuantRS2Result<()>
fn apply_quantum_ml_attention( &self, state: &mut dyn GpuBuffer, query_params: &[Complex64], key_params: &[Complex64], value_params: &[Complex64], num_heads: usize, ) -> QuantRS2Result<()>
Apply quantum ML operations
Sourcefn apply_fused_gates(
&self,
state: &mut dyn GpuBuffer,
gates: &[Box<dyn GateOp>],
) -> QuantRS2Result<()>
fn apply_fused_gates( &self, state: &mut dyn GpuBuffer, gates: &[Box<dyn GateOp>], ) -> QuantRS2Result<()>
Apply optimized gate fusion
Sourcefn optimization_config(&self) -> OptimizationConfig
fn optimization_config(&self) -> OptimizationConfig
Get optimization configuration
Sourcefn performance_stats(&self) -> PerformanceReport
fn performance_stats(&self) -> PerformanceReport
Get performance statistics