Maestro 0.3.1
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
Simulators::DistributedGpuApi Namespace Reference

Classes

struct  MgdDistributionConfig
struct  MgdExExecutionConfig
struct  MgdMpiCommunicator
struct  MgdMpiRuntimeInfo

Typedefs

using AllProbabilitiesFn = int (*)(void *obj, double *probabilities)
using AmplitudeFn
using ApplyCCXFn
using ApplyCHFn = int (*)(void *obj, int controlQubit, int targetQubit)
using ApplyCPFn
using ApplyCRxFn
using ApplyCRyFn
using ApplyCRzFn
using ApplyCSwapFn
using ApplyCSXDGFn = int (*)(void *obj, int controlQubit, int targetQubit)
using ApplyCSXFn = int (*)(void *obj, int controlQubit, int targetQubit)
using ApplyCUFn
using ApplyCXFn = int (*)(void *obj, int controlQubit, int targetQubit)
using ApplyCYFn = int (*)(void *obj, int controlQubit, int targetQubit)
using ApplyCZFn = int (*)(void *obj, int controlQubit, int targetQubit)
using ApplyHFn = int (*)(void *obj, int qubit)
using ApplyKFn = int (*)(void *obj, int qubit)
using ApplyOneQubitMatrixFn
using ApplyOneQubitMatrixWithLayoutFn
using ApplyPFn = int (*)(void *obj, int qubit, double theta)
using ApplyRxFn = int (*)(void *obj, int qubit, double theta)
using ApplyRyFn = int (*)(void *obj, int qubit, double theta)
using ApplyRzFn = int (*)(void *obj, int qubit, double theta)
using ApplySDGFn = int (*)(void *obj, int qubit)
using ApplySFn = int (*)(void *obj, int qubit)
using ApplySwapFn = int (*)(void *obj, int qubit1, int qubit2)
using ApplySXDGFn = int (*)(void *obj, int qubit)
using ApplySXFn = int (*)(void *obj, int qubit)
using ApplyTDGFn = int (*)(void *obj, int qubit)
using ApplyTFn = int (*)(void *obj, int qubit)
using ApplyTwoQubitMatrixFn
using ApplyTwoQubitMatrixWithLayoutFn
using ApplyUFn
using ApplyXFn = int (*)(void *obj, int qubit)
using ApplyYFn = int (*)(void *obj, int qubit)
using ApplyZFn = int (*)(void *obj, int qubit)
using BasisStateProbabilityFn = double (*)(void *obj, long long int state)
using CheckLicenseFn = int (*)(void *state)
using CloneFn = void *(*)(void *obj)
using ConfigureDistributionFn
using CreateFn = int (*)(void *obj, unsigned int nrQubits)
using CreateStateVectorFn = void *(*)(void *lib)
using CreateStateVectorWithBackendFn = void *(*)(void *lib, int backend)
using CreateWithBasisStateFn
using CreateWithStateFn
using DestroyStateVectorFn = void (*)(void *obj)
using ExpectationValueFn
using FreeLibFn = void (*)(void)
using FreeSavedStateFn = void (*)(void *obj)
using GetApiVersionFn = uint32_t (*)(void)
using GetBackendFn = int (*)(void *obj)
using GetCapabilitiesFn = uint64_t (*)(void)
using GetGlobalQubitsFn
using GetGpuDeviceCountFn = int (*)(void)
using GetLastErrorFn = const char *(*)(void)
using GetLocalStateBoundsFn
using GetLocalStateRangeFn
using GetNrQubitsFn = int (*)(void *obj)
using GetQubitLayoutFn = int (*)(void *obj, int32_t *wires, uint32_t capacity)
using GetShardDevicesFn
using GetStateRangeFn
using GetStateVectorGpuIdFn = int (*)(void *obj)
using InitLibFn = void *(*)(void)
using IsDoublePrecisionFn = int (*)(void *obj)
using MeasureAllQubitsCollapseFn = unsigned long long (*)(void *obj)
using MeasureAllQubitsNoCollapseFn = unsigned long long (*)(void *obj)
using MeasureQubitCollapseFn = int (*)(void *obj, int qubitIndex)
using MeasureQubitNoCollapseFn = int (*)(void *obj, int qubitIndex)
using MeasureQubitsCollapseFn
using MeasureQubitsNoCollapseFn
using ProbabilityFn = double (*)(void *obj, int *qubits, int *mask, int len)
using RedistributeFn
using ResetFn = int (*)(void *obj)
using RestoreStateFreeSavedFn = int (*)(void *obj)
using RestoreStateNoFreeSavedFn = int (*)(void *obj)
using SampleAllFn
using SampleFn
using SaveStateDestructiveFn = int (*)(void *obj)
using SaveStateFn = int (*)(void *obj)
using SaveStateToHostFn = int (*)(void *obj)
using SetDataTypeFn = int (*)(void *obj, int useDoublePrecision)
using SetExExecutionConfigFn
using SetGpuDeviceFn = int (*)(int deviceId)
using SetLocalStateRangeFn
using SetSeedFn = int (*)(void *obj, unsigned long long seed)
using SetStateRangeFn
using SwapGlobalLocalQubitsFn
using SynchronizeFn = int (*)(void *obj)
using ValidateLicenseFn = int (*)(const char *licenseKey)

Class Documentation

◆ Simulators::DistributedGpuApi::MgdDistributionConfig

struct Simulators::DistributedGpuApi::MgdDistributionConfig

Definition at line 25 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 20 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 9 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 14 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

Typedef Documentation

◆ AllProbabilitiesFn

using Simulators::DistributedGpuApi::AllProbabilitiesFn = int (*)(void *obj, double *probabilities)

Definition at line 77 of file DistributedGpuApi.h.

◆ AmplitudeFn

Initial value:
int (*)(void *obj, long long int state, double *real,
double *imaginary)

Definition at line 73 of file DistributedGpuApi.h.

◆ ApplyCCXFn

Initial value:
int (*)(void *obj, int controlQubit1, int controlQubit2,
int targetQubit)

Definition at line 111 of file DistributedGpuApi.h.

◆ ApplyCHFn

using Simulators::DistributedGpuApi::ApplyCHFn = int (*)(void *obj, int controlQubit, int targetQubit)

Definition at line 100 of file DistributedGpuApi.h.

◆ ApplyCPFn

Initial value:
int (*)(void *obj, int controlQubit, int targetQubit,
double theta)

Definition at line 103 of file DistributedGpuApi.h.

◆ ApplyCRxFn

Initial value:
int (*)(void *obj, int controlQubit, int targetQubit,
double theta)

Definition at line 105 of file DistributedGpuApi.h.

◆ ApplyCRyFn

Initial value:
int (*)(void *obj, int controlQubit, int targetQubit,
double theta)

Definition at line 107 of file DistributedGpuApi.h.

◆ ApplyCRzFn

Initial value:
int (*)(void *obj, int controlQubit, int targetQubit,
double theta)

Definition at line 109 of file DistributedGpuApi.h.

◆ ApplyCSwapFn

Initial value:
int (*)(void *obj, int controlQubit, int qubit1,
int qubit2)

Definition at line 114 of file DistributedGpuApi.h.

◆ ApplyCSXDGFn

using Simulators::DistributedGpuApi::ApplyCSXDGFn = int (*)(void *obj, int controlQubit, int targetQubit)

Definition at line 102 of file DistributedGpuApi.h.

◆ ApplyCSXFn

using Simulators::DistributedGpuApi::ApplyCSXFn = int (*)(void *obj, int controlQubit, int targetQubit)

Definition at line 101 of file DistributedGpuApi.h.

◆ ApplyCUFn

Initial value:
int (*)(void *obj, int controlQubit, int targetQubit,
double theta, double phi, double lambda,
double gamma)

Definition at line 116 of file DistributedGpuApi.h.

◆ ApplyCXFn

using Simulators::DistributedGpuApi::ApplyCXFn = int (*)(void *obj, int controlQubit, int targetQubit)

Definition at line 97 of file DistributedGpuApi.h.

◆ ApplyCYFn

using Simulators::DistributedGpuApi::ApplyCYFn = int (*)(void *obj, int controlQubit, int targetQubit)

Definition at line 98 of file DistributedGpuApi.h.

◆ ApplyCZFn

using Simulators::DistributedGpuApi::ApplyCZFn = int (*)(void *obj, int controlQubit, int targetQubit)

Definition at line 99 of file DistributedGpuApi.h.

◆ ApplyHFn

using Simulators::DistributedGpuApi::ApplyHFn = int (*)(void *obj, int qubit)

Definition at line 83 of file DistributedGpuApi.h.

◆ ApplyKFn

using Simulators::DistributedGpuApi::ApplyKFn = int (*)(void *obj, int qubit)

Definition at line 90 of file DistributedGpuApi.h.

◆ ApplyOneQubitMatrixFn

Initial value:
int (*)(void *obj, int qubit,
const double *matrix)

Definition at line 147 of file DistributedGpuApi.h.

◆ ApplyOneQubitMatrixWithLayoutFn

Initial value:
int (*)(void *obj, int qubit,
const double *matrix,
int layout)

Definition at line 149 of file DistributedGpuApi.h.

◆ ApplyPFn

using Simulators::DistributedGpuApi::ApplyPFn = int (*)(void *obj, int qubit, double theta)

Definition at line 91 of file DistributedGpuApi.h.

◆ ApplyRxFn

using Simulators::DistributedGpuApi::ApplyRxFn = int (*)(void *obj, int qubit, double theta)

Definition at line 92 of file DistributedGpuApi.h.

◆ ApplyRyFn

using Simulators::DistributedGpuApi::ApplyRyFn = int (*)(void *obj, int qubit, double theta)

Definition at line 93 of file DistributedGpuApi.h.

◆ ApplyRzFn

using Simulators::DistributedGpuApi::ApplyRzFn = int (*)(void *obj, int qubit, double theta)

Definition at line 94 of file DistributedGpuApi.h.

◆ ApplySDGFn

using Simulators::DistributedGpuApi::ApplySDGFn = int (*)(void *obj, int qubit)

Definition at line 85 of file DistributedGpuApi.h.

◆ ApplySFn

using Simulators::DistributedGpuApi::ApplySFn = int (*)(void *obj, int qubit)

Definition at line 84 of file DistributedGpuApi.h.

◆ ApplySwapFn

using Simulators::DistributedGpuApi::ApplySwapFn = int (*)(void *obj, int qubit1, int qubit2)

Definition at line 113 of file DistributedGpuApi.h.

◆ ApplySXDGFn

using Simulators::DistributedGpuApi::ApplySXDGFn = int (*)(void *obj, int qubit)

Definition at line 89 of file DistributedGpuApi.h.

◆ ApplySXFn

using Simulators::DistributedGpuApi::ApplySXFn = int (*)(void *obj, int qubit)

Definition at line 88 of file DistributedGpuApi.h.

◆ ApplyTDGFn

using Simulators::DistributedGpuApi::ApplyTDGFn = int (*)(void *obj, int qubit)

Definition at line 87 of file DistributedGpuApi.h.

◆ ApplyTFn

using Simulators::DistributedGpuApi::ApplyTFn = int (*)(void *obj, int qubit)

Definition at line 86 of file DistributedGpuApi.h.

◆ ApplyTwoQubitMatrixFn

Initial value:
int (*)(void *obj, int qubit0, int qubit1,
const double *matrix)

Definition at line 152 of file DistributedGpuApi.h.

◆ ApplyTwoQubitMatrixWithLayoutFn

Initial value:
int (*)(void *obj, int qubit0,
int qubit1,
const double *matrix,
int layout)

Definition at line 154 of file DistributedGpuApi.h.

◆ ApplyUFn

Initial value:
int (*)(void *obj, int qubit, double theta, double phi,
double lambda, double gamma)

Definition at line 95 of file DistributedGpuApi.h.

◆ ApplyXFn

using Simulators::DistributedGpuApi::ApplyXFn = int (*)(void *obj, int qubit)

Definition at line 80 of file DistributedGpuApi.h.

◆ ApplyYFn

using Simulators::DistributedGpuApi::ApplyYFn = int (*)(void *obj, int qubit)

Definition at line 81 of file DistributedGpuApi.h.

◆ ApplyZFn

using Simulators::DistributedGpuApi::ApplyZFn = int (*)(void *obj, int qubit)

Definition at line 82 of file DistributedGpuApi.h.

◆ BasisStateProbabilityFn

using Simulators::DistributedGpuApi::BasisStateProbabilityFn = double (*)(void *obj, long long int state)

Definition at line 76 of file DistributedGpuApi.h.

◆ CheckLicenseFn

using Simulators::DistributedGpuApi::CheckLicenseFn = int (*)(void *state)

Definition at line 36 of file DistributedGpuApi.h.

◆ CloneFn

using Simulators::DistributedGpuApi::CloneFn = void *(*)(void *obj)

Definition at line 68 of file DistributedGpuApi.h.

◆ ConfigureDistributionFn

◆ CreateFn

using Simulators::DistributedGpuApi::CreateFn = int (*)(void *obj, unsigned int nrQubits)

Definition at line 50 of file DistributedGpuApi.h.

◆ CreateStateVectorFn

Definition at line 39 of file DistributedGpuApi.h.

◆ CreateStateVectorWithBackendFn

using Simulators::DistributedGpuApi::CreateStateVectorWithBackendFn = void *(*)(void *lib, int backend)

Definition at line 40 of file DistributedGpuApi.h.

◆ CreateWithBasisStateFn

Initial value:
int (*)(void *obj, uint32_t nrQubits,
uint64_t basis)

Definition at line 145 of file DistributedGpuApi.h.

◆ CreateWithStateFn

Initial value:
int (*)(void *obj, unsigned int nrQubits,
const double *state)

Definition at line 51 of file DistributedGpuApi.h.

◆ DestroyStateVectorFn

Definition at line 44 of file DistributedGpuApi.h.

◆ ExpectationValueFn

Initial value:
double (*)(void *obj, const char *pauliString,
int len)

Definition at line 78 of file DistributedGpuApi.h.

◆ FreeLibFn

Definition at line 38 of file DistributedGpuApi.h.

◆ FreeSavedStateFn

Definition at line 67 of file DistributedGpuApi.h.

◆ GetApiVersionFn

Definition at line 119 of file DistributedGpuApi.h.

◆ GetBackendFn

using Simulators::DistributedGpuApi::GetBackendFn = int (*)(void *obj)

Definition at line 41 of file DistributedGpuApi.h.

◆ GetCapabilitiesFn

Definition at line 120 of file DistributedGpuApi.h.

◆ GetGlobalQubitsFn

Initial value:
int (*)(void *obj, int32_t *qubits,
uint32_t capacity)

Definition at line 126 of file DistributedGpuApi.h.

◆ GetGpuDeviceCountFn

Definition at line 34 of file DistributedGpuApi.h.

◆ GetLastErrorFn

using Simulators::DistributedGpuApi::GetLastErrorFn = const char *(*)(void)

Definition at line 121 of file DistributedGpuApi.h.

◆ GetLocalStateBoundsFn

Initial value:
int (*)(void *obj, uint64_t *begin,
uint64_t *end)

Definition at line 139 of file DistributedGpuApi.h.

◆ GetLocalStateRangeFn

Initial value:
int (*)(void *obj, uint64_t begin, uint64_t end,
double *output)

Definition at line 141 of file DistributedGpuApi.h.

◆ GetNrQubitsFn

Definition at line 48 of file DistributedGpuApi.h.

◆ GetQubitLayoutFn

using Simulators::DistributedGpuApi::GetQubitLayoutFn = int (*)(void *obj, int32_t *wires, uint32_t capacity)

Definition at line 128 of file DistributedGpuApi.h.

◆ GetShardDevicesFn

Initial value:
int (*)(void *obj, int32_t *devices,
uint32_t capacity)

Definition at line 124 of file DistributedGpuApi.h.

◆ GetStateRangeFn

Initial value:
int (*)(void *obj, uint64_t begin, uint64_t end,
double *output)

Definition at line 135 of file DistributedGpuApi.h.

◆ GetStateVectorGpuIdFn

Definition at line 49 of file DistributedGpuApi.h.

◆ InitLibFn

Definition at line 37 of file DistributedGpuApi.h.

◆ IsDoublePrecisionFn

Definition at line 47 of file DistributedGpuApi.h.

◆ MeasureAllQubitsCollapseFn

using Simulators::DistributedGpuApi::MeasureAllQubitsCollapseFn = unsigned long long (*)(void *obj)

Definition at line 60 of file DistributedGpuApi.h.

◆ MeasureAllQubitsNoCollapseFn

using Simulators::DistributedGpuApi::MeasureAllQubitsNoCollapseFn = unsigned long long (*)(void *obj)

Definition at line 61 of file DistributedGpuApi.h.

◆ MeasureQubitCollapseFn

using Simulators::DistributedGpuApi::MeasureQubitCollapseFn = int (*)(void *obj, int qubitIndex)

Definition at line 54 of file DistributedGpuApi.h.

◆ MeasureQubitNoCollapseFn

using Simulators::DistributedGpuApi::MeasureQubitNoCollapseFn = int (*)(void *obj, int qubitIndex)

Definition at line 55 of file DistributedGpuApi.h.

◆ MeasureQubitsCollapseFn

Initial value:
int (*)(void *obj, int *qubits, int *bitstring,
int bitstringLen)

Definition at line 56 of file DistributedGpuApi.h.

◆ MeasureQubitsNoCollapseFn

Initial value:
int (*)(void *obj, int *qubits,
int *bitstring, int bitstringLen)

Definition at line 58 of file DistributedGpuApi.h.

◆ ProbabilityFn

using Simulators::DistributedGpuApi::ProbabilityFn = double (*)(void *obj, int *qubits, int *mask, int len)

Definition at line 75 of file DistributedGpuApi.h.

◆ RedistributeFn

Initial value:
int (*)(void *obj, const int32_t *global_qubits,
uint32_t count)

Definition at line 129 of file DistributedGpuApi.h.

◆ ResetFn

using Simulators::DistributedGpuApi::ResetFn = int (*)(void *obj)

Definition at line 53 of file DistributedGpuApi.h.

◆ RestoreStateFreeSavedFn

Definition at line 65 of file DistributedGpuApi.h.

◆ RestoreStateNoFreeSavedFn

Definition at line 66 of file DistributedGpuApi.h.

◆ SampleAllFn

Initial value:
int (*)(void *obj, unsigned int nSamples,
long int *samples)

Definition at line 71 of file DistributedGpuApi.h.

◆ SampleFn

Initial value:
int (*)(void *obj, unsigned int nSamples, long int *samples,
unsigned int nBits, int *bitOrdering)

Definition at line 69 of file DistributedGpuApi.h.

◆ SaveStateDestructiveFn

Definition at line 64 of file DistributedGpuApi.h.

◆ SaveStateFn

using Simulators::DistributedGpuApi::SaveStateFn = int (*)(void *obj)

Definition at line 62 of file DistributedGpuApi.h.

◆ SaveStateToHostFn

Definition at line 63 of file DistributedGpuApi.h.

◆ SetDataTypeFn

using Simulators::DistributedGpuApi::SetDataTypeFn = int (*)(void *obj, int useDoublePrecision)

Definition at line 45 of file DistributedGpuApi.h.

◆ SetExExecutionConfigFn

◆ SetGpuDeviceFn

using Simulators::DistributedGpuApi::SetGpuDeviceFn = int (*)(int deviceId)

Definition at line 33 of file DistributedGpuApi.h.

◆ SetLocalStateRangeFn

Initial value:
int (*)(void *obj, uint64_t begin, uint64_t end,
const double *input)

Definition at line 143 of file DistributedGpuApi.h.

◆ SetSeedFn

using Simulators::DistributedGpuApi::SetSeedFn = int (*)(void *obj, unsigned long long seed)

Definition at line 46 of file DistributedGpuApi.h.

◆ SetStateRangeFn

Initial value:
int (*)(void *obj, uint64_t begin, uint64_t end,
const double *input)

Definition at line 137 of file DistributedGpuApi.h.

◆ SwapGlobalLocalQubitsFn

Initial value:
int (*)(void *obj, const int32_t *global_qubits,
const int32_t *local_qubits,
uint32_t count)

Definition at line 131 of file DistributedGpuApi.h.

◆ SynchronizeFn

Definition at line 134 of file DistributedGpuApi.h.

◆ ValidateLicenseFn

using Simulators::DistributedGpuApi::ValidateLicenseFn = int (*)(const char *licenseKey)

Definition at line 35 of file DistributedGpuApi.h.