From 7d05583a00e08f2985043de60433baca1c8a6677 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 27 May 2026 16:39:16 -0700 Subject: [PATCH 1/5] Use new flag added in quantumlib/Cirq#8054 This is to test if using `should_preserve_initial_state=False` would save memory in qsim simulations. This requires Cirq sources from https://github.com/quantumlib/Cirq/pull/8054 --- qsimcirq/qsim_simulator.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qsimcirq/qsim_simulator.py b/qsimcirq/qsim_simulator.py index 2b538167c..1163ecced 100644 --- a/qsimcirq/qsim_simulator.py +++ b/qsimcirq/qsim_simulator.py @@ -591,7 +591,9 @@ def simulate_sweep_iter( program, params, qubit_order, initial_state ): final_state = cirq.StateVectorSimulationState( - initial_state=state_vector, qubits=cirq_order + initial_state=state_vector, + qubits=cirq_order, + should_preserve_initial_state=False, ) # create result for this parameter # TODO: We need to support measurements. From 078b6395065b025de5c4d3337b26cb02c2f6502e Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 27 May 2026 23:32:58 -0700 Subject: [PATCH 2/5] Example qsim simulation to monitor memory use - qsim_simulation.py - example simulation run for valgrind check up - oom_qsim_simulation.py - variant to test how many qubits cause OOM - get-total-memory - extracts memory used from massif.out files --- check_cirq_8054/get-total-memory | 14 ++++++++++ check_cirq_8054/oom_qsim_simulation.py | 33 +++++++++++++++++++++++ check_cirq_8054/qsim_simulation.py | 36 ++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100755 check_cirq_8054/get-total-memory create mode 100644 check_cirq_8054/oom_qsim_simulation.py create mode 100644 check_cirq_8054/qsim_simulation.py diff --git a/check_cirq_8054/get-total-memory b/check_cirq_8054/get-total-memory new file mode 100755 index 000000000..aa9cce0e7 --- /dev/null +++ b/check_cirq_8054/get-total-memory @@ -0,0 +1,14 @@ +#!/usr/bin/gawk -f + +BEGIN { FS = "="; } + +/^snapshot=[0-9]+$/ {inrec = 1} +inrec && /^time=[0-9]+/ {t = $2 * 1e-9} +inrec && /^mem_heap_B/ {mem_heap_B = $2 + 0} +inrec && /^mem_heap_extra_B/ {mem_heap_extra_B = $2 + 0} + +inrec && /^heap_tree/ { + print t, mem_heap_B + mem_heap_extra_B; + t = mem_heap_B = mem_heap_extra_B = ""; + inrec = 0; +} diff --git a/check_cirq_8054/oom_qsim_simulation.py b/check_cirq_8054/oom_qsim_simulation.py new file mode 100644 index 000000000..ab37f684e --- /dev/null +++ b/check_cirq_8054/oom_qsim_simulation.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + +"""Script to check for maximum number of qubits where QSimSimulator segfaults. +""" + +import gc +import sys + +import numpy as np + +import cirq.testing +import qsimcirq + +assert __name__ == "__main__" +if len(sys.argv) != 2: + print(f"usage: {__file__} num_qubits") + sys.exit(0) + +nqubits = int(sys.argv[1]) + +q = cirq.LineQubit.range(nqubits) +m1 = cirq.Moment(cirq.H.on_each(q)) +m2 = cirq.Moment(cirq.CX(qi, qj) for qi, qj in zip(q[0::2], q[1::2])) +m3 = cirq.Moment(cirq.measure(*q)) +c = cirq.Circuit(10 * [m1, m2, m3]) + +my_sim = qsimcirq.QSimSimulator() + +gc.disable() +gc.collect() + +state_vector = my_sim.simulate(program=c).state_vector() +print(state_vector.shape, state_vector) diff --git a/check_cirq_8054/qsim_simulation.py b/check_cirq_8054/qsim_simulation.py new file mode 100644 index 000000000..e1b7cc987 --- /dev/null +++ b/check_cirq_8054/qsim_simulation.py @@ -0,0 +1,36 @@ +import gc + +import numpy as np + +import cirq.testing +import qsimcirq + +nqubits = 20 +# nqubits = 24 + +q = cirq.LineQubit.range(nqubits) +m1 = cirq.Moment(cirq.H.on_each(q)) +m2 = cirq.Moment(cirq.CX(qi, qj) for qi, qj in zip(q[0::2], q[1::2])) +m3 = cirq.Moment(cirq.measure(*q)) +c = cirq.Circuit(10 * [m1, m2, m3]) + +# make reproducible initial_state +rs = cirq.value.parse_random_state(8054) +initial_state = cirq.testing.random_superposition(2**nqubits, random_state=rs).astype( + np.complex64 +) +my_sim = qsimcirq.QSimSimulator() + +gc.disable() +gc.collect() + +# burn CPU cycles for a few seconds +for _ in range(50_000_000): + pass + +state_vector = my_sim.simulate(program=c, initial_state=initial_state).state_vector() +print(state_vector.shape, state_vector) + +# burn CPU cycles for a few seconds +for _ in range(50_000_000): + pass From dd61b2ee51b4deff780594638403733bc01eed25 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 27 May 2026 23:37:44 -0700 Subject: [PATCH 3/5] Memory usage results before and with cirq-8054 Measured on Debian OS with 65 GB memory. --- check_cirq_8054/results/README.md | 42 +++++++++ check_cirq_8054/results/memtotal.733604.dat | 57 +++++++++++ check_cirq_8054/results/memtotal.736557.dat | 68 ++++++++++++++ check_cirq_8054/results/memtotal.737548.dat | 99 ++++++++++++++++++++ check_cirq_8054/results/memtotal.738662.dat | 93 ++++++++++++++++++ check_cirq_8054/results/memtotal.742794.dat | 69 ++++++++++++++ check_cirq_8054/results/memtotal.743107.dat | 71 ++++++++++++++ check_cirq_8054/results/memtotal.743990.dat | 69 ++++++++++++++ check_cirq_8054/results/memtotal.745873.dat | 71 ++++++++++++++ check_cirq_8054/results/plot_memory_use.png | Bin 0 -> 127783 bytes check_cirq_8054/results/plot_memory_use.py | 41 ++++++++ 11 files changed, 680 insertions(+) create mode 100644 check_cirq_8054/results/README.md create mode 100644 check_cirq_8054/results/memtotal.733604.dat create mode 100644 check_cirq_8054/results/memtotal.736557.dat create mode 100644 check_cirq_8054/results/memtotal.737548.dat create mode 100644 check_cirq_8054/results/memtotal.738662.dat create mode 100644 check_cirq_8054/results/memtotal.742794.dat create mode 100644 check_cirq_8054/results/memtotal.743107.dat create mode 100644 check_cirq_8054/results/memtotal.743990.dat create mode 100644 check_cirq_8054/results/memtotal.745873.dat create mode 100644 check_cirq_8054/results/plot_memory_use.png create mode 100644 check_cirq_8054/results/plot_memory_use.py diff --git a/check_cirq_8054/results/README.md b/check_cirq_8054/results/README.md new file mode 100644 index 000000000..7ac763813 --- /dev/null +++ b/check_cirq_8054/results/README.md @@ -0,0 +1,42 @@ +# Check of memory in qsim simulation before and after cirq PR 8054 + +2026-05-27 + +Smallest number of qubits causing OOM crash, checked with +`oom_qsim_simulation.py` on a Debian box with 65 GB of memory. + +- baseline qsim c5bc02394a and cirq f4c35b02090b - OOM for 34 qubits +- patched qsim 7d05583a00e0 and cirq #8054 (bca9c5c617de) - OOM for 34 qubits + +# 2026-05-27 - RUN LIST ------------------------------------------------------ + +Memory use during `qsim_simulation.py` was collected using +``` +valgrind --tool=massif python qsim_simulation.py +``` +The output massif.out.NNNNNN files were converted to memtotal.NNNNNN.dat +using `get-total-memory` script. + +## baseline qsim and cirq ---------------------------------------------------- + +### nqubits=20 (repeated to check reproducibility) + +- memtotal.733604.dat +- memtotal.736557.dat + +### nqubits=24 (repeated to check reproducibility) + +- memtotal.737548.dat +- memtotal.738662.dat + +## patched qsim and cirq ----------------------------------------------------- + +### nqubits=20 (repeated to check reproducibility) + +- memtotal.742794.dat +- memtotal.743107.dat + +### nqubits=24 (repeated to check reproducibility) + +- memtotal.743990.dat +- memtotal.745873.dat diff --git a/check_cirq_8054/results/memtotal.733604.dat b/check_cirq_8054/results/memtotal.733604.dat new file mode 100644 index 000000000..02df9e3f2 --- /dev/null +++ b/check_cirq_8054/results/memtotal.733604.dat @@ -0,0 +1,57 @@ +# time(s) total(B) +0 0 +0.318674 1829576 +0.800413 1830656 +1.08539 1833280 +1.49621 3965600 +2.04109 11420768 +2.30147 13350360 +2.71264 17712696 +3.18717 19979776 +3.47974 23178960 +3.94386 23966192 +4.24774 22427040 +4.73715 26087592 +5.09345 21787608 +5.64853 34344200 +6.0532 23333832 +6.67339 23801272 +7.04263 24054344 +7.33646 26933312 +7.77634 26572128 +8.36293 31020344 +8.72959 27231152 +9.24349 30566016 +9.75678 29527336 +10.0368 31484856 +10.4515 32861584 +10.8521 34065888 +11.196 35819400 +11.5052 36376264 +12.1185 38817856 +12.5623 40904920 +12.8479 41389864 +13.4064 45973416 +13.7793 47525304 +14.251 46322464 +14.8548 46146888 +15.342 46148840 +15.9343 48427936 +16.4012 51152048 +16.9931 51333688 +17.316 54121000 +17.6824 54812296 +17.942 55830936 +18.3247 97230944 +20.4203 80317544 +44.9443 63538632 +45.2405 73033952 +45.7872 73034656 +46.152 73035184 +46.7043 73035976 +46.9648 73036416 +47.272 73036768 +47.5777 73037208 +47.8414 73037648 +48.1475 73038000 +48.4202 54819616 diff --git a/check_cirq_8054/results/memtotal.736557.dat b/check_cirq_8054/results/memtotal.736557.dat new file mode 100644 index 000000000..011da7740 --- /dev/null +++ b/check_cirq_8054/results/memtotal.736557.dat @@ -0,0 +1,68 @@ +# time(s) total(B) +0 0 +0.236307 1829576 +0.647684 1830656 +0.901119 1831376 +1.16279 1832096 +1.62568 4855864 +2.04185 9461272 +2.42849 14207000 +2.81795 18432504 +3.1332 26787080 +3.35759 19030624 +3.67212 19919880 +3.88087 21932792 +4.32047 19697448 +4.59238 23449192 +4.92702 21260224 +5.38009 20740552 +5.6907 34344104 +5.93708 22432224 +6.32605 25918408 +6.56992 23932776 +6.91045 23969744 +7.34829 25118072 +7.78408 26126952 +8.07375 30650456 +8.4586 27037128 +8.84373 27238472 +9.32651 31547392 +9.80775 30132232 +10.225 31882384 +10.7115 33497720 +11.0001 34280976 +11.3337 36002080 +11.5094 36332816 +11.8853 39148072 +12.3438 38551040 +12.7539 40231696 +13.0397 40740888 +13.4487 45972408 +13.7677 45479008 +13.9993 45689144 +14.2996 46235768 +14.6829 46144856 +14.9561 46146808 +15.3351 46853200 +15.6352 48174776 +16.0247 49640680 +16.2574 51150992 +16.5575 50554072 +17.0139 53032160 +17.0688 53563424 +17.1723 54119576 +17.2426 55082016 +17.4184 55005768 +17.5942 55047960 +17.7699 55154488 +17.7983 55829528 +18.01 80314912 +18.0148 80314912 +18.1804 97228312 +23.2847 80314912 +48.5587 63536000 +48.7394 72163936 +48.9182 72164200 +49.0973 72164464 +49.2916 80326656 +49.4717 50396696 diff --git a/check_cirq_8054/results/memtotal.737548.dat b/check_cirq_8054/results/memtotal.737548.dat new file mode 100644 index 000000000..bc739df6d --- /dev/null +++ b/check_cirq_8054/results/memtotal.737548.dat @@ -0,0 +1,99 @@ +# time(s) total(B) +0 0 +0.24384 1829216 +0.563657 1829936 +0.813955 1831016 +1.0374 1833280 +1.30225 1839064 +1.70561 5389248 +1.99261 8696200 +2.35874 13350360 +2.64822 17147600 +2.86035 17388056 +3.14753 26787064 +3.44511 19185968 +3.9095 22048144 +4.13106 19868360 +4.49651 23122080 +4.84353 20408176 +5.04188 25635608 +5.38938 20717440 +5.7061 34344200 +6.00614 22499632 +6.30378 24823696 +6.60223 23307216 +6.80059 23870800 +7.12277 24077696 +7.44424 25003520 +7.60505 26300240 +7.92652 27032448 +8.32849 27879688 +8.56962 32657912 +8.89114 27523216 +9.29605 30264464 +9.6176 28986624 +9.86073 29245704 +10.1969 31991528 +10.5187 32886640 +10.8423 33753192 +11.0642 35095552 +11.4298 36270768 +11.7401 37901992 +12.1969 39385016 +12.6205 40904808 +13.0497 40608224 +13.2163 43593096 +13.6085 45439440 +13.8653 49127576 +14.1522 45892904 +14.5152 46145520 +14.9225 46146984 +15.1357 46147960 +15.3823 46178624 +15.5432 47147704 +15.704 47950408 +15.8649 48425552 +16.0267 49284560 +16.1023 49641512 +16.2521 50137968 +16.3066 50643288 +16.335 51151840 +16.496 50422248 +16.6568 50625192 +16.8176 51594632 +16.933 51679648 +16.9482 52507944 +17.0914 53033376 +17.1463 53564384 +17.2499 54120472 +17.3203 55082912 +17.4811 54936168 +17.6419 54878632 +17.8029 55084632 +17.8763 55830184 +20.4396 457805056 +20.5151 457805056 +23.0232 457806120 +23.1632 726376696 +31.0781 457805056 +58.5807 189367920 +59.6161 323858160 +59.8141 323858280 +60.7914 323858280 +60.9876 323858384 +61.9649 323858384 +62.1366 323858488 +63.1139 323858488 +64.1868 323858592 +65.3186 323858696 +65.5134 323858800 +66.4906 323858800 +67.5553 323858904 +67.7211 323859008 +68.6984 323859008 +68.9144 323859112 +69.8917 323859112 +70.074 323859056 +70.3125 592035208 +71.1325 457813440 +71.3126 50398104 diff --git a/check_cirq_8054/results/memtotal.738662.dat b/check_cirq_8054/results/memtotal.738662.dat new file mode 100644 index 000000000..741d16b65 --- /dev/null +++ b/check_cirq_8054/results/memtotal.738662.dat @@ -0,0 +1,93 @@ +# time(s) total(B) +0 0 +0.241858 1829216 +0.536904 1829936 +0.894681 1831376 +1.27455 1839064 +1.52452 3959456 +1.85926 7373144 +2.07045 11420768 +2.33075 13350360 +2.62021 17147600 +3.02276 20972656 +3.26981 20011800 +3.60782 19686568 +3.9994 19947304 +4.43126 20900776 +4.7444 26079016 +5.00099 24878544 +5.30861 21661584 +5.51445 21796776 +5.83214 22214208 +6.09067 23660496 +6.50097 23262976 +6.75739 24200024 +7.06669 24054440 +7.47673 26595568 +7.80473 26572208 +8.0507 30377440 +8.37866 30944776 +8.78879 27357744 +9.03809 26869824 +9.36646 27613280 +9.61248 29491760 +9.94047 30378864 +10.3773 32756360 +10.7873 33739224 +11.2248 35818840 +11.5271 36351816 +11.7112 37901320 +12.0073 37163416 +12.2594 37482200 +12.5126 39146056 +12.7175 40066816 +13.0033 40273224 +13.4134 45563792 +13.8357 49126728 +14.0878 46245352 +14.4878 46145632 +14.8216 46146120 +15.041 46146608 +15.2749 46147584 +15.5079 46177760 +15.6922 47256600 +15.8763 48176712 +16.0605 48587120 +16.2278 49641032 +16.3791 50137528 +16.432 50642744 +16.4604 51151328 +16.6446 50560216 +16.8288 51104448 +17.013 51498128 +17.0585 51678992 +17.0737 52507288 +17.2169 53032368 +17.2718 53563488 +17.3753 54119592 +17.4456 55082048 +17.6298 54613072 +17.8141 55200336 +17.9984 55664752 +18.0014 55829448 +20.5648 457804288 +20.6403 457804288 +23.1484 457805352 +23.2883 726375928 +74.4273 457804288 +99.78 189367136 +100.815 323857024 +101.966 323857144 +103.039 323857264 +104.164 323857384 +104.362 323857504 +105.34 323857504 +106.412 323857624 +107.522 323857744 +108.655 323857864 +109.754 323857984 +110.857 323858104 +111.05 323858064 +111.288 592034424 +112.108 457816688 +112.292 49454784 diff --git a/check_cirq_8054/results/memtotal.742794.dat b/check_cirq_8054/results/memtotal.742794.dat new file mode 100644 index 000000000..e052249e8 --- /dev/null +++ b/check_cirq_8054/results/memtotal.742794.dat @@ -0,0 +1,69 @@ +# time(s) total(B) +0 0 +0.247474 1829216 +0.540653 1829576 +0.786293 1830296 +1.06812 1831016 +1.55855 1839064 +1.92407 5965288 +2.24833 8696200 +2.61428 13350360 +2.90372 17147600 +3.4021 26787080 +3.72933 19672352 +4.08687 19494432 +4.29122 20214904 +4.72049 21273272 +5.22741 21488824 +5.56274 20457632 +5.96042 34344472 +6.29555 23498400 +6.51888 24248912 +6.85399 23578808 +7.13292 23859128 +7.41281 24236024 +7.80368 28179984 +8.02702 26961608 +8.36199 31016240 +8.80847 31750752 +9.25537 27998880 +9.59189 31490616 +9.81499 28774480 +10.1498 29713064 +10.4965 31882976 +10.8315 33037432 +11.3178 35095856 +11.683 36271008 +12.1628 39555792 +12.4179 38161304 +12.7047 38339768 +13.0165 39919040 +13.3021 40700312 +13.7166 45973656 +14.0356 45480320 +14.5473 46336720 +14.9329 46146776 +15.3997 46148728 +15.8492 46198344 +16.1366 48496040 +16.4234 48727888 +16.8018 51153208 +17.232 50724896 +17.3998 51681080 +17.4149 52509376 +17.558 53034648 +17.6129 53565976 +17.7165 54122128 +17.7868 55084616 +17.9912 54900216 +18.1956 55112600 +18.3425 55832128 +18.5543 80317512 +18.559 80317512 +18.7246 97230912 +22.0952 80317512 +46.6192 63538616 +46.838 72166488 +47.0868 72166840 +47.2923 72167032 +47.5067 50402640 diff --git a/check_cirq_8054/results/memtotal.743107.dat b/check_cirq_8054/results/memtotal.743107.dat new file mode 100644 index 000000000..a9399c502 --- /dev/null +++ b/check_cirq_8054/results/memtotal.743107.dat @@ -0,0 +1,71 @@ +# time(s) total(B) +0 0 +0.274028 1829216 +0.85666 1831736 +1.20887 3650104 +1.62037 6885544 +1.95504 11949024 +2.37666 15808880 +2.81034 19454232 +3.11697 19797304 +3.50564 21092144 +3.89009 19605104 +4.21061 20099848 +4.53129 24973016 +4.94826 22676624 +5.25464 21229344 +5.48879 34344328 +5.79565 22544168 +6.10185 25778448 +6.40787 24768792 +6.71409 24296000 +6.95899 24743464 +7.38776 26356992 +7.63286 27613680 +7.8777 30548656 +8.25409 26850752 +8.53638 26515824 +8.91253 26874120 +9.38279 29034024 +9.75916 30615904 +10.0412 31967688 +10.512 33501808 +10.8464 35095392 +11.036 35819112 +11.4006 36497632 +11.6924 39555280 +11.9747 39309864 +12.2281 38919960 +12.5292 40089600 +12.8149 40273592 +13.2464 45972856 +13.6468 49127096 +13.8997 46254920 +14.3068 46145848 +14.5857 46147312 +14.8137 46148288 +15.1551 46284696 +15.5345 48212176 +15.7877 49278360 +16.0995 51153016 +16.4791 50680112 +16.6688 50874200 +16.6977 51680568 +16.7128 52508864 +16.8559 53034016 +16.9107 53565672 +17.0143 54121824 +17.0845 55084312 +17.2742 54681088 +17.4637 54932808 +17.6402 55832080 +17.8519 80317480 +17.8566 80317480 +18.0222 97230880 +32.5202 80317480 +57.7942 63538568 +58.012 72166680 +58.2058 72167032 +58.4462 72167296 +58.6358 50521248 +58.8254 9808016 diff --git a/check_cirq_8054/results/memtotal.743990.dat b/check_cirq_8054/results/memtotal.743990.dat new file mode 100644 index 000000000..8651eeb5f --- /dev/null +++ b/check_cirq_8054/results/memtotal.743990.dat @@ -0,0 +1,69 @@ +# time(s) total(B) +0 0 +0.323637 1829216 +0.627409 1830296 +1.0176 1831376 +1.34847 1832168 +1.63833 4506032 +2.05161 8743216 +2.34779 13008424 +2.66035 15706504 +2.95015 17670600 +3.42407 19143208 +3.88359 19792864 +4.41276 20929296 +4.92469 21975456 +5.28553 25116952 +5.75221 34344104 +6.16192 23648688 +6.44582 24049640 +6.93258 24337368 +7.21655 24392344 +7.62215 26014504 +8.02125 28631192 +8.25852 28289824 +8.73276 29854328 +9.09061 26869240 +9.44617 27938304 +9.68321 29380320 +10.039 30871032 +10.2877 31882384 +10.6433 33236744 +10.8804 33750680 +11.3001 35818840 +11.5947 36342872 +12.0751 37221496 +12.6672 40904248 +12.9479 41086848 +13.3633 45513992 +13.6736 46001640 +14.0741 45906352 +14.3985 46431056 +14.8151 46147328 +15.088 46148304 +15.5022 46899016 +15.8266 48215048 +16.3914 51153080 +16.7159 50657864 +17.1478 53034488 +17.7011 54918488 +17.9328 55831856 +20.4962 457806760 +20.5717 457806760 +23.0798 457807824 +23.2197 726378400 +32.4663 457806760 +59.2689 189369608 +60.3042 323859416 +61.427 323859536 +62.5246 323859656 +63.6921 323859776 +64.8145 323859896 +65.9257 323860016 +67.1287 323860136 +68.235 323860256 +69.3707 323860376 +70.5502 323860496 +70.7926 323779112 +71.7807 323592984 +72.0124 33151680 diff --git a/check_cirq_8054/results/memtotal.745873.dat b/check_cirq_8054/results/memtotal.745873.dat new file mode 100644 index 000000000..24699b364 --- /dev/null +++ b/check_cirq_8054/results/memtotal.745873.dat @@ -0,0 +1,71 @@ +# time(s) total(B) +0 0 +0.439876 1829576 +0.712697 1830296 +1.22238 1831736 +1.54455 3046264 +1.83998 5437624 +2.14288 8749640 +2.65572 14939648 +2.91956 17238600 +3.28229 26787080 +3.56868 21758536 +3.95175 21585624 +4.47836 20255552 +4.92972 26125200 +5.45651 21245472 +5.84014 34344104 +6.3251 23060064 +6.6887 24443032 +7.17335 25376776 +7.59716 25365600 +7.83961 30404400 +8.2031 29802528 +8.4461 26947440 +8.89711 27086040 +9.34798 27264352 +9.68634 28727312 +10.1376 30677424 +10.3753 31882384 +10.8261 33476680 +11.31 35442640 +11.6753 36339408 +12.0428 39554944 +12.3813 38748120 +12.7532 40904248 +13.039 41389144 +13.3484 43592408 +13.597 45972584 +13.916 45479248 +14.1464 45691160 +14.4445 46336280 +14.7716 46145720 +15.2193 46147672 +15.7069 46174696 +16.0049 47706928 +16.4271 49642304 +16.8088 50411712 +17.1069 50738320 +17.416 53034152 +17.6448 55084024 +18.0919 55251568 +18.2006 55831600 +20.764 457806440 +20.8395 457806440 +23.3476 457807504 +23.4876 726378080 +39.8738 457806440 +64.4765 189369288 +65.5119 323859176 +66.7094 323859296 +67.9017 323859416 +69.0643 323859536 +70.1761 323859656 +71.277 323859776 +72.3618 323859896 +73.5147 323860016 +74.6539 323860136 +75.8451 323860256 +76.125 323778872 +77.1131 323592664 +77.3419 33886704 diff --git a/check_cirq_8054/results/plot_memory_use.png b/check_cirq_8054/results/plot_memory_use.png new file mode 100644 index 0000000000000000000000000000000000000000..6242d8a29041bedc893692ea4d38bc72cbcfc619 GIT binary patch literal 127783 zcmc$`cQ}`Q|3CglQ5qT=sI-i-$re$F?23%2WUs7j8d?-(BwJ)9D=WLAjEt;ggtD{u z=KDBx-=EL-dmO+2f7fx`*L@}L^L>uj>-l`F=lMiMNp>4GJvE6$+9r4YoEnKlu|Ohi zNZ3S)pD1%vf5-oc*hycpyJ%%-=WyM|fTVcc?v}Zgow>=4!?z7=Y)z~z`8avFIfdB| z8{664vK8UtviP6h;Iy(a;$oI*(8N(T-#V{pOCs&tMf{Jr@u)pY54(8n$t|S}8c~!n=e&c2OjtrM%_DFp>kBAG4 z^GB`vYr@aQH@t2b6ml5Vc|FN$)|@;kv$ksSD=+KZ>^`Y>#$7#IaG8H1gdIi?T#Qq= zUKwzL=_;)?P2kJ9g_>|tcJ1t^MiEXA4XZC&R6w)VwT-P0B=D(;>AF3Hl~d&7inWn3)v_3wv=AJjSy_Kk*hQ0Qk2SVS z3D+`L*UwhsM(HLU9i35!I?o-HZw9b_ew~omA9_r0%){VJd^00N$wCU|c zoh&1d+oB!m=+UD;)Ab)!tcD6&8UD(%C%LYz%!y5u?!Iy*K_V#MVXUSykc~{prf1WZ zeVhelM#nsNJUAv8zbR{Hvb|83gh;NUPkJZ$_u zitJ*%5)=Mup1P7_dGJ@hL)n)v8}X$f{AOQSB3-4NotdIUvc_FiKpiB4HXJXUe&wj|y*SE4#j*)rxO5824Wz2bLb_7qWVE&JH z?je2L%mF(Qc6Rp1US5?Nxgn=a?kUCV*Mtc(n}|A$HtPD5QBb~m6CWRM)+}1`a*yz~ z0*&W$E$z8``dVM@UYTQOQI=TA%r0;k)AgUm{v+!e8v2Htpjf}MvXV9S^UoLWEth3j zm$L*VC_3qM&1`IYEBENSFBo7UKENJD?dYyxiR{4&5+2nboxhrA_gXz!t942%%apEg z%|Xv!DMGBmw)V6v7HFc%Yx3K-Z#z0U)fKt9bT|(s>-chcma|9`n-RO6I%?~F?!#pk z@87=W!K z<>d{yOF?D2fcx>Ksp;}Jm+`Joxuav<-7%y}qe!>7#$;^`wn%SpZ*tbUx;n3D*2;Su zx6q!Mn3&+H=q{Y=xJY8+=2ltg@mHn|SBfW&^5u&(?zC3Ry?gfpo<7~0(VtLzcI}q6 zwd%Wf?`Y2qw&!L{_JvxRma!(hd&h3jQ~pA@NajA}w#o_q%JOoRJclvMO9DnlMqjW( zjeq^JajBk(e2~-Od;#?Rm=&!Y z%j6Gvd8TcblC_!!CMwxddxqw5q2FF|@Hwv>Jb3U~go~5Yi85ct+N@#iY;)BE2M%Pe z%yhDxNz^UOvzhqw<$zv(*#4JGL#f3-iaH;5YMe2ti+*6!{dHT$l8CVIi6>8<2p>A@ zaeAnu(52`bzhTw>jVggq35@uRjqXVSB>F8lfWXU*Vlx4JJ5 zMMcvNyK(xM>8rNq*ZhBm#lKNS*LC8{fvNfVZeM&XEltJG&yU(}IaaT6CX~G>^(j7<@9{Q2Y7n+mXJvY*(k*JgV{-t`Z zjX}&@=Q!Vo>m`&iW64=rS+m8L*SIw-kDU8-{yCQ?Yo@`smnIS$y1TopEqCwS`FiC! zw){KQRut2~)Z$gGh5ks7%&xN~N#VS$sA)9b;5 z2gHIo*_^7^T*>1!c{BMb_Ag({ny~M?L zDp&FHd-ZJ8`IG4Ab?$bdF3;Q-2U$iQb+zZ(2Dar`v3W(WIu<(5yq#>bDh@83@Q)<@ z#OftB%u6o4lsB=lCp0xRDwZB!Al8;F`FZkc9A+%9_hw>J$9PX-4ESH>xZ z(xNbLREcn%tROEw+(?(~%>R+Kl`5#aBg~)<$bnBN^Z% zH;Nd#`xbkwxqoSG)glY(9q~b zBfG2=CiI%sEBZ}b+)1p`2Foj34~m>>=Iv7-rQUOr6&r`Sv)QV6MSY9u==Kl(etwx| zb!eQ`eI6@|_C!e_3)sV^-jlCWyfPa~&WhsBo4XKQT=B-EbNeAN;{b7s)>9dgv0?XI zr7PB!bQ-bvl64EUzTx9DGA8Ni=~}IVov!}+hs>H&nzGx_x9|Gs1(>Bq)9O7R8yDn zO(C6EMa>+SqoNLHbjD+Cs<~WkXlR%c(w^$A8CenmFtrE;fY=}Vj6qO|ECAIYw0bS0 zR{Y|b!fu zD3yf8nt8@aTT6?m5~OUa&WN!U0rQ_xGu3WOBRSQUeAhp3@E`Q38f?j6;n2z~pG&Vs zRV3gXU+C;leP6O2baW<};=H_m-DSQM<29mV#`nePoM&5%ww%tJ0Z;_!qKxthx>oZ> z&OZ%UD>N>Weh{$kfrz`Mi2dJl@k-$eKd2}vZn`7FFQUboPh%rtW0k9)OcM}eHNF)Im$4p_nxsED`?qzf@(7-9SUOd<1w=h)e$VEGdbtI)tC% z8g_8&B7WsXSeQbY&%rFSch{XwO-}-dY~cQDq}NVuYr+0DUB7G>9bMwH%eUr+oR(%S zEQE8`c0M$DxYQGy(A@E78cm=fN|M5V=JMN1b>jXwCfg5v5fKs7PTy}qT>H#Aq&DgA z>Iu4oCp3X#`W{F`ie}nBsCaEP6c~@-QYY2losSfE8~Fa30;i#may>mzcOT@&#m0Q% z8l8aoev;_z;lm;#t*j%cYCT{GKU-RWoRwewk~n(w-p*q(D#h+@=#Eb*hX_DG`rtTm zqv)G$*GDo^L1E!DN^;(wfr0Z$>dBK;N&00z3*weapgo@V@85691nHqLmROv|vZuNe z7`TUwjLdK@D=n?u{!Ui=z|`F2Brn7Hdm=_oN~v`vG!pN&eVG4#mL?r263g^b!uxiP zc#~ju4i2<4UXn#?CQrU1U{+S|{QUgUz-~#QvU_=MO9GMZizn{hy?ZH9Z6j9fNWSU* zY1*Ep5Jsx)2fkCzpe<_qwAqh!98{qw38RcNZ%zqsnOPh=`pTVgimkX)V`WY`6{|vv zd!^e~f<9LI+&O~#fP~hHFPY!{Mtk7E*8Nlyi@jZ4*U&5OBqww1+_|&W?v}^eir|S8 zC$MW9irkjS8TpEdhw2r~XEZsI(@8!)nm=YLC^Q-$t?T0LznbwvTT4eLtYU2@IxQy$ z7&PUM^KLf~DWaO5jPU$Gb-bL5Y;|?DU}-e}oo-N>g-uz+rF(uMMdUq+12LNNjo++C0=A9aA-8^^72%zjLBl{m9dV(tPs_+Rs|E3 z;i3+Pbs~`Y_c~kIYd2NUiacm*4g* zeGs;`v#a8%uB@c~*z>S0%dD9MhGCP^OyyR6O>%Imc8I_H#F|pL$ize$qrSd=$>Piq z9q-Le{HBc`zkTz5aZGmC-o5GxHj=BlsbSf5@f6Y#Ze7F^n+K*a{+V`UH;dA7F|n|r z=2U$Pi)Y}ovu;gn<#YTJ(~%nGD||_71%@|o_Uu2<@vWIZbu6i9_+fuce5&vYFv&BS zz_s6x7)djfGD?CRwlT#{I{;p;8cj$3!b9SCUTi<~QlP#-yzuO!?LUA1q@91YaQT&) z{&lyRCJn8myVl)bdF=l-ihT>fKl<(uO>)D_et9{Ma46*le&Vif@6TfGs|mk=n)ktd zMWi84F$QcO__7{1S$t)>;YMNlvC{hr_m+2!e`T;5UtJn&$ak;;(or8?=*+c!bf1bw z?X}cKW~DIW0QEv=dx9i`gI?cI&KLtZ7=)cL_WM*ZU2A8#%j zloNtPqtI!j==?@)D_H!SL^6!;t5nYQs;sYnU+xs3fscs*MiM+u+-*@MR(=nsZb3P~ z)#mNn`|vD^QzZuq#}9|;yFWW1?B~6YOD)4t5y(eLN9O=Qt4{vyXKWfN`?KWPs^(@S zn{%x6-l`|dySf(q_;NyAJOUVkG!AaJ=VT`&3Vj2EFIYW4GmL2DUwY~pGeLXivDnsSxS2;O?*n`*5p$jG}*)mO= zyg&|a5C8mB`eb+F)%Y^FFpr!e)OZ(!i zQuFgg&qOFDja}9V{u5;-xr2cr)Qs=z=ZO2_YX!5lY(R&9pE3yg;E7q!{Jnhi*fFQR zU?b9%^cxR;oXTcryU?GIx>9A~J^@Ng-tY4J^TyTHC95+dW8&97lCV2&W>y#O&p%U} zCaq|Bm2BEXU0t2IH=l8G$&J5RsvMv%wD@Z0O+CFNJwW`PI~+;+tlWitD+|_C4B7kSgS@0l*0o1^yx^M^${Dj z#<|=NMB$L(pSSI+s%Um!Oh1SUY%AtFGt^9Bnsdm-Wyv)tQ7EO*$*mSTTJ@9NER*aP zEU)@Zn*fAYItadqE?D#N@!3kp>*+MrM|KNKF5|um^^r;Cd&|7nfGp0*$nf4CzCuWX ztyyLZU_3(he`#^QfB}VDB@Psh6)kP&;^OLXol+$9r`^h8lC=@1v4sS@qSJ1VX#GWx zlQKG9d2EH`3Y5?d{-*V;$bIEkSa>*@kn4O}%QOz*laP==9t8M%NJvcAGzY*19#*#4v~G{^ymH1VUeigoK!_ zE;1G_n5bUT3jAW*==;Wfu%0R7(=ytG0_E**G%F5!syy_FyD>f3VB4;@=C;B9&GJ1P zYwJ40J@WvL)$R^7jN(;rwnd-`11>@whJ_k-r z-*I_3O}2vDqnTqFUME6AmlwG`eBQ?9{q5@E#zg;?(2U#@f0uN^wo)wf=zs0eyl-VZ zKmPlU$i>ph-fxQa4r3k38$SuJczlynO)Y%Ba=O{0V+_bLve#*a{7R9lFt8)9CL;sG zHz-mxJED~cLx>-{X1r_8QvMxV-^QQ{~dO_aU4 z`4z?}Da78!e(phW178S(SgWR{wuzcLS~W&yZbt0fg5a&LGv?;zkG;M1OCRqfoihK) zU8Z_(<`_e&c8(7)oXLIrUjuQNRTE^&6 z6>#EWCZkqt6BVN?DS`jw*@s)}$QRMui;23($4OXJ;uJP1?7b(K(E^%Rzm#IXGAhk+hX$iG9y;iDL}UJv}?S zuPT@iMbtRU6`Xr{rddyHdA#K2&6{2Q{bdl=^}3d)q9dixcv$eoOFf`A?=1S&v$O~# z$PKOVOgKGfe9NB0E~KLI@mo>j6r*&1f2JQ35D<9t=FP47@$2osei1aZPGB)g&%-u> zdu77A+l_O(p2teo-Y(yRqAv-p;LMW4NbBYNmPz!qbk_x&5tj_7DMO35Uzrs{dKR6y z}&l60b;y#q~|ws_+XgU}~oLQ%#Kzs`Go32Ii5%)_eyph<7-Jy|S{h zI6%Odtu2-`<*;_zwYx2nyVuYrKwvB1X=Vsn|M8s7JL&ZqB_-KSS?u&_6YQcQUk*?1 zvpbn;e*93c7)<^r^DK1Tr?F}8g#4ALo*Yt_heE~%jYJ-DaR3$+D=MQ}bWBX3Lx+|^(p#S?dCU-9V6__W1A+5p0C%@zq)vbMLs41EyHx+y7W5^Rd~ z&aVCYjo+_9Al!3?PTci_oR+h59xoaihZSTcLMBYl%)CT009B|=yIw+j#%Xn-UvYMB zVnUT<0F^s8V(foJLOI;3IUDwT-78mKsms`QxG!16G&c~3c>i9F#B})Z8K;-Mcv-EEWn@3(X5+}yZbbxlCJ~sH z&~9uvnhDh)GZnNRK1qziEAAtDWg4{7nt67KHvm|tBL-@>sT33x1b}dc4hJ>QDRAXX z4mDI2ratVA;4|`xZWzoQOZx3n_fC_K39GJ|7t)YvB-t6w^c&JCZT&&Nvu1&}1m!xj z%!2BSTu_k>r=Ixu{K&??1mtRKmvjy^e{CPo^Ed;%ZJOe%q3iU;{E(n!yNXt(@#|iF zBcph?j+wEUT-$zX9RcYRtyvnXv`oj2o!v}L&AZT<*f2<_uda)O@wvKY(@WKn5_-e} znbj2*5;8W)&d#nx88XRU&UI791seuD3JMA$E_LexAr)2H?zufG?~;@E06)Z-dE;*H zI&?@kp;>*?3q{k(3&L)Ze{wqA+l*Ilm6QSD!ToBQ1@e3-@OLWDeh6jjb6wpF_zt{~ zjdYy{nTX~D=~!LLh^dmTB+h&9-o0WojTeP2%`7acLC*Lv+RB)R@aR&Lh8{si zrp8NX;G-O*l|BOM4+=U3h2yQZ;xs^TSv;oipYjk3A@&?o) z0;+uH%M+U{Kj!)9QA3gj7mTv<^71H~-pZ#y(<@7JX103$J?H|4FcY=5*(fM%?XQg# zTe8LrYQHpVotme9kr5z@13m7+Shn@4zA%hsBDRP z#o}1Z(Da?B2R=c5%1R`kQcF_jfJj(=fveCH*ck{FWcmT@I$IbAQdw&7Cvsk$b`bz1 z`P$kV0#aeKy6j|etwzA2bsRT?uy(M-rF$y_2@4Pk(J8BrFaRMNKrM1|a%xxeBc43r zHyrtCnLeYUHa1?$P;Aq6{JpVgZPf+pjb~(}UdjS|*BvTUVo(|PLptFX-LH1;+y>m3 zI6&HASPWNcBp<&&r%DT0o9j4n6sPf0lGTGHWFp5Ju}odbd1$+%IN7Z^EU(tn38&r-(RPWuUXy?tHsh=xJ& zbu-j9a|;VpoW5TUo&5BQ3wXu~5n^;I9_Kcx>f&sDfENxx$c7RGNKqFv>aJ$R!oPr02fCghk)o_31vrRiT)5jgBh8 z9H2X8yaR+DqI%vN?-QfxSbN4({{77`V6c7jWSMq-{u#)o0e$Ky^yN&GhKKMHK9o1~ zZ9d}Zm{#%8h3SmMd1cGJ>{qVQdd9zbGY+}uJ@h>2^D;Izyufl_nwx`A6FepFQ<|*I z&175tsvK^~AodsJ@k74Kp*wO1hMwmmXoYr|xF3Ys(yn;e$TU$P1 zh5!4@KjJW+U!%o=yY&_wyl6T(=3iQRuD+q+Lf-!WeEi6$|MaxouHC!GhInF`*Tn0Z zyBI}pzw^BCKL>F)ZcM0ilQ0ZUuIMcGkYIG1-iaPtg1r!~^hhb5&CVT8;M0Smdl?xS zvAFPu>+K(`+Y6jB=BcqH|9wyUStL*b{5a2D2U2jM`#AbR^Ln#z0IekHKyOK&Fsj&+?^{O|RO?Uz5gojrqp;r|uC^v%q)2MSQ2%Alwb z$}B)S5gj;i+BpF5cpPdaxBK$^4ffps-ZyKjfR>Qu{FauM7a<{9T_MYm(7Fc)pFnuz z;o*T1c=^HwRAs1B41$)oKv>?Q$_-4){qLDvdBa@1;hkP_1au0Nt*7L!ByDYN=ebcu zLqlc{NN<}1RsI{8DUYNQFPCtg=OzK8oeE9SW2B>V>a0Be-}^)Rm4dOSthAKWH8^M@ zaJ6_9X3bo(!havqx$9Q~?a1U?QQk-iDzERgOv864zXeCzwKu3i>@hagm)hFY9Za;u zCme5`@KQ@?@kc%Qu*bf2cB%I+&A(93xk10+U^!?zIaZy_km%odBiuj_5DVoVo>vJ} zqc`6AKX5KkS4htT0&WVN=Hb~%l9eqZz9`{|aML)El976B4j@)qTKe42Ppw{hr_`q1 zXal8Rz96UZI48#;aqBeW{Nc{FHikQ>yCI6rsX&IgRtCG)PfrB~@e4n{d$F-h*hd5g zyK+TryyX1mBl34~FR>VNoo7x$EyV%%n1sx@5a%DtZ$=3xhpH-Ws2OyAx+qYNxVe8M zV;QLuQAiQF3A$zCx#K9rjR&_OMGWr3MREp8u2OhtXW|B3xpD=<-zQY2r}YrdG&2mh zy?ptSpcqV-q>daC%W$Y>Wq=J{wp!~zsxq!K z*5=xGD(3P?=viR({V0&9w8nn_{)8e#WPrZx(>o4ab|F;A`Y4pr{>1o*lYtJ#o~*ux zVIJYiUrC14EaFI><^H#mO$_&DtGG^5%>*qnA;%F>&ze{5?BP5XV_iE`0_YW{jj z$@uMA&bzzTm&qno=YfFwpG8pz>XlyyHPE`igJ|3S<-5`49fBOuw<;!k=Zdax5YV{q zxOx1+j%e4)%E~`zNhHLfltYHM9FdQ`r;~&YAHWvBBf3#Djg*%?+t)YD{o(gFMQ_$T z_Dz2>81;{TM0#!FBaz!ef`+iH>{PvOqALKl$UNPDJ=6X7=Lh)jIE7%fqrE5Pur?&) z8?1pZ{W!f?Wr^||a57%GB%@Z!kokGnHt)tWk@Bhq?ym*hGgj6Qj&*R9N}cH{>4+yc zu!;v+QH1z+k63{#asIFGJgAW(CsK0JVFPVBTu_YSf&ZAU1}s?utRlJuLjUal`Xb>R z^>2s7k6);`F;?utv>v>xBtzH%;tQ%W)8{sA_ivB?uvE`H*bysV9paFD%jfQI$!o#a zGo1(CzRp!jWx@6fkOj@VG5j+fnUL#7MzSE;ulUXOf;Ka^9TKs73@}yy_A(ndFKjcS zQSH-neQ_a(Gq`#U;D&(W^NWi&jEo)uzX2{ApFteDHQoFC}a?NE2AXu zQ=cloqU1Iy`*iA~FGpm9*ZgOiRCo-l-oK})EP*|}cDjyg zJ}|mV-9Bc-kI!!+vY+cN+Q;Lg!fy1;iuWY%Hx|b$2iZNbfixw5>lQaER2(8?c4Hmk z$Vl+HFFVRSqc?cJBFpGj3T{psXiVG z^74OxXug(|+%H~T^v2yG!b1KdEQ%qeXK7BCg03ZKq#gpbVTE=~NcpgoAw@U2GA^O7 zy}@&ZB^?a7F$q7+8Ui#S(&8|R*|k+wZ(w$>>$ebRu{XYhroepoiWB+b$8>?(Zd6%p zVgsKMVU#jMX$~G3FvjJ7!L5eEO{l~WV0P@F`R0>6*X9z3>{Of8z6C$d_jm+1o(Bgf9*}U? z5q4kxfL7#G>nrF{6n#bOB=t=Rc8;c*SUEep%zLd?iqJn2ZID&q7=b7xkBi-NMl;Ja zu+E)`-=yf|-pJ(SUse~Az&3jjbhbbzcG#Db8WVia#TUfQ^2FYBGj4wo^yWJc&6gDqY;^2ZM&1A`MtII5Ejx<1}z?l-Cdg!vZ(>0@wZCE{3u z9gb&Rl(&8>H2Ai6qY74Y%yAYLhTb5=UxwRqYK^a6yB4(`tCAU-aRS-Dl6!k3L~a!b z-zzjUbP|A>zPB?$_1H!gEPKCHTiOQ~pPOBlE4`}*oXBdQH|zcSYn$md_b;dPWHdJE zk7}eC<~;NAJ!-7_ym4U5kx~j~rj3>zml);b;s)vHS_U_7jvJK8$lYIFb*VX0eA|;J zElzLVyy|=L@@2StzfxTdOR@OUFkcMWUyxGAxnB-sub^$zWlKs*645B*aL`a(a2!?$ zTt~RT*!3iA@#>xrXdh)rs<^D8{Shw3Q#w9{>@oQFkdXU8vfjbM*r9<{RgYAXHA9p z`5P$dz3(bND&R5jM;Q}T12{$}YrE+e;f>vLaA=O8+PD!m<`z!9qAKj7b8u~+PI`ca zk$z@dXy5fYR=JNzI>*W@NNtt$zW3plY&i4Sd?|NP@b70XS*J4EG}2NI6LmxEj`-px zovTe{-drJZV{Jj^;r9+ zKZL$x6m#Sz!TZgT>sqvz(`j!v=yh7BY%-3aoq*G|aIaBFJhSY9Q?Sd$}?`t^6oBckPFjSIBM z#y8ZZ>&t>owiJ7KM3g;y{Frp@dz2)z3A7f(1V7$%13Q8+cnvDuGBN|we;KVTEEJ*2 zD*RYlTqN()+vgUNJF&a;{#lu3qBABby*qkRoVuS~kA8G>ceq=}QwA!N+bxnsSr7OJ zH3vz@V_8&7(kWFZRNslDd!>(*y;P|{f;@mpxVF!)c-pV4yIcQuAuU z+uKQ50!uJix|KMqw?d~@jFk^0Ij+n!w?G$1#bRP*-Go%w^2!RD%0ApDZhA632^AgP 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 F{{vWr$SnW> literal 0 HcmV?d00001 diff --git a/check_cirq_8054/results/plot_memory_use.py b/check_cirq_8054/results/plot_memory_use.py new file mode 100644 index 000000000..b61f9de24 --- /dev/null +++ b/check_cirq_8054/results/plot_memory_use.py @@ -0,0 +1,41 @@ +import itertools + +import numpy as np +import matplotlib.pyplot as plt + +memuse_files_q20 = [ + # baseline qsim and cirq + "memtotal.733604.dat", + "memtotal.736557.dat", + # qsim and cirq with cirq-PR #8054 + "memtotal.742794.dat", + "memtotal.743107.dat", +] + +memuse_files_q24 = [ + # baseline qsim and cirq + "memtotal.737548.dat", + "memtotal.738662.dat", + # qsim and cirq with cirq-PR #8054 + "memtotal.743990.dat", + "memtotal.745873.dat", +] + +t_mem_q20 = [col for f in memuse_files_q20 for col in np.loadtxt(f, unpack=True)] +t_mem_q24 = [col for f in memuse_files_q24 for col in np.loadtxt(f, unpack=True)] + +fig, ax = plt.subplots(nrows=2) +lines_q20 = ax[0].plot(*t_mem_q20) +lines_q24 = ax[1].plot(*t_mem_q24) +# blue dashed line with dot markers for baseline cirq +plt.setp(lines_q20[0:2] + lines_q24[0:2], marker=".", linestyle=":", color="blue") +# green solid line with x markers for runs with cirq-PR #8054 +plt.setp(lines_q20[2:] + lines_q24[2:], marker="x", markersize=7, color="green") +# hide repeated runs +plt.setp(lines_q20[1::2] + lines_q24[1::2], visible=False) +plt.setp(ax, xlim=(0, 80), ylabel="total memory use (B)") +ax[0].legend(lines_q20[0::2], ["baseline qsim", "qsim with cirq #8054"]) +ax[0].set_title("qsim_simulation.py, 20 qubits") +ax[1].set_title("qsim_simulation.py, 24 qubits") +ax[1].set_xlabel("process time (s)") +plt.show() From 0840f459e29d4b3fa2bf2ab7fcc952ce5bfe4519 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 28 May 2026 00:47:49 -0700 Subject: [PATCH 4/5] Appease the formatter --- check_cirq_8054/oom_qsim_simulation.py | 5 ++--- check_cirq_8054/qsim_simulation.py | 2 +- check_cirq_8054/results/plot_memory_use.py | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/check_cirq_8054/oom_qsim_simulation.py b/check_cirq_8054/oom_qsim_simulation.py index ab37f684e..d92d52634 100644 --- a/check_cirq_8054/oom_qsim_simulation.py +++ b/check_cirq_8054/oom_qsim_simulation.py @@ -1,14 +1,13 @@ #!/usr/bin/env python3 -"""Script to check for maximum number of qubits where QSimSimulator segfaults. -""" +"""Script to check for maximum number of qubits where QSimSimulator segfaults.""" import gc import sys +import cirq.testing import numpy as np -import cirq.testing import qsimcirq assert __name__ == "__main__" diff --git a/check_cirq_8054/qsim_simulation.py b/check_cirq_8054/qsim_simulation.py index e1b7cc987..3c620f090 100644 --- a/check_cirq_8054/qsim_simulation.py +++ b/check_cirq_8054/qsim_simulation.py @@ -1,8 +1,8 @@ import gc +import cirq.testing import numpy as np -import cirq.testing import qsimcirq nqubits = 20 diff --git a/check_cirq_8054/results/plot_memory_use.py b/check_cirq_8054/results/plot_memory_use.py index b61f9de24..bef7894d1 100644 --- a/check_cirq_8054/results/plot_memory_use.py +++ b/check_cirq_8054/results/plot_memory_use.py @@ -1,7 +1,7 @@ import itertools -import numpy as np import matplotlib.pyplot as plt +import numpy as np memuse_files_q20 = [ # baseline qsim and cirq From b1b4a4e612182b34f33c1e0a6bca2a41f1e1bf35 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Thu, 28 May 2026 10:08:45 -0700 Subject: [PATCH 5/5] Clean up unused imports --- check_cirq_8054/oom_qsim_simulation.py | 1 - check_cirq_8054/results/plot_memory_use.py | 2 -- 2 files changed, 3 deletions(-) diff --git a/check_cirq_8054/oom_qsim_simulation.py b/check_cirq_8054/oom_qsim_simulation.py index d92d52634..87b4aa12a 100644 --- a/check_cirq_8054/oom_qsim_simulation.py +++ b/check_cirq_8054/oom_qsim_simulation.py @@ -6,7 +6,6 @@ import sys import cirq.testing -import numpy as np import qsimcirq diff --git a/check_cirq_8054/results/plot_memory_use.py b/check_cirq_8054/results/plot_memory_use.py index bef7894d1..8ea0d951c 100644 --- a/check_cirq_8054/results/plot_memory_use.py +++ b/check_cirq_8054/results/plot_memory_use.py @@ -1,5 +1,3 @@ -import itertools - import matplotlib.pyplot as plt import numpy as np