quantrs2_sim/cuquantum/
cuquantumconfig_traits.rs

1//! # CuQuantumConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `CuQuantumConfig`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Default`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use super::types::{
12    ComputePrecision, CuQuantumConfig, GateFusionLevel, TensorContractionAlgorithm,
13};
14
15impl Default for CuQuantumConfig {
16    fn default() -> Self {
17        Self {
18            device_id: -1,
19            multi_gpu: false,
20            num_gpus: 1,
21            memory_pool_size: 0,
22            async_execution: true,
23            memory_optimization: true,
24            precision: ComputePrecision::Double,
25            gate_fusion_level: GateFusionLevel::Aggressive,
26            enable_profiling: false,
27            max_statevec_qubits: 30,
28            tensor_contraction: TensorContractionAlgorithm::Auto,
29            enable_tf32: true, // Enable TF32 by default on compatible hardware
30        }
31    }
32}