|
Maestro 0.2.5
Unified interface for quantum circuit simulation
|
#include <NetworkJob.h>
Inheritance diagram for Network::ExecuteJob< Time >:
Collaboration diagram for Network::ExecuteJob< Time >:Public Types | |
| using | ExecuteResults = typename Circuits::Circuit< Time >::ExecuteResults |
Public Member Functions | |
| ExecuteJob ()=delete | |
| ExecuteJob (const std::shared_ptr< Circuits::Circuit< Time > > &c, ExecuteResults &r, size_t cnt, size_t nq, size_t nc, size_t ncr, Simulators::SimulatorType t, Simulators::SimulationType m, std::mutex &mut) | |
| void | DoWork () |
| void | DoWorkNoLock () |
| size_t | GetJobCount () const |
Static Public Member Functions | |
| static bool | IsOptimisableForMultipleShots (Simulators::SimulatorType t, size_t curCnt) |
Public Attributes | |
| const size_t | curCnt |
| const std::shared_ptr< Circuits::Circuit< Time > > | dcirc |
| std::vector< bool > | executedGates |
| std::string | maxBondDim |
| const Simulators::SimulationType | method |
| std::string | mpsSample |
| const size_t | nrCbits |
| const size_t | nrQubits |
| const size_t | nrResultCbits |
| bool | optimiseMultipleShotsExecution = true |
| std::shared_ptr< Simulators::ISimulator > | optSim |
| ExecuteResults & | res |
| std::mutex & | resultsMutex |
| const Simulators::SimulatorType | simType |
| std::string | singularValueThreshold |
Definition at line 22 of file NetworkJob.h.
| using Network::ExecuteJob< Time >::ExecuteResults = typename Circuits::Circuit<Time>::ExecuteResults |
Definition at line 24 of file NetworkJob.h.
|
delete |
|
inlineexplicit |
Definition at line 28 of file NetworkJob.h.
|
inline |
Definition at line 42 of file NetworkJob.h.
References Circuits::OperationState::AllocateBits(), Simulators::SimulatorsFactory::CreateSimulator(), Network::ExecuteJob< Time >::curCnt, Network::ExecuteJob< Time >::dcirc, Network::ExecuteJob< Time >::executedGates, Circuits::OperationState::GetAllBits(), Simulators::kMatrixProductState, Simulators::kQiskitAer, Simulators::kStatevector, Network::ExecuteJob< Time >::maxBondDim, Network::ExecuteJob< Time >::method, Network::ExecuteJob< Time >::mpsSample, Network::ExecuteJob< Time >::nrCbits, Network::ExecuteJob< Time >::nrQubits, Network::ExecuteJob< Time >::nrResultCbits, Network::ExecuteJob< Time >::optimiseMultipleShotsExecution, Network::ExecuteJob< Time >::optSim, Network::ExecuteJob< Time >::res, Circuits::OperationState::Reset(), Network::ExecuteJob< Time >::resultsMutex, Network::ExecuteJob< Time >::simType, and Network::ExecuteJob< Time >::singularValueThreshold.
|
inline |
Definition at line 155 of file NetworkJob.h.
References Circuits::OperationState::AllocateBits(), Simulators::SimulatorsFactory::CreateSimulator(), Network::ExecuteJob< Time >::curCnt, Network::ExecuteJob< Time >::dcirc, Network::ExecuteJob< Time >::executedGates, Circuits::OperationState::GetAllBits(), Simulators::kMatrixProductState, Simulators::kQiskitAer, Simulators::kStatevector, Network::ExecuteJob< Time >::maxBondDim, Network::ExecuteJob< Time >::method, Network::ExecuteJob< Time >::mpsSample, Network::ExecuteJob< Time >::nrCbits, Network::ExecuteJob< Time >::nrQubits, Network::ExecuteJob< Time >::nrResultCbits, Network::ExecuteJob< Time >::optimiseMultipleShotsExecution, Network::ExecuteJob< Time >::optSim, Network::ExecuteJob< Time >::res, Circuits::OperationState::Reset(), Network::ExecuteJob< Time >::simType, and Network::ExecuteJob< Time >::singularValueThreshold.
|
inline |
Definition at line 309 of file NetworkJob.h.
References Network::ExecuteJob< Time >::curCnt.
|
inlinestatic |
Definition at line 304 of file NetworkJob.h.
References Network::ExecuteJob< Time >::curCnt.
| const size_t Network::ExecuteJob< Time >::curCnt |
Definition at line 313 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), Network::ExecuteJob< Time >::DoWorkNoLock(), Network::ExecuteJob< Time >::GetJobCount(), and Network::ExecuteJob< Time >::IsOptimisableForMultipleShots().
| const std::shared_ptr<Circuits::Circuit<Time> > Network::ExecuteJob< Time >::dcirc |
Definition at line 311 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| std::vector<bool> Network::ExecuteJob< Time >::executedGates |
Definition at line 324 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| std::string Network::ExecuteJob< Time >::maxBondDim |
Definition at line 327 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| const Simulators::SimulationType Network::ExecuteJob< Time >::method |
Definition at line 319 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| std::string Network::ExecuteJob< Time >::mpsSample |
Definition at line 329 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| const size_t Network::ExecuteJob< Time >::nrCbits |
Definition at line 315 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| const size_t Network::ExecuteJob< Time >::nrQubits |
Definition at line 314 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| const size_t Network::ExecuteJob< Time >::nrResultCbits |
Definition at line 316 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| bool Network::ExecuteJob< Time >::optimiseMultipleShotsExecution = true |
Definition at line 322 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| std::shared_ptr<Simulators::ISimulator> Network::ExecuteJob< Time >::optSim |
Definition at line 323 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| ExecuteResults& Network::ExecuteJob< Time >::res |
Definition at line 312 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| std::mutex& Network::ExecuteJob< Time >::resultsMutex |
Definition at line 320 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork().
| const Simulators::SimulatorType Network::ExecuteJob< Time >::simType |
Definition at line 318 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().
| std::string Network::ExecuteJob< Time >::singularValueThreshold |
Definition at line 328 of file NetworkJob.h.
Referenced by Network::ExecuteJob< Time >::DoWork(), and Network::ExecuteJob< Time >::DoWorkNoLock().