Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update device toml specs to schema 2 #642

Merged
merged 51 commits into from
May 9, 2024
Merged
Show file tree
Hide file tree
Changes from 44 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
4ac5aef
Update device toml specs
Mar 13, 2024
fb05259
Auto update version
github-actions[bot] Mar 13, 2024
4ed8d5c
Merge branch 'master' into toml-spec-schema-2
sergei-mironov Mar 13, 2024
fdc531e
Auto update version
github-actions[bot] Mar 13, 2024
ac1f3d2
Fix missing Projector observable in the PL/kokkos device
Mar 14, 2024
5d66a70
Auto update version
github-actions[bot] Mar 14, 2024
c81444a
Update formatting
Mar 15, 2024
4ade9ee
Remove Projector from lightning_qubit.toml as this is not natively su…
maliasadi Mar 21, 2024
129e63b
Remove non-native observables
maliasadi Mar 21, 2024
24303c8
Auto update version
github-actions[bot] Mar 21, 2024
11dbe3a
trigger ci
maliasadi Mar 21, 2024
92e9a66
Update pennylane_lightning/lightning_kokkos/lightning_kokkos.toml
sergei-mironov Mar 22, 2024
cc143f9
Update obs order in toml
maliasadi Mar 22, 2024
0a340c4
trigger ci
maliasadi Mar 22, 2024
7b01211
Auto update version
github-actions[bot] Mar 22, 2024
a7b73c8
Merge with main
maliasadi Mar 25, 2024
87286ce
Auto update version
github-actions[bot] Mar 25, 2024
35dadad
trigger ci
maliasadi Mar 25, 2024
fae6a56
Update scheme-2 obs
maliasadi Mar 25, 2024
0f84648
Auto update version
github-actions[bot] Mar 25, 2024
c1b1232
trigger ci
maliasadi Mar 25, 2024
4d96f2e
Apply review suggestions: mark Rot/QubitUnitary as non-differentiable
Apr 10, 2024
80c74d3
Apply review suggestions: mark Rot/QubitUnitary as non-differentiable
Apr 10, 2024
49d9b9c
Merge branch 'master' into toml-spec-schema-2
vincentmr Apr 10, 2024
61b0c90
Auto update version
github-actions[bot] Apr 10, 2024
37f1901
Merge remote-tracking branch 'origin/master' into toml-spec-schema-2
Apr 16, 2024
a254c95
Auto update version
github-actions[bot] Apr 16, 2024
29d8dda
Update pennylane_lightning/lightning_kokkos/lightning_kokkos.toml
sergei-mironov Apr 17, 2024
292513a
Auto update version
github-actions[bot] Apr 17, 2024
50864f5
Address review suggestions: declare kokkos observables as differentiable
Apr 19, 2024
f2cc5b2
Update cuda quantum toml file
Apr 23, 2024
6a8ebc0
Auto update version from '0.36.0-dev30' to '0.36.0-dev36'
ringo-but-quantum Apr 23, 2024
41bb500
Merge remote-tracking branch 'origin/master' into toml-spec-schema-2
Apr 23, 2024
814cd68
Update lightning_gpu toml file
Apr 23, 2024
3104634
Run Catalyst check; put a number of fixmes
Apr 23, 2024
fce566d
Update pennylane_lightning/lightning_qubit/lightning_qubit.toml
sergei-mironov May 3, 2024
49c1847
Update pennylane_lightning/lightning_gpu/lightning_gpu.toml
sergei-mironov May 3, 2024
759c5dc
Auto update version from '0.36.0-dev36' to '0.36.0-dev46'
ringo-but-quantum May 3, 2024
206c167
Merge remote-tracking branch 'origin/master' into toml-spec-schema-2
May 3, 2024
ba7c493
Auto update version from '0.36.0-dev45' to '0.36.0-dev46'
ringo-but-quantum May 3, 2024
d950760
Add a todo notice
May 3, 2024
ac9c810
Move CPhase close to ControlledPhaseShitf
May 3, 2024
e5759c2
Auto update version from '0.36.0-dev46' to '0.36.0-dev47'
ringo-but-quantum May 3, 2024
9243f0d
Remove fixmes
May 3, 2024
18bb95d
Remove CPhase and mark GlobalPhase as non-controllable on kokkos
May 6, 2024
67dad70
Auto update version from '0.36.0-dev47' to '0.36.0-dev48'
ringo-but-quantum May 6, 2024
0f35767
Merge remote-tracking branch 'origin/master' into toml-spec-schema-2
May 6, 2024
a942e59
Merge branch 'master' into toml-spec-schema-2
sergei-mironov May 7, 2024
24ce608
Auto update version from '0.36.0-dev48' to '0.36.0-dev49'
ringo-but-quantum May 7, 2024
73bf767
Merge branch 'master' into toml-spec-schema-2
dime10 May 7, 2024
022d05a
Merge branch 'master' into toml-spec-schema-2
dime10 May 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pennylane_lightning/core/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@
Version number (major.minor.patch[-label])
"""

__version__ = "0.36.0-dev45"
__version__ = "0.36.0-dev47"
181 changes: 82 additions & 99 deletions pennylane_lightning/lightning_gpu/lightning_gpu.toml
Original file line number Diff line number Diff line change
@@ -1,121 +1,104 @@
schema = 1

[device]
name = "lightning.gpu"

[operators]
# Observables supported by the device
observables = [
"PauliX",
"PauliY",
"PauliZ",
"Hadamard",
"Hermitian",
"Identity",
"SparseHamiltonian",
"Hamiltonian",
"Sum",
"SProd",
"Prod",
"Exp",
sergei-mironov marked this conversation as resolved.
Show resolved Hide resolved
]
# TODO: verify the contents of this file against what the device reports.
schema = 2

# The union of all gate types listed in this section must match what
# the device considers "supported" through PennyLane's device API.
[[operators.gates]]
native = [
"Identity",
"PauliX",
"PauliY",
"PauliZ",
"Hadamard",
"S",
"T",
"PhaseShift",
"RX",
"RY",
"RZ",
"Rot",
"CNOT",
"CY",
"CZ",
"SWAP",
"CSWAP",
"Toffoli",
"IsingXX",
"IsingXY",
"IsingYY",
"IsingZZ",
"ControlledPhaseShift",
"CRX",
"CRY",
"CRZ",
"CRot",
"SingleExcitation",
"SingleExcitationPlus",
"SingleExcitationMinus",
"DoubleExcitation",
"DoubleExcitationPlus",
"DoubleExcitationMinus",
"MultiRZ",
"QubitUnitary",
"GlobalPhase",
]
[operators.gates.native]

Identity = { properties = [ "differentiable" ] }
PauliX = { properties = [ "differentiable" ] }
PauliY = { properties = [ "differentiable" ] }
PauliZ = { properties = [ "differentiable" ] }
Hadamard = { properties = [ "differentiable" ] }
S = { properties = [ "differentiable" ] }
T = { properties = [ "differentiable" ] }
PhaseShift = { properties = [ "differentiable" ] }
RX = { properties = [ "differentiable" ] }
RY = { properties = [ "differentiable" ] }
RZ = { properties = [ "differentiable" ] }
Rot = { properties = [ "differentiable" ] }
CNOT = { properties = [ "differentiable" ] }
CY = { properties = [ "differentiable" ] }
CZ = { properties = [ "differentiable" ] }
SWAP = { properties = [ "differentiable" ] }
CSWAP = { properties = [ "differentiable" ] }
Toffoli = { properties = [ "differentiable" ] }
IsingXX = { properties = [ "differentiable" ] }
IsingXY = { properties = [ "differentiable" ] }
IsingYY = { properties = [ "differentiable" ] }
IsingZZ = { properties = [ "differentiable" ] }
ControlledPhaseShift = { properties = [ "differentiable" ] }
CRX = { properties = [ "differentiable" ] }
CRY = { properties = [ "differentiable" ] }
CRZ = { properties = [ "differentiable" ] }
CRot = { properties = [ "differentiable" ] }
SingleExcitation = { properties = [ "differentiable" ] }
SingleExcitationPlus = { properties = [ "differentiable" ] }
SingleExcitationMinus = { properties = [ "differentiable" ] }
DoubleExcitation = { properties = [ "differentiable" ] }
DoubleExcitationPlus = { properties = [ "differentiable" ] }
DoubleExcitationMinus = { properties = [ "differentiable" ] }
MultiRZ = { properties = [ "differentiable" ] }
QubitUnitary = { properties = [ "differentiable" ] }
GlobalPhase = { properties = [ "differentiable" ] }

# Operators that should be decomposed according to the algorithm used
# by PennyLane's device API.
# Optional, since gates not listed in this list will typically be decomposed by
# default, but can be useful to express a deviation from this device's regular
# strategy in PennyLane.
decomp = [
"BasisState",
"QFT",
"QubitStateVector",
"StatePrep",
"MultiControlledX",
]
[operators.gates.decomp]

BasisState = {}
QFT = {}
QubitStateVector = {}
StatePrep = {}
MultiControlledX = {}

# Gates which should be translated to QubitUnitary
matrix = [
"ControlledQubitUnitary",
"ECR",
"SX",
"ISWAP",
"PSWAP",
"SISWAP",
"SQISW",
"CPhase",
"OrbitalRotation",
"QubitCarry",
"QubitSum",
"DiagonalQubitUnitary",
"BlockEncode",
]
[operators.gates.matrix]


ControlledQubitUnitary = {}
ECR = {}
SX = {}
ISWAP = {}
PSWAP = {}
SISWAP = {}
SQISW = {}
CPhase = {}
OrbitalRotation = {}
QubitCarry = {}
QubitSum = {}
DiagonalQubitUnitary = {}
BlockEncode = {}

# Observables supported by the device
[operators.observables]

Identity = {}
PauliX = {}
PauliY = {}
PauliZ = {}
Hadamard = {}
Hermitian = {}
Hamiltonian = {}
SparseHamiltonian = {}

[measurement_processes]
exactshots = [
"Expval",
"Var",
"Probs",
"State",
]
finiteshots = [
"Expval",
"Var",
"Probs",
"Sample",
"Counts",
]

Expval = {}
Var = {}
Probs = {}
State = { condition = [ "analytic" ] }
Sample = { condition = [ "finiteshots" ] }
Counts = { condition = [ "finiteshots" ] }

[compilation]
# If the device is compatible with qjit
qjit_compatible = false
# If the device requires run time generation of the quantum circuit.
runtime_code_generation = false
# If the device supports adjoint
quantum_adjoint = false
# If the device supports quantum control instructions natively
quantum_control = false
# If the device supports mid circuit measurements natively
mid_circuit_measurement = false

Expand Down
Loading