Understanding 'perf' for qpu:ascella

Hi,
I run simple Mach-Zehnder Interferometer measurements, several jobs for different angle phi

mzi = pcvl.Circuit(2) // BS() // (1,PS(phi=pcvl.P("phi"))) // BS()
proc.min_detected_photons_filter(1)
input_state = pcvl.BasicState([1,0])
proc.with_input(input_state)
nshots=500
job = sampler.sample_count.execute_async(nshots)

I run 6 jobs on either backend and got :

backend  average_perf
sim:ascella 0.06
qpu:ascella 0.00012

Q1: why such ‘perf’ difference from jobs run on sim:ascella
differs so much from those run on qpu:ascella ? I hoped noisy simulator is good match for the HW, or?

Q2: is my understanding correct, that for this circuit to get 500 accepted shots I fired 8.3k shots on simulator and 4.2M shots on qpu:ascella

Q3: At the moment I’m using your free 200 credits, but they will run out soon. When I start paying, will the same qpu:ascella job costs me about 5$ ?

Thanks
Jan

Hello Jan,

Thanks for your message. Here are the answers to your questions:

Q1: For a 1 photon experiment, the performance is expected to be equal to the transmittance of the system. The default transmittance is set to 6% in sim:ascella and, at the time your job was executed, the mean transmittance of qpu:ascella was measured at 5.4%, so the simulator is right and the QPU wrong. After a short investigation, we’ve seen that 500 shots is next to instantaneous and breaks our performance estimate formula, given a score which is much lower than expected - we still need to figure a good fix for this anomaly. However, it does not have any impact on shots counting or on a job’s cost (see my other answers below).

Q2: From what I understand, we do not have the same definition for “shot”. Quandela definition is “any measured photon event” (meaning we need to detect at least 1 photon to count a shot). My guess is that your definition takes void states into account to.
In Quandela’s referential, you need exactly 500 shots, to record 500 1-photon states, and that’s what you can see in your job data online:
500shots
Here, the Shots field is the exact shot count that were “burnt” to acquire your results.

Q3: I’m not aware of your credit/$ ratio. But don’t expect to pay 4M shots to acquire 500 1-photon samples of interest. In this case, you’ll use only 500 shots. On top of that, you can also set a max_shot_per_call threshold when instantiating your Sampler to further limit your shot usage.

Best regards,
Eric

Thank you Eric for detailed explanation.
I work with transmon qubits and I think this domain. My ‘shot’ terminology is not the best to describe your device. I’ll use “any measured photon event” from now on.
You answered all my questions. I’m good.
Thank you, Jan