Class CirqQsim

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 &params = {}) 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

virtual void execute(std::shared_ptr<xacc::AcceleratorBuffer> buffer, const std::shared_ptr<xacc::CompositeInstruction> compositeInstruction) override

Execute/emulate a single circuit.

Parameters:
  • buffer – Buffer to store the execution results

  • compositeInstruction – Input circuit

virtual void execute(std::shared_ptr<xacc::AcceleratorBuffer> buffer, const std::vector<std::shared_ptr<xacc::CompositeInstruction>> compositeInstructions) override

Execute/emulate an array of circuits.

Parameters:
  • buffer – Buffer to store the execution results

  • compositeInstructions – Input circuits

Private Functions

void initialize_noise_model(const xacc::HeterogeneousMap &params)

Initialize the noise model based on user inputs. Default initialization if none specified.

Parameters:

params – User configs (when initializing the Accelerator)

void set_num_gpus(const xacc::HeterogeneousMap &params)

Set the number of GPUs from user configs.

Parameters:

params – User configs

Private Members

int m_shots
int m_numThreads
int m_gpus
uint32_t m_seed
std::unique_ptr<QbNoiseModel> m_noise_model
bool m_ro_errors_enabled