Maestro 0.3.11
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
DistributedGpuApi.h File Reference
#include <cstdint>
Include dependency graph for DistributedGpuApi.h:

Go to the source code of this file.

Classes

struct  Simulators::DistributedGpuApi::MgdDistributionConfig
struct  Simulators::DistributedGpuApi::MgdExExecutionConfig
struct  Simulators::DistributedGpuApi::MgdMpiCommunicator
struct  Simulators::DistributedGpuApi::MgdMpiRuntimeInfo

Namespaces

namespace  Simulators
 Bounded online routing based on current physical bond dimensions.
namespace  Simulators::DistributedGpuApi

Typedefs

using Simulators::DistributedGpuApi::AllProbabilitiesFn = int (*)(void *obj, double *probabilities)
using Simulators::DistributedGpuApi::AmplitudeFn = int (*)(void *obj, long long int state, double *real, double *imaginary)
using Simulators::DistributedGpuApi::ApplyCCXFn = int (*)(void *obj, int controlQubit1, int controlQubit2, int targetQubit)
using Simulators::DistributedGpuApi::ApplyCHFn = int (*)(void *obj, int controlQubit, int targetQubit)
using Simulators::DistributedGpuApi::ApplyCPFn = int (*)(void *obj, int controlQubit, int targetQubit, double theta)
using Simulators::DistributedGpuApi::ApplyCRxFn = int (*)(void *obj, int controlQubit, int targetQubit, double theta)
using Simulators::DistributedGpuApi::ApplyCRyFn = int (*)(void *obj, int controlQubit, int targetQubit, double theta)
using Simulators::DistributedGpuApi::ApplyCRzFn = int (*)(void *obj, int controlQubit, int targetQubit, double theta)
using Simulators::DistributedGpuApi::ApplyCSwapFn = int (*)(void *obj, int controlQubit, int qubit1, int qubit2)
using Simulators::DistributedGpuApi::ApplyCSXDGFn = int (*)(void *obj, int controlQubit, int targetQubit)
using Simulators::DistributedGpuApi::ApplyCSXFn = int (*)(void *obj, int controlQubit, int targetQubit)
using Simulators::DistributedGpuApi::ApplyCUFn = int (*)(void *obj, int controlQubit, int targetQubit, double theta, double phi, double lambda, double gamma)
using Simulators::DistributedGpuApi::ApplyCXFn = int (*)(void *obj, int controlQubit, int targetQubit)
using Simulators::DistributedGpuApi::ApplyCYFn = int (*)(void *obj, int controlQubit, int targetQubit)
using Simulators::DistributedGpuApi::ApplyCZFn = int (*)(void *obj, int controlQubit, int targetQubit)
using Simulators::DistributedGpuApi::ApplyHFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplyKFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplyOneQubitMatrixFn = int (*)(void *obj, int qubit, const double *matrix)
using Simulators::DistributedGpuApi::ApplyOneQubitMatrixWithLayoutFn = int (*)(void *obj, int qubit, const double *matrix, int layout)
using Simulators::DistributedGpuApi::ApplyPFn = int (*)(void *obj, int qubit, double theta)
using Simulators::DistributedGpuApi::ApplyRxFn = int (*)(void *obj, int qubit, double theta)
using Simulators::DistributedGpuApi::ApplyRyFn = int (*)(void *obj, int qubit, double theta)
using Simulators::DistributedGpuApi::ApplyRzFn = int (*)(void *obj, int qubit, double theta)
using Simulators::DistributedGpuApi::ApplySDGFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplySFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplySwapFn = int (*)(void *obj, int qubit1, int qubit2)
using Simulators::DistributedGpuApi::ApplySXDGFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplySXFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplyTDGFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplyTFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplyThreeQubitMatrixFn = int (*)(void *obj, int qubit0, int qubit1, int qubit2, const double *matrix)
using Simulators::DistributedGpuApi::ApplyThreeQubitMatrixWithLayoutFn = int (*)(void *obj, int qubit0, int qubit1, int qubit2, const double *matrix, int layout)
using Simulators::DistributedGpuApi::ApplyTwoQubitMatrixFn = int (*)(void *obj, int qubit0, int qubit1, const double *matrix)
using Simulators::DistributedGpuApi::ApplyTwoQubitMatrixWithLayoutFn = int (*)(void *obj, int qubit0, int qubit1, const double *matrix, int layout)
using Simulators::DistributedGpuApi::ApplyUFn = int (*)(void *obj, int qubit, double theta, double phi, double lambda, double gamma)
using Simulators::DistributedGpuApi::ApplyXFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplyYFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::ApplyZFn = int (*)(void *obj, int qubit)
using Simulators::DistributedGpuApi::BasisStateProbabilityFn = double (*)(void *obj, long long int state)
using Simulators::DistributedGpuApi::CloneFn = void *(*)(void *obj)
using Simulators::DistributedGpuApi::ConfigureDistributionFn = int (*)(void *obj, const MgdDistributionConfig *config)
using Simulators::DistributedGpuApi::CreateFn = int (*)(void *obj, unsigned int nrQubits)
using Simulators::DistributedGpuApi::CreateStateVectorFn = void *(*)(void *lib)
using Simulators::DistributedGpuApi::CreateStateVectorWithBackendFn = void *(*)(void *lib, int backend)
using Simulators::DistributedGpuApi::CreateWithBasisStateFn = int (*)(void *obj, uint32_t nrQubits, uint64_t basis)
using Simulators::DistributedGpuApi::CreateWithStateFn = int (*)(void *obj, unsigned int nrQubits, const double *state)
using Simulators::DistributedGpuApi::DestroyStateVectorFn = void (*)(void *obj)
using Simulators::DistributedGpuApi::ExpectationValueFn = double (*)(void *obj, const char *pauliString, int len)
using Simulators::DistributedGpuApi::FreeLibFn = void (*)(void)
using Simulators::DistributedGpuApi::FreeSavedStateFn = void (*)(void *obj)
using Simulators::DistributedGpuApi::GetApiVersionFn = uint32_t (*)(void)
using Simulators::DistributedGpuApi::GetBackendFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::GetCapabilitiesFn = uint64_t (*)(void)
using Simulators::DistributedGpuApi::GetGlobalQubitsFn = int (*)(void *obj, int32_t *qubits, uint32_t capacity)
using Simulators::DistributedGpuApi::GetGpuDeviceCountFn = int (*)(void)
using Simulators::DistributedGpuApi::GetLastErrorFn = const char *(*)(void)
using Simulators::DistributedGpuApi::GetLocalStateBoundsFn = int (*)(void *obj, uint64_t *begin, uint64_t *end)
using Simulators::DistributedGpuApi::GetLocalStateRangeFn = int (*)(void *obj, uint64_t begin, uint64_t end, double *output)
using Simulators::DistributedGpuApi::GetNrQubitsFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::GetQubitLayoutFn = int (*)(void *obj, int32_t *wires, uint32_t capacity)
using Simulators::DistributedGpuApi::GetShardDevicesFn = int (*)(void *obj, int32_t *devices, uint32_t capacity)
using Simulators::DistributedGpuApi::GetStateRangeFn = int (*)(void *obj, uint64_t begin, uint64_t end, double *output)
using Simulators::DistributedGpuApi::GetStateVectorGpuIdFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::InitLibFn = void *(*)(void)
using Simulators::DistributedGpuApi::IsDoublePrecisionFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::MeasureAllQubitsCollapseFn = unsigned long long (*)(void *obj)
using Simulators::DistributedGpuApi::MeasureAllQubitsNoCollapseFn = unsigned long long (*)(void *obj)
using Simulators::DistributedGpuApi::MeasureQubitCollapseFn = int (*)(void *obj, int qubitIndex)
using Simulators::DistributedGpuApi::MeasureQubitNoCollapseFn = int (*)(void *obj, int qubitIndex)
using Simulators::DistributedGpuApi::MeasureQubitsCollapseFn = int (*)(void *obj, int *qubits, int *bitstring, int bitstringLen)
using Simulators::DistributedGpuApi::MeasureQubitsNoCollapseFn = int (*)(void *obj, int *qubits, int *bitstring, int bitstringLen)
using Simulators::DistributedGpuApi::ProbabilityFn = double (*)(void *obj, int *qubits, int *mask, int len)
using Simulators::DistributedGpuApi::RedistributeFn = int (*)(void *obj, const int32_t *global_qubits, uint32_t count)
using Simulators::DistributedGpuApi::ResetFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::RestoreStateFreeSavedFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::RestoreStateNoFreeSavedFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::SampleAllFn = int (*)(void *obj, unsigned int nSamples, long int *samples)
using Simulators::DistributedGpuApi::SampleFn = int (*)(void *obj, unsigned int nSamples, long int *samples, unsigned int nBits, int *bitOrdering)
using Simulators::DistributedGpuApi::SaveStateDestructiveFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::SaveStateFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::SaveStateToHostFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::SetDataTypeFn = int (*)(void *obj, int useDoublePrecision)
using Simulators::DistributedGpuApi::SetExExecutionConfigFn = int (*)(void *obj, const MgdExExecutionConfig *config)
using Simulators::DistributedGpuApi::SetGpuDeviceFn = int (*)(int deviceId)
using Simulators::DistributedGpuApi::SetLocalStateRangeFn = int (*)(void *obj, uint64_t begin, uint64_t end, const double *input)
using Simulators::DistributedGpuApi::SetSeedFn = int (*)(void *obj, unsigned long long seed)
using Simulators::DistributedGpuApi::SetStateRangeFn = int (*)(void *obj, uint64_t begin, uint64_t end, const double *input)
using Simulators::DistributedGpuApi::SwapGlobalLocalQubitsFn = int (*)(void *obj, const int32_t *global_qubits, const int32_t *local_qubits, uint32_t count)
using Simulators::DistributedGpuApi::SynchronizeFn = int (*)(void *obj)
using Simulators::DistributedGpuApi::ValidateLicenseFn = int (*)(const char *licenseKey)

Enumerations

enum  {
  Simulators::DistributedGpuApi::MGD_MATRIX_ROW_MAJOR = 0 ,
  Simulators::DistributedGpuApi::MGD_MATRIX_COLUMN_MAJOR = 1
}

Class Documentation

◆ Simulators::DistributedGpuApi::MgdDistributionConfig

struct Simulators::DistributedGpuApi::MgdDistributionConfig

Definition at line 39 of file DistributedGpuApi.h.

Collaboration diagram for Simulators::DistributedGpuApi::MgdDistributionConfig:
Class Members
uint32_t flags
const int32_t * global_qubits
uint32_t num_global_qubits
uint32_t num_shards
const int32_t * shard_devices
uint32_t struct_size

◆ Simulators::DistributedGpuApi::MgdExExecutionConfig

struct Simulators::DistributedGpuApi::MgdExExecutionConfig

Definition at line 32 of file DistributedGpuApi.h.

Collaboration diagram for Simulators::DistributedGpuApi::MgdExExecutionConfig:
Class Members
uint32_t max_queued_gates
uint32_t struct_size
uint64_t transfer_workspace_bytes

◆ Simulators::DistributedGpuApi::MgdMpiCommunicator

struct Simulators::DistributedGpuApi::MgdMpiCommunicator

Definition at line 17 of file DistributedGpuApi.h.

Collaboration diagram for Simulators::DistributedGpuApi::MgdMpiCommunicator:
Class Members
int64_t fortran_handle
uint32_t reserved
uint32_t struct_size

◆ Simulators::DistributedGpuApi::MgdMpiRuntimeInfo

struct Simulators::DistributedGpuApi::MgdMpiRuntimeInfo

Definition at line 24 of file DistributedGpuApi.h.

Collaboration diagram for Simulators::DistributedGpuApi::MgdMpiRuntimeInfo:
Class Members
int32_t default_device
int32_t rank
int32_t size
uint32_t struct_size