|
Maestro 0.3.11
Unified interface for quantum circuit simulation
|
#include <NetworkJob.h>
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 | |
| bool | allowInternalMultithreading = false |
| std::shared_ptr< std::mutex > | cloneMutex |
| std::shared_ptr< Simulators::ISimulator > | cloneSource |
| Configuration< Time > | config |
| const size_t | curCnt |
| size_t * | curMaxBondDim = nullptr |
| std::shared_ptr< Circuits::Circuit< Time > > | dcirc |
| std::vector< bool > | executedGates |
| size_t | firstShot = 0 |
| bool | independentShotStreams = false |
| int | internalThreads = 0 |
| const Simulators::SimulationType | method |
| std::shared_ptr< Network::INetwork< Time > > | network |
| const size_t | nrCbits |
| const size_t | nrQubits |
| const size_t | nrResultCbits |
| std::function< void(const Simulators::ISimulator &)> | onSimulatorReady |
| bool | optimiseMultipleShotsExecution = true |
| std::shared_ptr< Simulators::ISimulator > | optSim |
| uint64_t | randomStream = 0 |
| ExecuteResults & | res |
| std::mutex & | resultsMutex |
| const Simulators::SimulatorType | simType |
| uint64_t | trajectorySeed = 0 |
Definition at line 34 of file NetworkJob.h.
| using Network::ExecuteJob< Time >::ExecuteResults = typename Circuits::Circuit<Time>::ExecuteResults |
Definition at line 37 of file NetworkJob.h.
|
delete |
|
inlineexplicit |
Definition at line 42 of file NetworkJob.h.
References curCnt, dcirc, method, nrCbits, nrQubits, nrResultCbits, res, resultsMutex, and simType.
|
inline |
Definition at line 48 of file NetworkJob.h.
References Circuits::OperationState::AllocateBits(), allowInternalMultithreading, cloneMutex, cloneSource, config, Simulators::SimulatorsFactory::CreateSimulator(), curCnt, curMaxBondDim, dcirc, Simulators::IState::DeriveSeed(), executedGates, firstShot, Circuits::OperationState::GetAllBits(), independentShotStreams, internalThreads, Simulators::kMatrixProductOperator, Simulators::kMatrixProductState, Simulators::kPauliPropagator, Simulators::kQCSim, Simulators::kQiskitAer, Simulators::kStatevector, method, network, nrCbits, nrQubits, nrResultCbits, onSimulatorReady, optimiseMultipleShotsExecution, optSim, res, Circuits::OperationState::Reset(), resultsMutex, simType, and trajectorySeed.
|
inline |
Definition at line 235 of file NetworkJob.h.
References Circuits::OperationState::AllocateBits(), config, Simulators::SimulatorsFactory::CreateSimulator(), curCnt, curMaxBondDim, dcirc, executedGates, Circuits::OperationState::GetAllBits(), Simulators::kMatrixProductOperator, Simulators::kMatrixProductState, Simulators::kQiskitAer, Simulators::kStatevector, method, network, nrCbits, nrQubits, nrResultCbits, onSimulatorReady, optimiseMultipleShotsExecution, optSim, res, Circuits::OperationState::Reset(), and simType.
|
inline |
Definition at line 440 of file NetworkJob.h.
References curCnt.
|
inlinestatic |
Definition at line 435 of file NetworkJob.h.
References curCnt.
| bool Network::ExecuteJob< Time >::allowInternalMultithreading = false |
Definition at line 671 of file NetworkJob.h.
Referenced by DoWork().
| std::shared_ptr<std::mutex> Network::ExecuteJob< Time >::cloneMutex |
Definition at line 681 of file NetworkJob.h.
Referenced by DoWork().
| std::shared_ptr<Simulators::ISimulator> Network::ExecuteJob< Time >::cloneSource |
Definition at line 680 of file NetworkJob.h.
Referenced by DoWork().
| Configuration<Time> Network::ExecuteJob< Time >::config |
Definition at line 686 of file NetworkJob.h.
Referenced by DoWork(), and DoWorkNoLock().
| const size_t Network::ExecuteJob< Time >::curCnt |
Definition at line 661 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), DoWorkNoLock(), GetJobCount(), and IsOptimisableForMultipleShots().
| size_t* Network::ExecuteJob< Time >::curMaxBondDim = nullptr |
Definition at line 689 of file NetworkJob.h.
Referenced by DoWork(), and DoWorkNoLock().
| std::shared_ptr<Circuits::Circuit<Time> > Network::ExecuteJob< Time >::dcirc |
Definition at line 659 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().
| std::vector<bool> Network::ExecuteJob< Time >::executedGates |
Definition at line 682 of file NetworkJob.h.
Referenced by DoWork(), and DoWorkNoLock().
| size_t Network::ExecuteJob< Time >::firstShot = 0 |
Definition at line 678 of file NetworkJob.h.
Referenced by DoWork().
| bool Network::ExecuteJob< Time >::independentShotStreams = false |
Definition at line 676 of file NetworkJob.h.
Referenced by DoWork().
| int Network::ExecuteJob< Time >::internalThreads = 0 |
Definition at line 673 of file NetworkJob.h.
Referenced by DoWork().
| const Simulators::SimulationType Network::ExecuteJob< Time >::method |
Definition at line 667 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().
| std::shared_ptr<Network::INetwork<Time> > Network::ExecuteJob< Time >::network |
Definition at line 688 of file NetworkJob.h.
Referenced by DoWork(), and DoWorkNoLock().
| const size_t Network::ExecuteJob< Time >::nrCbits |
Definition at line 663 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().
| const size_t Network::ExecuteJob< Time >::nrQubits |
Definition at line 662 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().
| const size_t Network::ExecuteJob< Time >::nrResultCbits |
Definition at line 664 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().
| std::function<void(const Simulators::ISimulator &)> Network::ExecuteJob< Time >::onSimulatorReady |
Definition at line 38 of file NetworkJob.h.
Referenced by DoWork(), and DoWorkNoLock().
| bool Network::ExecuteJob< Time >::optimiseMultipleShotsExecution = true |
Definition at line 670 of file NetworkJob.h.
Referenced by DoWork(), and DoWorkNoLock().
| std::shared_ptr<Simulators::ISimulator> Network::ExecuteJob< Time >::optSim |
Definition at line 679 of file NetworkJob.h.
Referenced by DoWork(), and DoWorkNoLock().
| uint64_t Network::ExecuteJob< Time >::randomStream = 0 |
Definition at line 675 of file NetworkJob.h.
| ExecuteResults& Network::ExecuteJob< Time >::res |
Definition at line 660 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().
| std::mutex& Network::ExecuteJob< Time >::resultsMutex |
Definition at line 668 of file NetworkJob.h.
Referenced by ExecuteJob(), and DoWork().
| const Simulators::SimulatorType Network::ExecuteJob< Time >::simType |
Definition at line 666 of file NetworkJob.h.
Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().
| uint64_t Network::ExecuteJob< Time >::trajectorySeed = 0 |
Definition at line 677 of file NetworkJob.h.
Referenced by DoWork().