From f8f066066522bef09785a4064ec1d8ef331d7b81 Mon Sep 17 00:00:00 2001 From: jordandsullivan Date: Mon, 16 Dec 2024 14:07:12 -0800 Subject: [PATCH] 123 save compiler versions with data (#134) * Fix date label in load_data notebook * Create script to generate new benchmarks plot * Delete load_benchmark notebook, no longer needed. * Add generate new plot to benchmarks action * Remove possibly duplication execution of shell script * Complete merge using new naming convention for results * Correct filepath * Add version info for compilers in header of save_results * Temporary importable versioning for UCC * Updated example results file * Remove seaborn requirement * Get abolute filepath * Commit all contents of benchmark including .png * Increase parallelism * Point to 8 core Runner * Fix filepath concatonation * Checkout correct branch of the repo * Update benchmark results * Remove unnecessary print statement * Push results to same branch * Update to 16 core and 16 parallelism CL arg * Update benchmark results * Reducing paralellism to 8 since 16 did not significantly speed up. * Try to pull the correct branch * Add small test shell script * Test on smaller benchmarks for debugging * Move test script to scripts directory * Update benchmark results * Update benchmark results * Return to full benchmarks * Update benchmark results * Add print statements for debugging * Return to small test * Update benchmark results * Test adding .png explicitly * Debugging why .png is not being committed * Add manual commit for .png * Try force adding .png and removing existing cached versions * Try git add --all * Update benchmark results * Add debugging for git ignore * Remove gitmodules check * Fix yml issues from merge * Update benchmark results * Touch new png to acknowleddge as new plot. * Update benchmark results * Rotate xlabels * Update benchmark results * Try mounting entire GH workspace in the docker volume * Remove accidental comment within docker command * Fix syntax error * Simplifying to use built in GH Actions API * Remove syntax error comment * Refactor GitHub Actions workflow to improve benchmark result handling and ensure proper branch context for commits * Syntax error * Add git config to Action * Update benchmark results * Add individual plot scripts for circuits and split into latest and avg over time * Add new plotting scripts to GH Action workflow * Delete inaccurate data and add new plots * Update benchmark results * Delete test data * Return to full benchmark shell script. * Update benchmark results * Complete merge * Store the hour in the filename to differentiate runs on the same day but keep the number of files lower (when running benchmarks in parallel) * Generalize small_test shell script --------- Co-authored-by: GitHub Actions --- .github/workflows/ucc-benchmarks.yml | 41 +- Dockerfile | 5 - .../avg_compiler_benchmarks_over_time.png | Bin 0 -> 105090 bytes .../latest_compiler_benchmarks_by_circuit.png | Bin 0 -> 52890 bytes benchmarks/load_ucc_benchmarks.ipynb | 381 ------------------ benchmarks/results/gates_2024-12-10.csv | 1 + benchmarks/results/gates_2024-12-11.csv | 68 ---- benchmarks/results/gates_2024-12-12.csv | 6 - benchmarks/results/gates_2024-12-13.csv | 25 -- benchmarks/results/gates_2024-12-16.csv | 72 ++-- .../results/results_2024-12-04_14-48-34.csv | 25 -- .../results/results_2024-12-09_11-32-45.csv | 25 -- benchmarks/scripts/common.py | 57 ++- .../scripts/plot_avg_benchmarks_over_time.py | 87 ++++ benchmarks/scripts/plot_latest_benchmarks.py | 105 +++++ benchmarks/scripts/small_test.sh | 12 + ucc/__init__.py | 2 + 17 files changed, 300 insertions(+), 612 deletions(-) create mode 100644 benchmarks/avg_compiler_benchmarks_over_time.png create mode 100644 benchmarks/latest_compiler_benchmarks_by_circuit.png delete mode 100644 benchmarks/load_ucc_benchmarks.ipynb delete mode 100644 benchmarks/results/gates_2024-12-11.csv delete mode 100644 benchmarks/results/gates_2024-12-12.csv delete mode 100644 benchmarks/results/gates_2024-12-13.csv delete mode 100644 benchmarks/results/results_2024-12-04_14-48-34.csv delete mode 100644 benchmarks/results/results_2024-12-09_11-32-45.csv create mode 100644 benchmarks/scripts/plot_avg_benchmarks_over_time.py create mode 100644 benchmarks/scripts/plot_latest_benchmarks.py create mode 100755 benchmarks/scripts/small_test.sh diff --git a/.github/workflows/ucc-benchmarks.yml b/.github/workflows/ucc-benchmarks.yml index c172e181..492b03c7 100644 --- a/.github/workflows/ucc-benchmarks.yml +++ b/.github/workflows/ucc-benchmarks.yml @@ -14,14 +14,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: 0 # Ensure the full history is fetched for branch operations - - # Checkout the correct branch - - name: Checkout the branch - run: | - BRANCH_NAME="${{ github.head_ref || github.ref_name }}" - echo "Checking out branch: $BRANCH_NAME" - git checkout $BRANCH_NAME + fetch-depth: 0 # Ensure the full history is fetched # Build the Docker image - name: Build Docker image @@ -31,16 +24,26 @@ jobs: - name: Run benchmarks run: | docker run --rm \ - -v ${{ github.workspace }}/benchmarks/results:/ucc/benchmarks/results \ - ucc-benchmark bash -c "source /venv/bin/activate && ./benchmarks/scripts/run_benchmarks.sh 8" + -v "/home/runner/work/ucc/ucc:/ucc" \ + ucc-benchmark bash -c " + source /venv/bin/activate && \ + ./benchmarks/scripts/run_benchmarks.sh 8 && \ + python ./benchmarks/scripts/plot_avg_benchmarks_over_time.py && \ + python ./benchmarks/scripts/plot_latest_benchmarks.py + " + + # Commit and push benchmark results + - name: Configure Git for commit + run: | + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Actions" - - # Commit and push benchmark results using a dedicated action - name: Commit and push results - uses: EndBug/add-and-commit@v9 - with: - author_name: GitHub Actions - author_email: actions@github.com - message: "Update benchmark results" - add: "." - push: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git switch ${{ github.head_ref || github.ref_name }} + git add benchmarks/* + git status + git commit -m "Update benchmark results" || echo "No changes to commit" + git push origin HEAD:${{ github.head_ref || github.ref_name }} diff --git a/Dockerfile b/Dockerfile index a7c7e96a..662523ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,8 +16,3 @@ RUN python3 -m venv /venv RUN /venv/bin/pip install --no-cache-dir -r /ucc/requirements.txt RUN /venv/bin/pip install -e . && /venv/bin/pip show ucc -# Make sure the shell script is executable -RUN chmod +x /ucc/benchmarks/scripts/run_benchmarks.sh - -# Set the default command to run your benchmark script with the virtual environment activated -CMD ["/bin/bash", "-c", "source /venv/bin/activate && cd /ucc/benchmarks/scripts && ./run_benchmarks.sh"] diff --git a/benchmarks/avg_compiler_benchmarks_over_time.png b/benchmarks/avg_compiler_benchmarks_over_time.png new file mode 100644 index 0000000000000000000000000000000000000000..3c91408fb851ee053f519c3e644dbbab150e5e66 GIT binary patch literal 105090 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

`eE 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 hPB|FfUAC2NK{$BKBYe&|v literal 0 HcmV?d00001 diff --git a/benchmarks/latest_compiler_benchmarks_by_circuit.png b/benchmarks/latest_compiler_benchmarks_by_circuit.png new file mode 100644 index 0000000000000000000000000000000000000000..a9df55bfe297ec7d0b15c4f9414dcfbaf4ba4c32 GIT binary patch literal 52890 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 literal 0 HcmV?d00001 diff --git a/benchmarks/load_ucc_benchmarks.ipynb b/benchmarks/load_ucc_benchmarks.ipynb deleted file mode 100644 index 1c0f248a..00000000 --- a/benchmarks/load_ucc_benchmarks.ipynb +++ /dev/null @@ -1,381 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# UCC benchmarks\n", - "In this notebook, we load benchmark data comparing the performance of Unitary Fund's UCC compiler against qiskit, PyTKET and Cirq across a range of benchmarks for circuits of (100 qubits) each unless otherwise marked: \n", - "\n", - "- Quantum Approximate Optimization Algorithm (QAOA)\n", - "- Quantum volume (QV) calculation\n", - "- Quantum Fourier transform (QFT)\n", - "- Square Heisenberg model Trotterized Hamiltonian simulation\n", - "- Quantum computational neural network (QCNN)\n", - "- PREPARE & SELECT on a 25 qubit GHZ state" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load in existing data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# %pip install seaborn" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "./results/gates_2024-11-14_12-22-50.csv\n", - "./results/gates_2024-11-14_10-37-34.csv\n", - "./results/gates_2024-11-15_09-49-13.csv\n", - "./results/gates_2024-11-18_14-10-12.csv\n", - "./results/gates_2024-10-01_20-15-41.csv\n", - "./results/gates_2024-10-10_13-40-14.csv\n" - ] - } - ], - "source": [ - "import glob\n", - "import pandas as pd\n", - "\n", - "# Use glob to find all CSV files in the current directory\n", - "csv_files = glob.glob(\"./results/gates*.csv\")\n", - "\n", - "# List to hold DataFrames\n", - "dataframes = []\n", - "\n", - "# Loop through each CSV file and read it into a DataFrame\n", - "for file in csv_files:\n", - " print(file)\n", - " # Note, this will combine results from the same date\n", - " date_label = str(file).split('_')[1]\n", - " df = pd.read_csv(file) # Load the CSV file into a DataFrame\n", - " df['date'] = date_label\n", - " df['reduction_factor'] = df['raw_multiq_gates'] / df['compiled_multiq_gates'] \n", - " df['gate_reduction_per_s'] = df['reduction_factor'] / df['compile_time']\n", - " df['compiled_ratio'] = df['compiled_multiq_gates'] / df['raw_multiq_gates']\n", - " \n", - " \n", - " dataframes.append(df) # Append the DataFrame to the list\n", - "\n", - "# Concatenate all DataFrames into a single DataFrame\n", - "df_dates = pd.concat(dataframes, ignore_index=True)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
compilerdatecompiled_ratio
0cirq2024-10-010.783267
5pytket2024-10-010.930464
10qiskit2024-10-010.759915
15ucc2024-10-010.783233
1cirq2024-10-100.783267
6pytket2024-10-100.930464
11qiskit2024-10-100.759915
16ucc2024-10-100.783233
2cirq2024-11-140.783267
17ucc2024-11-140.782404
7pytket2024-11-140.930464
12qiskit2024-11-140.759915
3cirq2024-11-150.783267
8pytket2024-11-150.930464
18ucc2024-11-150.751454
13qiskit2024-11-150.759915
9pytket2024-11-180.930464
4cirq2024-11-180.783267
14qiskit2024-11-180.759915
19ucc2024-11-180.751454
\n", - "
" - ], - "text/plain": [ - " compiler date compiled_ratio\n", - "0 cirq 2024-10-01 0.783267\n", - "5 pytket 2024-10-01 0.930464\n", - "10 qiskit 2024-10-01 0.759915\n", - "15 ucc 2024-10-01 0.783233\n", - "1 cirq 2024-10-10 0.783267\n", - "6 pytket 2024-10-10 0.930464\n", - "11 qiskit 2024-10-10 0.759915\n", - "16 ucc 2024-10-10 0.783233\n", - "2 cirq 2024-11-14 0.783267\n", - "17 ucc 2024-11-14 0.782404\n", - "7 pytket 2024-11-14 0.930464\n", - "12 qiskit 2024-11-14 0.759915\n", - "3 cirq 2024-11-15 0.783267\n", - "8 pytket 2024-11-15 0.930464\n", - "18 ucc 2024-11-15 0.751454\n", - "13 qiskit 2024-11-15 0.759915\n", - "9 pytket 2024-11-18 0.930464\n", - "4 cirq 2024-11-18 0.783267\n", - "14 qiskit 2024-11-18 0.759915\n", - "19 ucc 2024-11-18 0.751454" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Assuming avg_compiled_ratio and avg_compile_time are generated like this:\n", - "avg_compiled_ratio = df_dates.groupby([\"compiler\", \"date\"])[\"compiled_ratio\"].mean().reset_index().sort_values(\"date\")\n", - "avg_compile_time = df_dates.groupby([\"compiler\", \"date\"])[\"compile_time\"].mean().reset_index().sort_values(\"date\")\n", - "\n", - "\n", - "avg_compiled_ratio\n", - "# avg_compile_time" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAQYCAYAAADrvGm5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAABcSAAAXEgFnn9JSAAEAAElEQVR4nOzdd1xV9f8H8Nfhyt4gCgqCojhIxT2QmeJWHGmaJamV/vRbrtLMgaXi14EjW5pK5R65RcUBGkPFRZqSCxBXiiIbBM7vD7rny/Ve4AJX4err+XjwSD77nnuPed73MwRRFEUQEREREREREWkxnaoeABERERERERFRZTHAQURERERERERajwEOIiIiIiIiItJ6DHAQERERERERkdZjgIOIiIiIiIiItB4DHERERERERESk9RjgICIiIiIiIiKtxwAHEREREREREWk9BjiIiIiIiIiISOsxwEFEREREREREWo8BDiIiIiIiIiLSegxwEBEREREREZHWY4CDiIiIiIiIiLQeAxxEREREREREpPUY4CAiIqJqJSEhAYIgQBAEJCQkqJ33Knh7e0MQBAQGBr7yvl8V+fUNDw+v6qGQGkJCQiAIApycnKp6KEREVY4BDiKi18TTp09haGgoPZxcv369qodEavjnn3+wcOFCdOvWDfb29jA0NISxsTGcnJzg7++P1atXIzU1taqHSRogD468+GNsbAxnZ2e8++67OHz48Evrf/ny5QgMDMTFixdfWh9UPvLgREV/iIhIUY2qHgAREWnGxo0bkZOTI/2+bt06BAUFVeGIqDSiKCIoKAjz589HVlaWlG5iYgJBEJCYmIjExETs2bMHX3zxBYKDgzFq1KgqHPGro6uri8aNG0t/ft3o6urCyspK+j0lJQW3bt3CrVu3sHXrVowZMwarV6/W+APs8uXLkZiYCCcnJ7i5uZVYTn7tjYyMNNo/KTM0NETt2rVV5j169AiFhYUwMDCAubl5iW2Ym5ujcePGqFu37ssaJhGR1uAMDiKi18TatWsBAP/5z38AAL/88gsKCgqqckhUAlEU8f777+Orr75CVlYWOnTogJ07d+Lp06dIT09HWloanj17hl27dqFv37549uwZ9u7dW9XDfmXq1q2La9eu4dq1a6/lQ1vnzp3x4MED6ScnJwexsbHw8PAAAPz8889Yt25dlY1Pfu3bt29fZWN4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6OnpYcKECQCA8ePHS3tuAEBwcDDi4uLg5eWFNm3aSOmrVq1CkyZN8OWXXyq1d/HiReTn5yukXb16FYMGDYIoivj222+V6ixbtgzz58+Hra0tjh49Ki2bKc3y5ctx584dhTRRFPHTTz9h2bJlEAQB48aNK7MdIiIiIiIiIlKklUtUgKLZE0ePHkVUVBQaNWoEDw8PJCYm4vTp07CxscG6desUyj9+/Bjx8fEq97iYOHEi/vrrL7Rs2RI2Nja4c+cOoqOjIQgCfvrpJ/j4+CiUv3jxorT5aP369TF//nyVYxwzZgy6dOki/b58+XJMnToVrVu3Rv369ZGTk4M///wTt2/fho6ODlauXKkQlCEiIiIiIiIi9WhtgMPAwAAnTpxAUFAQNm3ahN27d8PKygoBAQH45ptvYG9vr3ZbI0aMwIYNG3Dp0iWkpqbCxsYGQ4cOxeeffw43Nzel8qmpqRBFEQAQHR2N6Ohole16e3srBDimTJmCI0eO4MqVK/jrr7/w/Plz2NnZYcSIEfj000/Rrl278l0EIiIiIiIiIgIACKL8SZ1eG/ITX65cuVLFIyEiIiIiIqI3QXV4DtXKPTiIiIiIiIiIiIpjgIOIiIiIiIiItB4DHERERERERESk9RjgICIiIiIiIiKtxwAHEREREREREWk9BjiIiIiIiIiISOsxwEFEREREREREWo8BDiIiIiIiIiLSegxwEBEREREREZHWY4CDiIiIiIiIiLQeAxxEREREREREpPUY4CAiIiIiIiIirccABxERERERERFpPQY4iIiIiIiIiEjrMcBBRERERERERFqPAQ4iIiIiIiIi0noMcBARERERERGR1mOAg4iIiIiIiIi0HgMcRERERERERKT1GOAgIiIiIiIiIq3HAAcRERERERERaT0GOIiIiIiIiIhI6zHAQURERERERERajwEOIiIiIiIiItJ6DHAQERERERERkdZjgIOIiIiIiIiItB4DHERERERERESk9RjgICIiIiIiIiKtxwAHEREREREREWk9BjiIiIiIiIiISOsxwEFEREREREREWo8BDiIiIiIiIiLSegxwEBEREREREZHWY4CDiIiIiIiIiLQeAxxEREREREREpPUY4CAiIiIiIiIirccABxERERERERFpPa0OcGRnZ2P27NlwcXGBgYEB6tSpg1GjRuHu3bvlbismJgb9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8ByqtTM4iIiIiIiIiIjkGOAgIiIiIiIiIq3HAAcRERERERERaT0GOIiIiIiIiIhI6zHAQURERERERERajwEOIiIiIiIiItJ6DHAQERERERERkdZjgIOIiIiIiIiItB4DHERERERERESk9RjgICIiIiIiIiKtxwAHEREREREREWk9BjiIiIiIiIiISOsxwEFEREREREREWo8BDiIiIiIiIiLSegxwEBEREREREZHWY4CDiIiIiIiIiLQeAxxEREREREREpPUY4CAiIiIiIiIirccABxERERERERFpPQY4iIiIiIiIiEjrMcBBRERERERERFqPAQ4iIiIiIiIi0noMcBARERERERGR1mOAg4iIiIiIiIi0HgMcRERERERERKT1GOAgIiIiIiIiIq3HAAcRERERERERaT0GOIiIiIiIiIhI6zHAQURERERERERajwEOIiIiIiIiItJ6DHAQERERERERkdZjgIOIiIiIiIiItB4DHERERERERESk9RjgICIiIiIiIiKtxwAHEREREREREWm9GlU9ACIiIiIiInr1RFGEKIpVPQyqZgRBgCAIVT2MCtHqAEd2djaCgoKwZcsWJCUlwcrKCj169MA333yDunXrlqutsLAwLF++HGfOnEFqairMzMzQpk0bjBs3DgMGDFAoGx4eDh8fnzLbnDt3LmbPni39HhgYiLlz55ZYftq0aVi4cGG5xk1ERERERKSugoICpKSkID09HXl5eVU9HKqm9PT0YGpqCmtra8hksqoejtq0NsCRk5MDX19fxMTEwM7ODv3790dCQgLWr1+P/fv3IyYmBg0aNFCrreXLl2PSpEkQBAGdOnWCg4MD7ty5g6NHjyIsLAwzZszA/PnzpfK2trYYOXKkyrYKCgqwYcMGAICHh4fKMu7u7mjYsKFSeps2bdQaLxERERERUXkVFBQgKSkJOTk5VT0Uquby8vKQkpKCzMxM1KtXT2uCHFob4Jg3bx5iYmLQqVMnHDlyBCYmJgCA4OBgTJkyBaNGjUJ4eHiZ7Tx69AjTp0+Hrq4uwsLC4OXlJeWdPHkSfn5+CAoKwujRo6WASZMmTRASEqKyvdDQUGzYsAEODg7w9vZWWWbMmDEICAgoz8slIiIiIiKqlJSUFOTk5EAmk6F27dowNjaGjg63ZSRFhYWFyMzMxMOHD5GTk4OUlBTUqlWrqoellpcS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kJ6ejmHDhqnczCQ1NRWjRo3C8+fPK7yjLBEREREREVVv8lkb6qZXFx07doSOjg4aNmyIQYMGoV+/fnjrrbdw9+5djBgxQuWpJb169YKDgwOAoiNaW7VqpbJtPz8/GBgYYNmyZejZsydGjx6NMWPGlBpw6Ny5M0JDQ6Grq4vBgwdLp5RaWFhgz549MDc3xyeffAInJyf06tUL7733Ht5++23Y2NigR48euHHjhtSWk5MTWrRogdjYWLRv3x4ffvghxowZg71791bmklU7GgtwDBs2DO+++y6OHz+OBg0aoEePHgCAyMhI9O/fH05OToiIiMD777+PPn36aKpbIiIiIiIiokrT19fH8ePHMXz4cMTExODw4cNwcHDAkiVLEBISorKOTCaDl5cXgNI3F61Tpw727NmDjh074o8//sC6deuwdu1a3L9/v9QxdenSBQcPHoSuri4GDRqEQ4cOASgKxvz555/44osvYGZmhoiICOzevRuJiYnw8vJCSEgIunbtqtDWzp074e/vj1u3buHXX3/F2rVrcf78+XJcoepPEEXNbVsriiKWLFmCxYsXK83iMDc3xxdffIHp06drdJ0UKZMfSXTlypUqHgkREREREVUHhYWF0myBxo0bQ0dHY991a72EhATUr18fXl5eCA8PL1fdrKws1K1bF/n5+bh37x5MNbjpaVUr72emOjyHauwUFaBoU5rPP/8ckydPxvnz55GQkIDCwkLY29ujXbt20sYmRERERERERNruu+++Q2pqKsaPH/9aBTe0lUYDHHIymQzt2rXjZqJERERERET0WklJScG0adPw8OFDHDx4ECYmJpg+fXpVD4vwkgIcRERERERERK+j9PR0rF27Fnp6emjVqhWWLFkCe3v7qh4WoRIBDvlRORUhCAJmzZpV4fpEREREREREmuDk5ITybE1Z3vL06lQ4wBEYGAhBECr0xjLAQURERERERESaVOEAx/r16zU5DiIiIiIiIiKiCqtwgGPkyJGaHAcRERERERERUYXx8GMiIiIiIiIi0noMcBARERERERGR1qvwEpVRo0ZBEAQsWLAAtWvXxqhRo9SuKwgC1q5dW9GuiYiIiIiIiIgUCGIFz7fR0dGBIAi4evUqXFxcoKOj/mQQQRBQUFBQkW5JDa6urgCAK1euVPFIiIiIiIioOigsLER8fDwAoHHjxuV6fqM3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pTI/MzMTANSaBREeHo6pU6fCzc0N27dvR/PmzWFsbIzmzZtjx44dcHNzw4EDBxAaGlqp/suqU95xExEREREREdH/aGWAo169egCA5ORklfnydEdHxzLb+u233wAAAwYMgI6O4uWQyWTS7I2TJ09Wqv+y6mRmZiI1NRWWlpYMcBARERERERGVk1YGOFq2bAkAOH/+vMp8eXqLFi3KbEsecDA3N1eZL09/+vRppfpv3Lgx9PX18ejRI9y9e7dSYyYiIiIiIiIiRVoZ4HB3d4e5uTlu3ryJixcvKuXv2LEDANC3b98y27K1tQUAxMbGqsw/e/YsAMDJyalS/RsaGsLX1xcAsH379kqNmYiIiIiIiIgUaWWAQ09PDxMmTAAAjB8/Xtq7AgCCg4MRFxcHLy8vtGnTRkpftWoVmjRpgi+//FKhLX9/fwDAxo0bsX//foW8PXv2YNOmTdDR0cGAAQMq1T8ATJ48GQAwb948XL9+XUqPjo7GTz/9BAsLC4wePbrc14OIiIiIiIjoTaeVx8QCwMyZM3H06FFERUWhUaNG8PDwQGJiIk6fPg0bGxusW7dOofzjx48RHx+P+/fvK6T7+/vjnXfewfbt29G3b1+0bdsW9evXx+3bt6VZHfPnz0fjxo0r1T8AdO3aFZ999hlWrFgBNzc3dOvWDXl5eQgLC4Moili/fj0sLCw0e6GIiIiIiIiI3gBaOYMDAAwMDHDixAnMmjULRkZG2L17NxITExEQEIDz58+jQYMGarUjCAK2bt2KtWvXwtPTEzdu3MCuXbuQkJCAXr16ITQ0FDNmzNBY/8uXL8f69evRtGlThIWFITo6Gl27dsXJkyel2SREREREREREVD6CKIpiVQ+CNMvV1RUAcOXKlSoeCREREREREb0JqsNzqNbO4CAiIiIiIiIikmOAg4iIiIiIiIi0HgMcRERERERERKT1GOAgIiIiIiIiIq3HAAcRERERERERaT0GOIiIiIiIiIhI6zHAQURERERERERajwEOIiIiIiIiItJ6DHAQERERERERkdZjgIOIiIiIiIiItB4DHERERERERESk9RjgICIiIiIiIiKtxwAHEREREREREWk9BjiIiIiIiIiISOsxwEFEREREREREWo8BDiIiIiIiIiLSegxwEBEREREREZHWY4CDiIiIiIiIiLQeAxxEREREREREpPUY4CAi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PCeZyBfwXCKqOzyfiOoGzyWiusFzqWZYwUFEREREREREXo8JDiIiIiIiIiLyekxwEBEREREREZHXY4KDiIiIiIiIiLweExxERERERERE5PX4FBUiIiIiIiIi8nqs4CAiIiIiIiIir8cEBxERERERERF5PSY4iIiIiIiIiMjrMcFBRERERERERF6PCQ4iIiIiIiIi8npMcBARERERERGR12OCg4iIiIiIiIi8HhMcREREREREROT1mOAgIiIiIiIiIq/HBAcREREREREReT0mOIiIiIiIiIjI6zHBQURERERERERejwkOIiIiIiIiIvJ6THAQERERERERkddjgoOIiIiIiIiIvB4THERERERERETk9ZjgICIiIiIiIiKvxwQHEREREREREXk9JjiIiIiIiIiIyOsxwUFEREREREREXo8JDiIiIiIiIiLyekxwEBEREREREZHXY4KDiIiIiIiIiLweExxERERERERE5PWY4CAiIiIiIiIir8cEBxERERERERF5PSY4iIiIiIiIiMjrMcFBRERERERERF6PCQ4iIiIiIiIi8npMcBARERERERGR12OCg4iIiIiIiIi8HhMcREREREREROT1mOAgIiIiIiIiIq/HBAcREREREREReT0mOIiIiIiIiIjI6zHBQURERERERERejwkOIiIiIiIiIvJ6THAQERERERERkddjgoOIiIiIiIiIvB4THERERERERETk9ZjgICIiIiIiIiKvxwQHEREREREREXk9JjiIiIiIiIiIyOsxwUFEREREREREXo8JDiIiIiIiIiLyekxwEBERkddJTU2FJEmQJAmpqakuz/NU3hgz1T/rMbFlyxZ3h0JE5BWY4CAiakRycnLg5+dn+6P5+PHj7g6JXJCeno7XX38dgwcPRkxMDPz8/BAQEICWLVti9OjR+OSTT6DX690dZqNVPjlRm3+8ePVN13JMLFy40N3hExF5JYW7AyAiooazZMkSlJSU2L5fsGABZs+e7caIqCpCCMyePRuvvvoqioqKbNO1Wi0kSUJaWhrS0tKwcuVKPPvss5gzZw4mTJjgxogbjlKpRFJSku1rd5LL5YiMjHQ4Lzc3FyUlJZDJZIiIiHA4RqVSedT+UN1wdkwUFBSgsLCwyjF+fn4AYDsm/P396yFCIiLfIwkhhLuDICKihpGcnIwDBw7g6aefxrvvvotm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TvfLVdbXKDY2tspxVcW8efNm2zxnrMdqVdup7j398MMP7c5ztVotwsLChFKptHutFi9eXOW+OLJ06VK7dQcFBdnOVQCiefPm4u+//65yHeV/RlmPjeLi4iqXqe05Wt0xdC2s74Mrf4Y7+1noSnx1cdysWLHC7meNUqkUYWFhQq1W271+s2bNqnZfiIgaAis4iIh8kLV6Q6fTVXrKiTPt27dH27Zt7Za3CgsLw80332z7fuDAgVU+XhUoe/zq9u3b8c0332DkyJFo1qwZioqKUFpaipYtW2LEiBGYN28e/ve//9Vk1+w89thjWLVqFfr16wetVguTyYTo6Gg8/fTTOHjwINq3b1/l8nfccQf27NmDO++8ExERETAYDIiMjMSkSZOwf/9+220w1n4dFbVt2xaHDh3Cxx9/jCFDhiA8PBx5eXkQQiAhIQF33nknPvnkE6e3ulRHkiS89NJLOHXqFF577TUMGDAAUVFRKC0thclkQmxsLEaPHo3PPvsMqampDj/NnjNnDjZt2oTbb78dkZGRKCgoQGBgIPr3748FCxbg119/rfLRog2he/fu2LNnDx544AHodDrb+/jwww/jzz//tPUTqStBQUH4+eefsXr1aowdOxYtWrSAwWBAUVERoqOjMWTIEMyePbtSPxpf99hjjyElJQXPPPMMOnbsCLVaDb1eD61Wi65du+Lpp5/Gr7/+Wqtqh7Fjx+Lw4cN49NFHER8fD4PBAIVCgU6dOmHmzJn466+/bD9/nGnfvj06depk+/7OO++ERqOpcpn6Pkd93ejRo3HixAlMnz4dN9xwA7RaLfR6PdRqNTp27IiJEydixYoV+Ne//uXuUImIAACSEHyuExERkSMvvPCCLbFQVYNEqrnU1FS0atUKAHD69Gm0bNnSvQERERGR12MFBxERkQMZGRn47LPPAJQ1MiQiIiIiz8YEBxERNVrz58/H66+/jhMnTtgaqxoMBqxevRp9+vRBeno6IiIiMGHCBDdHSkRERETVUbg7ACIiInc5deoU3nnnHTz//POQy+XQ6XTIy8uzJTt0Oh2WLVtme9wqEREREXkuJjiIiKjRGjduHORyOf73v//h/PnzyMrKgp+fH1q1aoWhQ4di0qRJiI6OdneYREREROQCNhklIiIiIiIiIq/HHhxERERERERE5PWY4CAiIiIiIiIir8cEBxERERER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y5exevVqaLVavPnKS4hxYdnqBPurkF7uCWDOhPh7zuN1PQmPaiIiImqULELgvu6xCFRX/XlPoFqB+26M5ZMfiJzguUSNTX5+Pj7//HOsX78eycnJ+PnnnxETE3PN6xVCICxABXk1XYLlkoTQAFWtKp58HSs4fIRer4derwcAGI1Gu+czExERUWUySUKTIA0+HdfV6eMtA9UKfDquKyIC1W6IkMg78Fwib9eyZcsaJQtqOt5VkiRBKZcQGx6AtMxC29NUypNLZfOVctYqOMIEh4+YN28eZs6cafs+IiLCjdEQERF5jxvjwrDpmX5YvCsNK/afR1aBAWFaNcYkR+O+G2N5QUbkIp5LRHVDq1YgsWkgsgtLkVNUCpNZQCGXEOKvQmiAismNKkiCdS0+oXwFx5AhQyCXy3HkyBH3BkVEROQlLEJA5qAk2Nl0InKM55LnsuvBkZTEHhweTggBycE542x6fajpMdOuXTsAwOHDh+s9NmdYweEjgoODERwcDABQKpXuDYaIiMjLOLvw4gUZUc3wXCKqG86SGA2V3PBWTNsRERERERERkddjgoOIiIiIiIiIvB4THERERERERETk9ZjgICIiIiIiIiKvxwQHEREREREREXk9JjiIiIiIiIiIyOsxwUFEREREREREXo8JDiIiIiIiIiIX9evXD5IkITU1tVbLp6amQpIk9OvXz+VlJElCy5Yta7W9xoQJDiIiIiIiIiIvs2XLFkiShPHjx7s7FI+hcHcARERERERERN7iyy+/RFFREaKjoxtsm0eOHIFSqWyw7XkrJjiIiIiIiIiIXNSiRYsG32abNm0afJveiLeoEBERERERUZ2xGMwwnMlz+M9iMLs7PId++ukn9OjRA/7+/ggLC8Ptt9+OY8eOYcaMGZAkCQsXLrSNddaDIy0tDY8//jgSExPh7++P0NBQtGvXDo8++ihSUlJcimPLli3Q6XQIDAzEpk2bbNMr9uAYP348+vfvDwBYtGgRJEmy/ZsxY0ZtXwavxwoOIiIiIiIiqjPGy4XI+OCgw3kRT3SEukVQA0dUtY8++giPP/44JElC79690axZM+zatQs33HADRowY4dI6zp49i86dOyM7OxutW7fGzTffDLPZjLS0NHz66afo0aMHkpKSqlzHypUrcffdd0Or1WL16tXo1q2b07G9evXCpUuXsG7dOsTHx6NX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zBilpKTo/fffZ6xlC0FbimiKtpTIdeDQ0J7sifcj8dCWgMZBW7KXmr/b1aVNmzaHfS0CjgTz3XffSZLcbrdyc3MlSevWrVMgEFBeXp66dOlS65jBgwdLkr7++uuDvk6HDh3i7p8xY4Y+++wz3X///dE6mtNXX30laf9rq+lQXvOBzpmUlKSjjz5aZWVlWr9+/cGWCxuiLUU0RVtK5DpwaGhP9sT7kXhoS/bk8/l011136fLLL9fvf/97PfvsswecwBLWoy3ZyymnnCKXy6U5c+bo22+/jdn38ssv65tvvtHw4cPVq1evw74WAUeCefjhhyVJo0ePjiZhP/zwgyTFbaiS5PF4lJ2drcLCQpWUlNR7jfz8fL311luSpDPPPLPW/m3btukvf/mLTjnlFF188cWH9DoOV32vuWr75s2bG3S+4uJiFRUVNeo5YW+0pYjGbkuJXgcODe3Jfng/EhNtyZ727NmjW265RU888YQeeughTZw4Ud27d4/2PoT90JbspXfv3nrwwQdVXFysgQMHasSIEbrgggs0ZMgQXXjhhRo7dqxeffXVRrkWAUcCWbBggZ5++mm53W7dcccd0e1VCXJaWlqdx3o8Hkmqt7FWVFRo0qRJCgQCOv/88zVkyJBaz7nmmmtUVlamGTNmHMrLaBT1veaGvt6a52vMc8K+aEv7NXZbSvQ6cPBoT/bE+5F4aEv2NGHCBL3zzjvatm2b9u3bp5UrV+riiy9WQUGBzjnnHC1dutTqElEDbcmerrnmGr344otKSkrSRx99pDlz5mjFihXq0KGDTj311Ebr4ULAkSDWrl2riy66SKZp6t57742O92ps1113nRYtWqSePXvq0UcfrbX/tdde07///W/9+c9/Vt++fZukBqAp0ZaAxkN7sifej8RDW7KvZ555Rqeddpo6deokj8ejQYMG6dlnn9VNN92k8vJy3XLLLVaXiGpoS/Zkmqauv/56XXDBBZowYYLWr1+vffv26csvv1Tv3r117bXX6pprrmmUa7ka5SxoUtu2bdPo0aNVWFioG264Qb/73e9i9qenp0uS/H5/nefw+XySpIyMjDqfc9ddd2nGjBlq37693n333VopWnFxsa699lodeeSRuummmxpc/6RJk2ptO+uss3TWWWc1+Bw11fea473eA9VRdb6qc2ZmZjbonEgstKXaGrstNWcdsBbtqXE0dh2H+n7AOrSlxtHcdfzxj3/UPffco48//ljl5eVKSkpqkuug4WhLjaMp6njmmWf08MMPa9y4cTE9Wo499ljNnz9fRx11lGbMmKGrrrpK/fv3P+TrSAQctrd3716NGjVKmzdv1uTJk3XffffVes4RRxwhSdq6dWvcc/h8Pnm9XuXk5NTZWB977DHdcsstysrK0jvvvKPevXvXes6KFSv0448/qnv37jrttNNi9u3YsUNSZCWEk08+WR06dNDLL78sKfKBrql79+6H1UiOOOIIrVy5ss7XXLW9W7du0W0HqiMzM1NZWVkqKirS1q1b1a9fvwadE4mDthRfY7el5qwD1qE9NZ7GruNQ3w9Yg7bUeJq7jqysLLVr107bt29XQUGBOnbs2CTXQcPQlhpPU9Tx3HPPSYq/ek1GRoZGjx6tmTNnatGiRQQcLdm+fft0+umn69tvv9U555yjJ598UoZh1Hpe3759lZycrN27d2vbtm3q3LlzzP4VK1ZIkgYMGBD3Oi+//LKuvvpqpaWlaf78+Ro0aNAB69q0aZM2bdoUd9+OHTu0Y8eOmJsQ0zQPeL5DMXDgQL3xxhvR11ZTvNdcXx0DBw7Uf//7X61YsaJWwBEMBvW///1PKSkp6tOnz2FWj+ZGW6pbU7Sl5qoD1qA9Na6mquNg3w80P9pS42ruOsLhsIqLiyXtn7cB1qAtNa6mqKMqVMrKyoq7v2p7YWHhYV+LOThsKhAIaNy4cVqyZIlOO+00vfTSS3I6nXGfm5qaqhEjRkiSXnnllVr7582bJ0kaO3ZsrX0LFizQhAkT5HK59Prrr+uEE06os6aTTz5ZpmnG/Tdr1ixJ0tSpU2WaZp2NubGMGTNGUmSd6kAgELNv586d+vTTT5WTk3PA11PXOaver+reeustlZWVaeTIkUpJSTmMytHcaEsH1hRtKZHrwIHRnuyP9yMx0JYS3zvvvCOfz6devXrFHdqM5kFbSgxVy+guW7Ys7v6q7d27dz/saxFw2FAoFNJvfvMbffjhhzrppJP02muv1Tuu74YbbpAk3XnnndqwYUN0++eff67HH39c2dnZmjp1aswxixcv1rnnnivTNDVnzhyNGjWq8V9MEzn22GN1wgknaNeuXfrTn/4U3V5RUaGrrrpKwWBQ1113ndxud4PPeckllygzM1NvvPGGXnvttej2Xbt26Y9//KMk6cYbb2y8F4EmR1uqX1O0pUSuA3WjPQGNg7aUOF5++eW4q6R88sknuvTSSyVJV199dXOXhUq0pcRRNbzlgQce0JIlS2L2/fOf/9Snn36qjIyMRnlvDdMufWEQ9fDDD+v666+XJJ199tl1psL33Xef2rZtG318/fXX6+GHH1ZaWppOPfVUlZeXa+HChTJNU/Pmzas1bionJ0der1c9evTQL37xi7jXOPHEE3XJJZfUW/Ps2bM1efJkTZ06VU899VTDXmg1Z599trZv3y5J+vHHH7VlyxZ17tw5uk51x44d9frrr8ccs2HDBh133HEqKCjQT3/6U/Xr109Lly7Vd999p+OPP14ffvhhdN3rhnr11Vc1fvx4maapk08+WW3atNH7778vr9erG264Qffff3+tY+64447oOuj79u3T6tWrlZGRETPM5fXXX2dspgVoS9a1JbvUgcZDe2rY57gpfiYcSh3xHO77gcZBW0qctjRp0iQ988wz6tOnj/r37y+3263169dr1apVkqQLLrhAL7zwghwO/mZsBdpS4rSlsrIynXrqqVq0aJEcDoeOO+44derUSatXr9a3334rp9OpWbNm6eKLLz7o96QWE7Zz2223mZLq/ff999/XOnbWrFnmkCFDzLS0NDM7O9scPXq0uXjx4rjXacg1Jk6c2KCaZ82aZUoyp06dekivuVu3bgeso1u3bnGP++GHH8xJkyaZHTp0MJOSkszevXubt956q1laWnpIdZimaS5atMgcPXq0mZ2dbaalpZlDhw41Z8+eXefzJ06ceEj/rdD0aEvWtSW71IHGQ3tq2Oe4KX4mHGp7qulw3w80DtpS4rSlBQsWmL/97W/No446yszOzjZdLpfZrl078/TTTzdfeeWVQ3ov0HhoS4nTlkzTNAOBgHn//febxx57rJmRkWG6XC6zY8eO5rnnnmt+/vnnh/R+xEMPDgAAAAAAkPDoTwUAAAAAABIeAQcAAAAAAEh4BBwAAAAAACDhEXAAAAAAAICER8ABAAAAAAASHgEHAAAAAABIeAQcAAAAAAAg4RFwAAAAAACAhEfAAQAAAAAAEh4BBwAAAAAASHgEHAAAAAAAIOG5rC4AAADgYBmGEfPY5XIpKytLHTt21JAhQzR27FiNGzdOLhe/6gAA0FoYpmmaVhcBAABwMKoCjokTJ0qSwuGwioqKtH79eq1bt06maap379564YUXdOyxxx729WbPnq3Jkyfrtttu07Rp0w77fAAAoPHxZw0AAJCwZs+eXWtbfn6+brrpJs2dO1ennHKKFi9erEGDBjV7bQAAoHkxBwcAAGhRevXqpTlz5mjq1Kny+/2aMmWK1SUBAIBmQMABAABapPvvv18ej0crV67UokWLYvbNnz9fU6ZM0U9+8hNlZmbK4/Fo4MCB+tvf/qZAIBDz3JNPPlmTJ0+WJE2fPl2GYUT/1exBsmbNGk2aNEldu3ZVcnKy2rdvrwsuuECrV69u0tcKAAAYogIAAFqorKwsnX766Zo3b54++ugjnXjiidF9U6dOVWlpqY4++mgNGDBARUVFWrJkiW6++WZ98MEHeu+99+R0OiVJo0ePVkVFhRYvXqyBAwfGDHfp3bt39Pt///vfuuCCCxQIBDRo0CD9/Oc/15YtWzR37ly9+eabevvtt/WLX/yi2V4/AACtDQEHAABosQYNGqR58+ZpzZo1Mdsff/xxjRo1SqmpqdFtJSUluvDCC/XWW2/phRde0IQJEyRJf/7zn9WhQwctXrxYZ511VtxJRjdt2qSLLrpIbrdbb731lkaOHBnd98477+jMM8/URRddpI0bNyopKalpXiwAAK0cQ1QAAECL1bZtW0lSYWFhzPZx48bFhBuSlJGRoQcffFCS9MYbbxzUdR566CH5fD7dfffdMeGGFOkBcuWVV2rLli2aP3/+wb4EAADQQPTgAAAALZZpmpL2Lytb3YYNG7RgwQJt3LhRPp9P4XA4+vwNGzYc1HXee+89SdI555wTd/9JJ52kf/zjH1qyZInOPvvsgzo3AABoGAIOAADQYu3Zs0eSlJubG91mmqb+8Ic/6MEHH4wGGjWVlJQc1HU2bdokSercuXOD6gEAAI2PgAMAALRYK1eulCT169cvum3OnDl64IEH1LVrVz344IM67rjjlJeXJ7fbrfLyciUnJ9cZfNQlHA5LkiZOnHjA5/3sZz87yFcAAAAaioADAAC0SEVFRXr33XclSaecckp0++uvvy5JmjFjhsaMGRNzzHfffXdI1+rSpYvy8/N1//33q02bNodYMQAAOBxMMgoAAFqkG2+8UT6fT8OGDdNxxx0X3V414WiXLl1qHTN37ty456pa+aSioiLu/lNPPVXS/vAEAAA0PwIOAADQonz33Xc6//zz9fTTT8vj8ejpp5+O2d+nTx9J0hNPPBEzFOXTTz/VvffeG/ecnTp1kiStW7cu7v4bb7xRqamp+sMf/qDXXnut1v5AIKB58+Zp69ath/SaAABA/QzzYAeZAgAAWKxqVZSqOS/C4bCKi4u1fv16rV27VqZp6sgjj9SLL76ooUOHxhy7fv16DR48WD6fT/369dOAAQO0bds2LVq0SDfeeKPuu+8+devWLTpxqCSVlZWpW7du2rVrl4YPH66ePXvK4XBoypQpOv744yVFlpa98MIL5ff71bt3b/3kJz+Rx+PRtm3btGLFCvl8Pq1cuVKDBg1qlvcIAIDWhoADAAAknJrLvrpcLmVmZqpTp04aMmSIxo0bpzPPPFNOpzPu8WvXrtUf//hHffnll9q3b5/69u2rK6+8UpdeeqkMw6gVcEjSsmXLdNNNN2nJkiUqLi6WaZqaNWuWJk2aFH1Ofn6+HnjgAS1cuFBbtmyR2+1Wp06ddMwxx+icc87RuHHjosNdAABA4yLgAAAAAAAACY85OAAAAAAAQMIj4AAAAAAAAAmPgAMAAAAAACQ8Ag4AAAAAAJDwCDgAAAAAAEDCI+AAAAAAAAAJj4ADAAAAAAAkPAIOAAAAAACQ8Ag4AAAAAABAwiPgAAAAAAAACY+AAwAAAAAAJDwCDgAAAAAAkPAIOAAAAAAAQMIj4AAAAAAAAAmPgAMAAAAAACQ8Ag4AAAAAAJDwCDgAAAAAAEDCI+AAAAAAAAAJ7/8D7fV0RULqD+EAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import seaborn as sns\n", - "import matplotlib.pyplot as plt\n", - "\n", - "# Set global DPI\n", - "plt.rcParams['figure.dpi'] = 150 # Adjust DPI as needed\n", - "\n", - "fig, ax = plt.subplots(2, 1, figsize=(8, 8), sharex=True)\n", - "\n", - "unique_compilers = df_dates[\"compiler\"].unique()\n", - "colormap = plt.get_cmap(\"tab10\", len(unique_compilers))\n", - "color_map = {compiler: colormap(i) for i, compiler in enumerate(unique_compilers)}\n", - "\n", - "# Plot avg_compiled_ratio\n", - "sns.lineplot(\n", - " data=avg_compiled_ratio, \n", - " x=\"date\", \n", - " y=\"compiled_ratio\", \n", - " hue=\"compiler\", \n", - " style=\"compiler\", \n", - " markers=True, \n", - " dashes=False, \n", - " palette=color_map, \n", - " ax=ax[0]\n", - ")\n", - "ax[0].set_title(\"Average Compiled Ratio over Time\")\n", - "ax[0].set_ylabel(\"Compiled Ratio\")\n", - "\n", - "# Plot avg_compile_time\n", - "sns.lineplot(\n", - " data=avg_compile_time, \n", - " x=\"date\", \n", - " y=\"compile_time\", \n", - " hue=\"compiler\", \n", - " style=\"compiler\", \n", - " markers=True, \n", - " dashes=False, \n", - " palette=color_map, \n", - " ax=ax[1]\n", - ")\n", - "ax[1].set_title(\"Average Compile Time over Time\")\n", - "ax[1].set_ylabel(\"Compile Time\")\n", - "ax[1].set_xlabel(\"Date\")\n", - "ax[1].set_yscale(\"log\")\n", - "#plt.tight_layout()\n", - "plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "***A note on terminology***\n", - "\n", - "There is some disagreement in the quantum computing community on the proper usage of the terms \"transpilation\" and \"compilation.\" For instance, Qiskit refers to optimization of the Directed Acyclic Graph (DAG) of a circuit as \"transpilation,\" whereas in qBraid, the 1:1 translation of one circuit representation into another (e.g. a Cirq circuit to a Qiskit circuit; OpenQASM 2 into PyTKET) without optimization is called \"transpilation.\" Cirq on the other hand appears to use the terminology of \"transformers\" to refer to what Qiskit calls transpiler passes, which PyTKET appears to call CompilationUnits. \n", - "\n", - "This cornucopia of intersecting definitions does mean that this notebook necessarily mixes terminology. We feel relatively confident we've interpreted these objects and operations accurately across the SDKs we test, but if you find a mistake, please create an issue and let us know!\n", - "\n", - "Within the UCC library, we refer to **transpilation** in the same sense as Qiskit: optimizing the DAG of a circuit in a fixed representation. We then use **compilation** to refer to the whole process, including translation from one circuit representation to another (e.g. OpenQASM 2 to Qiskit), plus DAG optimization (e.g. reducing the number of gates), but we also leave it open-ended to include additional stages in the future, like dynamic compilation based on mid-circuit measurements, quantum error mitigation, and even quantum error correction. [probably needs a diagram]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "qiskit_upgrade_venv", - "language": "python", - "name": "qiskit_upgrade_venv" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.0" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/benchmarks/results/gates_2024-12-10.csv b/benchmarks/results/gates_2024-12-10.csv index 2a37f3b4..720df9c2 100644 --- a/benchmarks/results/gates_2024-12-10.csv +++ b/benchmarks/results/gates_2024-12-10.csv @@ -1,3 +1,4 @@ +# Compiler versions: qiskit=1.2.0, cirq=1.4.1, pytket=1.35.0, ucc=0.1.1 compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates pytket,qaoa_barabasi_albert,1176,0.02424311637878418,1176 ucc,qaoa_barabasi_albert,1176,0.7855277061462402,1176 diff --git a/benchmarks/results/gates_2024-12-11.csv b/benchmarks/results/gates_2024-12-11.csv deleted file mode 100644 index 547968e3..00000000 --- a/benchmarks/results/gates_2024-12-11.csv +++ /dev/null @@ -1,68 +0,0 @@ -compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates -qiskit,qaoa_barabasi_albert,1176,0.18732929229736328,1176 -pytket,qaoa_barabasi_albert,1176,0.01961231231689453,1176 -ucc,qaoa_barabasi_albert,1176,0.6122474670410156,1176 -cirq,qaoa_barabasi_albert,1176,7.410796403884888,1176 -ucc,qv,15000,9.638527870178223,14856 -qiskit,qv,15000,10.148453712463379,14856 -pytket,qv,15000,7.381576776504517,15000 -qiskit,qft,10050,0.6511738300323486,3244 -ucc,qft,10050,2.6566998958587646,2740 -ucc,square_heisenberg,2160,0.33105969429016113,540 -qiskit,square_heisenberg,2160,0.32184767723083496,540 -pytket,qft,10050,0.2387707233428955,5890 -pytket,square_heisenberg,2160,0.10854220390319824,2160 -cirq,square_heisenberg,2160,9.350904703140259,540 -ucc,prep_select,9744,6.954908132553101,9702 -qiskit,prep_select,9744,1.3827111721038818,9708 -cirq,qft,10050,52.39494466781616,4648 -ucc,qcnn,388,0.15951299667358398,388 -qiskit,qcnn,388,0.09887480735778809,388 -pytket,prep_select,9744,0.2667388916015625,9712 -pytket,qcnn,388,0.040493011474609375,388 -cirq,qcnn,388,2.5481464862823486,388 -cirq,prep_select,9744,73.22792315483093,9712 -cirq,qv,15000,230.78820419311523,14856 -qiskit,qaoa_barabasi_albert,1176,0.19065546989440918,1176 -pytket,qaoa_barabasi_albert,1176,0.02491593360900879,1176 -ucc,qaoa_barabasi_albert,1176,0.6089544296264648,1176 -cirq,qaoa_barabasi_albert,1176,7.620911598205566,1176 -ucc,qv,15000,10.085904359817505,14856 -qiskit,qv,15000,9.826894283294678,14856 -ucc,qft,10050,2.9157328605651855,2740 -qiskit,qft,10050,0.598933219909668,3244 -pytket,qv,15000,7.463933229446411,15000 -ucc,square_heisenberg,2160,0.3316502571105957,540 -qiskit,square_heisenberg,2160,0.29610729217529297,540 -pytket,qft,10050,0.31843996047973633,5890 -pytket,square_heisenberg,2160,0.13750028610229492,2160 -cirq,square_heisenberg,2160,9.913521766662598,540 -ucc,prep_select,9744,7.988763093948364,9702 -qiskit,prep_select,9744,1.548689842224121,9708 -cirq,qft,10050,50.854281425476074,4648 -ucc,qcnn,388,0.15615296363830566,388 -qiskit,qcnn,388,0.09864592552185059,388 -pytket,qcnn,388,0.020900964736938477,388 -pytket,prep_select,9744,0.3424699306488037,9712 -cirq,qcnn,388,3.7005414962768555,388 -cirq,prep_select,9744,74.17708015441895,9712 -cirq,qv,15000,236.04137253761292,14856 -qiskit,qaoa_barabasi_albert,1176,0.1695573329925537,1176 -ucc,qaoa_barabasi_albert,1176,0.685828447341919,1176 -pytket,qaoa_barabasi_albert,1176,0.02454519271850586,1176 -cirq,qaoa_barabasi_albert,1176,7.372680425643921,1176 -qiskit,qft,10050,0.5850367546081543,3244 -ucc,qft,10050,2.8806912899017334,2740 -pytket,qft,10050,0.3214077949523926,5890 -ucc,square_heisenberg,2160,0.3363070487976074,540 -qiskit,square_heisenberg,2160,0.33426618576049805,540 -pytket,square_heisenberg,2160,0.12855124473571777,2160 -cirq,square_heisenberg,2160,9.677702188491821,540 -qiskit,prep_select,9744,1.5399131774902344,9708 -ucc,prep_select,9744,7.933067321777344,9702 -ucc,qcnn,388,0.1685333251953125,388 -qiskit,qcnn,388,0.11061787605285645,388 -cirq,qft,10050,50.6883282661438,4648 -pytket,qcnn,388,0.025346755981445312,388 -pytket,prep_select,9744,0.3653693199157715,9712 -cirq,qcnn,388,2.385721206665039,388 diff --git a/benchmarks/results/gates_2024-12-12.csv b/benchmarks/results/gates_2024-12-12.csv deleted file mode 100644 index 42385919..00000000 --- a/benchmarks/results/gates_2024-12-12.csv +++ /dev/null @@ -1,6 +0,0 @@ -compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates -cirq,prep_select,9744,72.80442070960999,9712 -ucc,qv,15000,4.721451282501221,14856 -qiskit,qv,15000,5.220624923706055,14856 -pytket,qv,15000,4.386897802352905,15000 -cirq,qv,15000,189.21238803863525,14856 \ No newline at end of file diff --git a/benchmarks/results/gates_2024-12-13.csv b/benchmarks/results/gates_2024-12-13.csv deleted file mode 100644 index 6f85c45e..00000000 --- a/benchmarks/results/gates_2024-12-13.csv +++ /dev/null @@ -1,25 +0,0 @@ -compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates -qiskit,qaoa_barabasi_albert,1176,0.19210195541381836,1176 -ucc,qaoa_barabasi_albert,1176,0.6623470783233643,1176 -pytket,qaoa_barabasi_albert,1176,0.020681381225585938,1176 -cirq,qaoa_barabasi_albert,1176,7.705238103866577,1176 -qiskit,qft,10050,0.5820052623748779,3244 -ucc,qft,10050,2.9084737300872803,2740 -pytket,qft,10050,0.3468155860900879,5890 -ucc,square_heisenberg,2160,0.33513545989990234,540 -qiskit,square_heisenberg,2160,0.3893394470214844,540 -pytket,square_heisenberg,2160,0.12913274765014648,2160 -cirq,square_heisenberg,2160,9.316832780838013,540 -qiskit,prep_select,9744,1.648432731628418,9708 -ucc,prep_select,9744,7.009110689163208,9702 -ucc,qcnn,388,0.17256474494934082,388 -qiskit,qcnn,388,0.10382390022277832,388 -cirq,qft,10050,51.03375172615051,4648 -pytket,qcnn,388,0.0250091552734375,388 -pytket,prep_select,9744,0.3211708068847656,9712 -cirq,qcnn,388,2.34721040725708,388 -cirq,prep_select,9744,73.54203367233276,9712 -pytket,qv,15000,4.662341594696045,15000 -qiskit,qv,15000,5.305899143218994,14856 -ucc,qv,15000,4.7647199630737305,14856 -cirq,qv,15000,193.86008620262146,14856 diff --git a/benchmarks/results/gates_2024-12-16.csv b/benchmarks/results/gates_2024-12-16.csv index a7f3995e..1eb85cf6 100644 --- a/benchmarks/results/gates_2024-12-16.csv +++ b/benchmarks/results/gates_2024-12-16.csv @@ -1,49 +1,25 @@ compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates -qiskit,qaoa_barabasi_albert,1176,0.172929048538208,1176 -ucc,qaoa_barabasi_albert,1176,0.6496548652648926,1176 -pytket,qaoa_barabasi_albert,1176,0.026659250259399414,1176 -cirq,qaoa_barabasi_albert,1176,7.629104852676392,1176 -qiskit,qft,10050,0.5776305198669434,3244 -ucc,qft,10050,2.9913699626922607,2740 -pytket,qft,10050,0.3402554988861084,5890 -ucc,square_heisenberg,2160,0.33558034896850586,540 -qiskit,square_heisenberg,2160,0.3129239082336426,540 -pytket,square_heisenberg,2160,0.1243584156036377,2160 -cirq,square_heisenberg,2160,9.479390382766724,540 -qiskit,prep_select,9744,1.4973485469818115,9708 -ucc,prep_select,9744,7.07340669631958,9702 -ucc,qcnn,388,0.17171573638916016,388 -qiskit,qcnn,388,0.10727858543395996,388 -cirq,qft,10050,50.487868309020996,4648 -pytket,qcnn,388,0.024190902709960938,388 -pytket,prep_select,9744,0.3228616714477539,9712 -cirq,qcnn,388,2.4818356037139893,388 -cirq,prep_select,9744,74.03872561454773,9712 -pytket,qv,15000,4.559576034545898,15000 -ucc,qv,15000,4.738056898117065,14856 -qiskit,qv,15000,5.317723989486694,14856 -cirq,qv,15000,186.38663792610168,14856 -ucc,qaoa_barabasi_albert,1176,0.6466026306152344,1176 -pytket,qaoa_barabasi_albert,1176,0.02384018898010254,1176 -qiskit,qaoa_barabasi_albert,1176,0.17044854164123535,1176 -cirq,qaoa_barabasi_albert,1176,7.612349510192871,1176 -qiskit,qft,10050,0.5786969661712646,3244 -ucc,qft,10050,2.9486944675445557,2740 -pytket,qft,10050,0.2715871334075928,5890 -ucc,square_heisenberg,2160,0.3280293941497803,540 -qiskit,square_heisenberg,2160,0.35325193405151367,540 -pytket,square_heisenberg,2160,0.19542360305786133,2160 -cirq,square_heisenberg,2160,10.833353996276855,540 -qiskit,prep_select,9744,1.5344769954681396,9708 -ucc,prep_select,9744,6.940417051315308,9702 -ucc,qcnn,388,0.1656789779663086,388 -qiskit,qcnn,388,0.11114120483398438,388 -pytket,qcnn,388,0.024122238159179688,388 -cirq,qft,10050,51.793689012527466,4648 -pytket,prep_select,9744,0.25701141357421875,9712 -cirq,qcnn,388,3.374324083328247,388 -ucc,qv,15000,4.737441778182983,14856 -cirq,prep_select,9744,89.24731159210205,9712 -qiskit,qv,15000,5.160390138626099,14856 -pytket,qv,15000,4.397194862365723,15000 -cirq,qv,15000,185.35534381866455,14856 +qiskit,qaoa_barabasi_albert,1176,0.167680025100708,1176 +pytket,qaoa_barabasi_albert,1176,0.02307295799255371,1176 +ucc,qaoa_barabasi_albert,1176,0.704157829284668,1176 +cirq,qaoa_barabasi_albert,1176,7.5352256298065186,1176 +qiskit,qft,10050,0.5787725448608398,3244 +ucc,qft,10050,2.949899911880493,2740 +pytket,qft,10050,0.2687070369720459,5890 +ucc,square_heisenberg,2160,0.3382143974304199,540 +qiskit,square_heisenberg,2160,0.32480406761169434,540 +pytket,square_heisenberg,2160,0.12444162368774414,2160 +cirq,square_heisenberg,2160,9.622225999832153,540 +qiskit,prep_select,9744,1.5326259136199951,9708 +ucc,prep_select,9744,6.6899003982543945,9702 +ucc,qcnn,388,0.15262794494628906,388 +qiskit,qcnn,388,0.10137224197387695,388 +cirq,qft,10050,50.238999128341675,4648 +pytket,qcnn,388,0.024954795837402344,388 +pytket,prep_select,9744,0.30251026153564453,9712 +cirq,qcnn,388,3.7540109157562256,388 +cirq,prep_select,9744,73.64335703849792,9712 +qiskit,qv,15000,5.770041465759277,14856 +ucc,qv,15000,5.550801992416382,14856 +pytket,qv,15000,4.363432884216309,15000 +cirq,qv,15000,189.20356154441833,14856 diff --git a/benchmarks/results/results_2024-12-04_14-48-34.csv b/benchmarks/results/results_2024-12-04_14-48-34.csv deleted file mode 100644 index 0e3b74b2..00000000 --- a/benchmarks/results/results_2024-12-04_14-48-34.csv +++ /dev/null @@ -1,25 +0,0 @@ -circuit_name,compiler,compile_time,raw_multiq_gates,compiled_multiq_gates,gate_reduction_per_s,reduction_factor,compiled_ratio -prep_select,cirq,30.036226987838745,9744.0,9712.0,0.033402826970318225,1.0032948929159802,0.9967159277504105 -prep_select,pytket,0.06528472900390625,9744.0,9712.0,15.367987402627481,1.0032948929159802,0.9967159277504105 -prep_select,qiskit,2.6683719158172607,9744.0,9708.0,0.37615006959103237,1.003708281829419,0.9963054187192119 -prep_select,ucc,1.6959500312805176,9744.0,9702.0,0.5921925680620975,1.0043290043290043,0.9956896551724138 -qaoa_barabasi_albert,cirq,1.9393212795257568,1176.0,1176.0,0.515644318740493,1.0,1.0 -qaoa_barabasi_albert,pytket,0.012243986129760742,1176.0,1176.0,81.67274851523707,1.0,1.0 -qaoa_barabasi_albert,qiskit,0.22677993774414062,1176.0,1176.0,4.409561136436273,1.0,1.0 -qaoa_barabasi_albert,ucc,0.16925907135009766,1176.0,1176.0,5.908102839177151,1.0,1.0 -qcnn,cirq,0.8736429214477539,388.0,388.0,1.1446324069596465,1.0,1.0 -qcnn,pytket,0.0077588558197021484,388.0,388.0,128.88498294564116,1.0,1.0 -qcnn,qiskit,0.08816099166870117,388.0,388.0,11.342885113609935,1.0,1.0 -qcnn,ucc,0.05583906173706055,388.0,388.0,17.90861036864982,1.0,1.0 -qft,cirq,12.922126054763794,10050.0,4648.0,0.16732697859835224,2.1622203098106714,0.46248756218905474 -qft,pytket,0.055418968200683594,10050.0,5890.0,30.788769423448986,1.7062818336162988,0.5860696517412936 -qft,qiskit,11.507505893707275,10050.0,3244.0,0.26921794832169615,3.098027127003699,0.3227860696517413 -qft,ucc,1.4449641704559326,10050.0,2740.0,2.5383904228722134,3.667883211678832,0.272636815920398 -qv,cirq,81.68747806549072,15000.0,14856.0,0.012360438554637457,1.0096930533117932,0.9904 -qv,pytket,1.8517069816589355,15000.0,15000.0,0.5400422474532686,1.0,1.0 -qv,qiskit,11.313803911209106,15000.0,14856.0,0.08924434798727983,1.0096930533117932,0.9904 -qv,ucc,3.818204879760742,15000.0,14856.0,0.26444182151248596,1.0096930533117932,0.9904 -square_heisenberg,cirq,2.4363739490509033,2160.0,540.0,1.6417840954005487,4.0,0.25 -square_heisenberg,pytket,0.03080010414123535,2160.0,2160.0,32.46742268839262,1.0,1.0 -square_heisenberg,qiskit,0.2524127960205078,2160.0,540.0,15.847057134437081,4.0,0.25 -square_heisenberg,ucc,0.1512289047241211,2160.0,540.0,26.44997004571969,4.0,0.25 diff --git a/benchmarks/results/results_2024-12-09_11-32-45.csv b/benchmarks/results/results_2024-12-09_11-32-45.csv deleted file mode 100644 index ed043ac8..00000000 --- a/benchmarks/results/results_2024-12-09_11-32-45.csv +++ /dev/null @@ -1,25 +0,0 @@ -circuit_name,compiler,compile_time,raw_multiq_gates,compiled_multiq_gates,gate_reduction_per_s,reduction_factor,compiled_ratio -prep_select,cirq,30.363166332244873,9744.0,9712.0,0.03304315768446414,1.0032948929159802,0.9967159277504105 -prep_select,pytket,0.06487512588500977,9744.0,9712.0,15.465016510246254,1.0032948929159802,0.9967159277504105 -prep_select,qiskit,0.5075030326843262,9744.0,9708.0,1.9777384905869897,1.003708281829419,0.9963054187192119 -prep_select,ucc,2.4537041187286377,9744.0,9702.0,0.40931137404186585,1.0043290043290043,0.9956896551724138 -qaoa_barabasi_albert,cirq,2.006441116333008,1176.0,1176.0,0.49839489026600997,1.0,1.0 -qaoa_barabasi_albert,pytket,0.007610797882080078,1176.0,1176.0,131.3922686548462,1.0,1.0 -qaoa_barabasi_albert,qiskit,0.0509798526763916,1176.0,1176.0,19.6155921898749,1.0,1.0 -qaoa_barabasi_albert,ucc,0.15455985069274902,1176.0,1176.0,6.469985546168192,1.0,1.0 -qcnn,cirq,0.8724081516265869,388.0,388.0,1.146252471547315,1.0,1.0 -qcnn,pytket,0.007628917694091797,388.0,388.0,131.080192512032,1.0,1.0 -qcnn,qiskit,0.024214982986450195,388.0,388.0,41.296745926254125,1.0,1.0 -qcnn,ucc,0.04055976867675781,388.0,388.0,24.654972960263343,1.0,1.0 -qft,cirq,13.109501838684082,10050.0,4648.0,0.1649353527248685,2.1622203098106714,0.46248756218905474 -qft,pytket,0.055985212326049805,10050.0,5890.0,30.477366481690904,1.7062818336162988,0.5860696517412936 -qft,qiskit,0.1860363483428955,10050.0,3244.0,16.652805511391392,3.098027127003699,0.3227860696517413 -qft,ucc,0.7190699577331543,10050.0,2740.0,5.100871163136505,3.667883211678832,0.272636815920398 -qv,cirq,271.8302810192108,15000.0,14856.0,0.003714424491362815,1.0096930533117932,0.9904 -qv,pytket,1.8324270248413086,15000.0,15000.0,0.5457243243215111,1.0,1.0 -qv,qiskit,6.1341681480407715,15000.0,14856.0,0.1646014633026134,1.0096930533117932,0.9904 -qv,ucc,2.500671863555908,15000.0,14856.0,0.40376871033212197,1.0096930533117932,0.9904 -square_heisenberg,cirq,3.3163862228393555,2160.0,540.0,1.2061321363756488,4.0,0.25 -square_heisenberg,pytket,0.03437614440917969,2160.0,2160.0,29.089940631415413,1.0,1.0 -square_heisenberg,qiskit,0.0907599925994873,2160.0,540.0,44.07228213042622,4.0,0.25 -square_heisenberg,ucc,0.09435701370239258,2160.0,540.0,42.3921852022175,4.0,0.25 diff --git a/benchmarks/scripts/common.py b/benchmarks/scripts/common.py index 123a00c8..991d95bb 100644 --- a/benchmarks/scripts/common.py +++ b/benchmarks/scripts/common.py @@ -13,6 +13,11 @@ from pytket.predicates import CompilationUnit from qiskit import transpile as qiskit_transpile from qbraid.transpiler import transpile as translate +from qiskit import __version__ as qiskit_version +from cirq import __version__ as cirq_version +from pytket import __version__ as pytket_version +from ucc import __version__ as ucc_version + import sys # Add sys to accept command line arguments import os from ucc import compile as ucc_compile @@ -124,10 +129,25 @@ def count_multi_qubit_gates(circuit, compiler_alias): case _: return "Unknown compiler alias." +def get_header(df): + # Get version information for the compilers + compiler_versions = { + "qiskit": qiskit_version, + "cirq": cirq_version, + "pytket": pytket_version, + "ucc": ucc_version, + } + + # Create version header as a string formatted for CSV + version_header = "# Compiler versions: " + ", ".join( + f"{key}={value}" for key, value in compiler_versions.items() + ) + return version_header def save_results(results_log, benchmark_name="gates", folder="../results", append=False): - """Save the results of the benchmarking to a CSV file. + """Save the results of the benchmarking to a CSV file with compiler versions as a header. + Parameters: results_log: Benchmark results. Type can be any accepted by pd.DataFrame. benchmark_name: Name of the benchmark to be stored as prefix to the filename. Default is "gates". @@ -135,7 +155,8 @@ def save_results(results_log, benchmark_name="gates", folder="../results", appen append: Whether to append to an existing file created on the same date (if True) or overwrite (if False). Default is False. """ df = pd.DataFrame(results_log) - current_date = datetime.now().strftime("%Y-%m-%d") + # This will store results run during the same date and hour in the same file + current_date = datetime.now().strftime("%Y-%m-%d_%H") # Ensure the folder exists os.makedirs(folder, exist_ok=True) @@ -143,17 +164,33 @@ def save_results(results_log, benchmark_name="gates", folder="../results", appen # Create the filename based on the current date file_name = f"{benchmark_name}_{current_date}.csv" file_path = os.path.join(folder, file_name) - # Check if the file exists and append if needed - if append: - # If the file exists and the date matches, append data + + header = get_header(df) + + def prepend_header_if_missing(file_path, header): + """Check if the file has a header, and prepend it if not.""" if os.path.exists(file_path): - df.to_csv(file_path, mode='a', header=False, index=False) + with open(file_path, "r+") as f: + content = f.read() + if not content.startswith("# Compiler versions:"): + # Prepend the header and write back + f.seek(0) + f.write(f"{header}\n{content}") else: - # If the file doesn't exist, create a new one with headers - df.to_csv(file_path, mode='w', header=True, index=False) + # Create a new file with the header + with open(file_path, "w") as f: + f.write(f"{header}\n") + + # Ensure the header is present in the file + prepend_header_if_missing(file_path, header) + + # Write results to the file + if append: + # Append results without adding column headers again + df.to_csv(file_path, mode="a", header=False, index=False) else: - # If append is False, overwrite the file (or create a new one if it doesn't exist) - df.to_csv(file_path, mode='w', header=True, index=False) + # Overwrite or create the file + df.to_csv(file_path, mode="w", header=True, index=False) print(f"Results saved to {file_path}") diff --git a/benchmarks/scripts/plot_avg_benchmarks_over_time.py b/benchmarks/scripts/plot_avg_benchmarks_over_time.py new file mode 100644 index 00000000..c03cff23 --- /dev/null +++ b/benchmarks/scripts/plot_avg_benchmarks_over_time.py @@ -0,0 +1,87 @@ +import glob +import pandas as pd +import matplotlib.pyplot as plt +import os + +# Get the directory of the current script +directory_of_this_file = os.path.dirname(os.path.abspath(__file__)) + +# Construct the correct path to the results folder +results_folder = os.path.join(directory_of_this_file, "../results") + +# Use glob to find all CSV files in the results folder +csv_files = glob.glob(os.path.join(results_folder, "gates*.csv")) + +dataframes = [] + +print("Loading data files...", ) +# Loop through each CSV file and read it into a DataFrame +for file in csv_files: + print(file) + # Note, this will combine results from the same date + date_label = str(file).split('_')[1].split('.')[0] + df = pd.read_csv(file) # Load the CSV file into a DataFrame + df['date'] = date_label + df['reduction_factor'] = df['raw_multiq_gates'] / df['compiled_multiq_gates'] + df['gate_reduction_per_s'] = df['reduction_factor'] / df['compile_time'] + df['compiled_ratio'] = df['compiled_multiq_gates'] / df['raw_multiq_gates'] + + dataframes.append(df) # Append the DataFrame to the list + +# Concatenate all DataFrames into a single DataFrame +df_dates = pd.concat(dataframes, ignore_index=True) + +# Calculate averages for plotting +avg_compiled_ratio = df_dates.groupby(["compiler", "date"])["compiled_ratio"].mean().reset_index().sort_values("date") +avg_compile_time = df_dates.groupby(["compiler", "date"])["compile_time"].mean().reset_index().sort_values("date") + +# Set global DPI +plt.rcParams['figure.dpi'] = 150 # Adjust DPI as needed + +# Create a colormap for unique compilers +unique_compilers = sorted(df_dates["compiler"].unique()) +colormap = plt.get_cmap("tab10", len(unique_compilers)) +color_map = {compiler: colormap(i) for i, compiler in enumerate(unique_compilers)} + +# Create subplots +fig, ax = plt.subplots(2, 1, figsize=(8, 8), sharex=True) + +# Plot avg_compiled_ratio +for compiler in unique_compilers: + compiler_data = avg_compiled_ratio[avg_compiled_ratio["compiler"] == compiler] + ax[0].plot( + compiler_data["date"], + compiler_data["compiled_ratio"], + label=compiler, + marker="o", + linestyle="-", + color=color_map[compiler] + ) +ax[0].set_title("Average Compiled Ratio over Time") +ax[0].set_ylabel("Compiled Ratio") +ax[0].legend(title="Compiler") + +# Plot avg_compile_time +for compiler in unique_compilers: + compiler_data = avg_compile_time[avg_compile_time["compiler"] == compiler] + ax[1].plot( + compiler_data["date"], + compiler_data["compile_time"], + label=compiler, + marker="o", + linestyle="-", + color=color_map[compiler] + ) +ax[1].set_title("Average Compile Time over Time") +ax[1].set_ylabel("Compile Time") +ax[1].set_xlabel("Date") +ax[1].set_yscale("log") + +# Adjust layout and save the figure +plt.tight_layout() +filename = os.path.join(directory_of_this_file, "../avg_compiler_benchmarks_over_time.png") +print(f"\n Saving plot to {filename}") +fig.savefig(filename) + +# Show the plot (optional) +# plt.show() diff --git a/benchmarks/scripts/plot_latest_benchmarks.py b/benchmarks/scripts/plot_latest_benchmarks.py new file mode 100644 index 00000000..daf7f09f --- /dev/null +++ b/benchmarks/scripts/plot_latest_benchmarks.py @@ -0,0 +1,105 @@ +import os +import glob +import pandas as pd +import matplotlib.pyplot as plt + +# Step 1: Get the directory of the current script +directory_of_this_file = os.path.dirname(os.path.abspath(__file__)) + +# Step 2: Construct the correct path to the results folder +results_folder = os.path.join(directory_of_this_file, "../results") + +# Step 3: Use glob to find all CSV files in the results folder +csv_files = glob.glob(os.path.join(results_folder, "gates*.csv")) + +# Step 4: Iterate through all CSV files and load them into dataframes with date column +dfs = [] # List to store dataframes +for file in csv_files: + # Extract the date from the filename (assuming the date is after 'gates_' and before '.csv') + date_label = str(file).split('_')[1].split('.')[0] + + # Load the CSV file into a DataFrame + df = pd.read_csv(file) + + # Add the extracted date as a new column in the dataframe + df['date'] = date_label + + # Append the dataframe to the list + dfs.append(df) + +# Step 5: Concatenate all dataframes into one large dataframe +df_all = pd.concat(dfs, ignore_index=True) + +# Find the most recent date in the 'date' column +latest_date = df_all['date'].max() + +# Filter the dataframe to only include rows from the most recent date +df_latest = df_all[df_all['date'] == latest_date] + +# Step 3: Define the bar width and create x-axis positions for the circuits +bar_width = 0.2 +circuit_names = df_latest['circuit_name'].unique() +x_positions = range(len(circuit_names)) # X positions for each circuit + +# Create a dictionary to map circuit names to indices +circuit_name_to_index = {name: i for i, name in enumerate(circuit_names)} + +# Step 4: Set up the figure and axes +fig, ax = plt.subplots(1, 2, figsize=(14, 7)) + +# Set color map for different compilers +# Get unique compilers and sort them alphabetically +unique_compilers = sorted(df_latest['compiler'].unique()) + +# Set color map for different compilers +colormap = plt.get_cmap("tab10", len(unique_compilers)) +color_map = {compiler: colormap(i) for i, compiler in enumerate(unique_compilers)} + + +# Step 5: Plot compile time and gate count for each compiler +for i, (key, grp) in enumerate(df_latest.groupby("compiler")): + # Get indices for each circuit in the current compiler group + grp_indices = grp['circuit_name'].map(circuit_name_to_index) + + # Plot compile time + ax[0].bar( + [grp_indices + i * bar_width for grp_indices in grp_indices], # Shift bars for each compiler + grp['compile_time'], # Compile time data + width=bar_width, + label=key, + color=color_map[key] + ) + + # Plot gate count + ax[1].bar( + [grp_indices + i * bar_width for grp_indices in grp_indices], # Shift bars for each compiler + grp['raw_multiq_gates'], # Gate count data + width=bar_width, + label=key, + color=color_map[key] + ) + +# Step 6: Customize plots +ax[0].set_title(f"Compiler Performance on Circuits (Date: {latest_date})") +ax[0].set_xlabel("Circuit Name") +ax[0].set_ylabel("Compile Time (s)") +ax[0].set_xticks(x_positions) +ax[0].set_xticklabels(circuit_names, rotation=75) +ax[0].set_yscale("log") + +ax[1].set_title(f"Gate Counts on Circuits (Date: {latest_date})") +ax[1].set_xlabel("Circuit Name") +ax[1].set_ylabel("Raw Gate Count") +ax[1].set_xticks(x_positions) +ax[1].set_xticklabels(circuit_names, rotation=75) +ax[1].set_yscale("log") + +# Step 7: Add legend +ax[0].legend(title="Compiler") +ax[1].legend(title="Compiler") + +# Adjust layout and save the figure +plt.tight_layout() +filename = os.path.join(directory_of_this_file, "../latest_compiler_benchmarks_by_circuit.png") +print(f"\n Saving plot to {filename}") +fig.savefig(filename) diff --git a/benchmarks/scripts/small_test.sh b/benchmarks/scripts/small_test.sh new file mode 100755 index 00000000..c94a80f4 --- /dev/null +++ b/benchmarks/scripts/small_test.sh @@ -0,0 +1,12 @@ +QASM_FILE="benchpress/square_heisenberg_N100_basis_rz_rx_ry_cx.qasm" +COMPILER="ucc" + +SCRIPT_DIR=$(dirname "$(realpath "$0")") +RESULTS_FOLDER="$SCRIPT_DIR/../results/test_data" +mkdir -p "$RESULTS_FOLDER" +QASM_FOLDER="$SCRIPT_DIR/../circuits/qasm2/" +full_qasm_file="$QASM_FOLDER/$QASM_FILE" + +command="python3 $SCRIPT_DIR/benchmark_script.py \"$full_qasm_file\" \"$COMPILER\" \"$RESULTS_FOLDER\"" + +eval $command \ No newline at end of file diff --git a/ucc/__init__.py b/ucc/__init__.py index be3c3326..f8795096 100644 --- a/ucc/__init__.py +++ b/ucc/__init__.py @@ -1,2 +1,4 @@ from .transpilers import UCCTranspiler from .compile import compile, supported_circuit_formats + +__version__ = "0.1.1" \ No newline at end of file