-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathd-wave-qpu-samplers-openapi.yml
More file actions
109 lines (109 loc) · 4.14 KB
/
Copy pathd-wave-qpu-samplers-openapi.yml
File metadata and controls
109 lines (109 loc) · 4.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
openapi: 3.0.3
info:
title: D-Wave QPU Samplers (Advantage / Advantage2)
version: '3.0'
description: |
Direct access to D-Wave quantum annealing QPUs (Advantage with Pegasus topology and
Advantage2 with Zephyr topology) through the SAPI Problems endpoint with
`type=ising|qubo`. Problems are submitted with QPU-specific annealing parameters and
return Ising/QUBO answers with energies, occurrences, and sample vectors.
contact:
name: D-Wave Quantum Inc.
url: https://docs.dwavequantum.com/en/quantum_research/index_about.html
servers:
- url: https://cloud.dwavesys.com/sapi/v2
security:
- SapiToken: []
paths:
/problems/:
post:
operationId: submitQpuProblem
summary: Submit QPU Problem
description: Submit an Ising or QUBO problem to a D-Wave QPU sampler.
tags: [QPU]
requestBody:
required: true
content:
application/json:
schema: {$ref: '#/components/schemas/QpuProblemJob'}
responses:
'200':
description: QPU problem status (with answer if returned within time limit)
content:
application/vnd.dwave.sapi.problems+json;version=3.0.0:
schema: {$ref: '#/components/schemas/QpuProblemStatus'}
components:
securitySchemes:
SapiToken:
type: apiKey
in: header
name: X-Auth-Token
schemas:
QpuProblemJob:
type: object
required: [solver, type, data]
properties:
solver:
type: string
example: Advantage_system6.4
type:
type: string
enum: [ising, qubo]
data:
type: object
properties:
format: {type: string, enum: [qp]}
lin: {type: array, items: {type: number}, description: Linear biases on active qubits.}
quad: {type: array, items: {type: number}, description: Quadratic couplings between coupled qubits.}
offset: {type: number}
params:
$ref: '#/components/schemas/QpuParams'
label: {type: string}
QpuParams:
type: object
properties:
num_reads: {type: integer, minimum: 1, maximum: 10000}
annealing_time: {type: number, description: Microseconds (e.g. 1-2000).}
chain_strength: {type: number}
auto_scale: {type: boolean}
anneal_schedule:
type: array
items: {type: array, items: {type: number}, minItems: 2, maxItems: 2}
description: Reverse / pause / forward anneal schedule as (time, s) pairs.
h_gain_schedule:
type: array
items: {type: array, items: {type: number}, minItems: 2, maxItems: 2}
programming_thermalization: {type: number}
readout_thermalization: {type: number}
flux_biases: {type: array, items: {type: number}}
reverse_anneal_schedule: {type: array, items: {type: array, items: {type: number}}}
initial_state: {type: array, items: {type: integer, enum: [-1, 1]}}
answer_mode: {type: string, enum: [raw, histogram]}
QpuProblemStatus:
type: object
properties:
id: {type: string}
type: {type: string}
solver: {type: string}
status: {type: string, enum: [PENDING, IN_PROGRESS, COMPLETED, FAILED, CANCELLED]}
submitted_on: {type: string, format: date-time}
solved_on: {type: string, format: date-time}
answer: {$ref: '#/components/schemas/QpuAnswer'}
QpuAnswer:
type: object
properties:
format: {type: string, enum: [qp]}
active_variables: {type: array, items: {type: integer}}
energies: {type: array, items: {type: number}}
num_occurrences: {type: array, items: {type: integer}}
solutions: {type: array, items: {type: array, items: {type: integer, enum: [-1, 1]}}}
timing:
type: object
properties:
qpu_sampling_time: {type: number}
qpu_anneal_time_per_sample: {type: number}
qpu_readout_time_per_sample: {type: number}
qpu_access_time: {type: number}
qpu_programming_time: {type: number}
total_post_processing_time: {type: number}
num_variables: {type: integer}