こんにちは、量子アニーリングを実行した時の詳細な実行時間が取れます。QPUのサンプリングの場合と、HSSのLeapハイブリッドでは取得方法が異なります。
実機サンプリング
まずは実機から、
from dwave.system.samplers import DWaveSampler
from dwave.system.composites import EmbeddingComposite
dsampler = DWaveSampler(token=token)
sampler = EmbeddingComposite(dsampler)
response = sampler.sample_ising({'a': -0.5, 'b': 1.0}, {('a', 'b'): -1})
response.info['timing']
こちらはマイクロ秒です。
{'qpu_sampling_time': 67,
'qpu_anneal_time_per_sample': 20,
'qpu_readout_time_per_sample': 26,
'qpu_access_time': 26129,
'qpu_access_overhead_time': 12975,
'qpu_programming_time': 26061,
'qpu_delay_time_per_sample': 21,
'total_post_processing_time': 522,
'post_processing_overhead_time': 522,
'total_real_time': 26129,
'run_time_chip': 67,
'anneal_time_per_run': 20,
'readout_time_per_run': 26}
サンプリングをダイレクトにマシンからとる場合、こちらはQPUのみの利用ですのでかなり詳細なものが取れます。
ハイブリッド
ハイブリッドはちょっと異なります。
import dimod
from dwave.system import LeapHybridSampler
#to Leap2
bqm = dimod.BQM.from_numpy_matrix(a.qubo)
token = token
sampler = LeapHybridSampler(token=token)
response = sampler.sample(bqm)
response.info
{'qpu_access_time': 130795, 'charge_time': 2991576, 'run_time': 2991576}
In [ ]:
こちらは全体のチャージタイムとQPUタイムが別で出ますが、細かいところは分かりません。このようにQPUを利用する場合と、ハイブリッドでの実行時間をマイクロ秒単位で取得できました。ぜひ役立ててみてください。
以上です。