Class CirqQsim
Defined in File qsim_emulator.hpp
Inheritance Relationships
Base Type
public xacc::Accelerator
Class Documentation
-
class CirqQsim : public xacc::Accelerator
Backend emulator based on cuStateVec library via multi-GPU trajectory simulation with qsim.
Public Functions
-
inline virtual const std::string name() const override
Get the name of the backend accelerator.
- Returns
Name string
-
inline virtual const std::string description() const override
Get the service description.
- Returns
Description string
-
virtual void initialize(const xacc::HeterogeneousMap ¶ms = {}) override
Initialize the backend accelerator.
- Parameters
params – Initialization parameters
-
virtual void updateConfiguration(const xacc::HeterogeneousMap &config) override
-
inline virtual const std::vector<std::string> configurationKeys() override
Get the list of available configurations.
- Returns
List of available configurations
-
inline virtual BitOrder getBitOrder() override
Get the Bit Order configuration.
- Returns
Bit order
-
inline virtual xacc::HeterogeneousMap getProperties() override
Get any backend-specific properties.
- Returns
Backend properties
Execute/emulate a single circuit.
- Parameters
buffer – Buffer to store the execution results
compositeInstruction – Input circuit
Execute/emulate an array of circuits.
- Parameters
buffer – Buffer to store the execution results
compositeInstructions – Input circuits
-
void set_num_gpus(const xacc::HeterogeneousMap ¶ms)
Set the number of GPUs from user configs.
- Parameters
params – User configs
-
void convert_noise_channel(NoiseModel noise_model)
Function to convert a Kraus channel to qsim type.
- Parameters
noise_model –
Private Members
-
int m_shots
-
int m_numThreads
-
int m_gpus
-
uint32_t m_seed
-
bool m_ro_errors_enabled
-
NoiseModel *m_noise_model
-
std::unordered_map<std::string, std::map<std::vector<size_t>, std::vector<noise_channel_components>>> m_noise_channels
-
inline virtual const std::string name() const override