Loading benchmarks/openqasm3/trotter/pytket_script.py +22 −22 Original line number Diff line number Diff line Loading @@ -5,11 +5,11 @@ from pytket.extensions.qiskit import AerStateBackend from pytket.passes import FullPeepholeOptimise nb_steps = 100 nb_qubits = 50 step_size = 0.01 n_qubits = [5, 10, 20, 30, 40, 50] for nb_qubits in n_qubits: # Start timer start = time.time() circ = Circuit(nb_qubits) h = 1.0 Loading @@ -29,7 +29,7 @@ circ = backend.get_compiled_circuit(circ) FullPeepholeOptimise().apply(circ) end = time.time() print('Elapsed time =', end - start, '[secs]') print('n_qubits =', nb_qubits, '; Elapsed time =', end - start, '[secs]') for com in circ: # equivalently, circ.get_commands() print(com.op, com.op.type, com.args) No newline at end of file # for com in circ: # equivalently, circ.get_commands() # print(com.op, com.op.type, com.args) No newline at end of file benchmarks/openqasm3/trotter/qiskit_script.py +1 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ def trotter_circ(q, exp_args, n_steps): qc += PauliTrotterEvolution().convert(EvolvedOp(sub_op)).to_circuit() return qc n_qubits = [5, 10, 20, 50, 100] n_qubits = [5, 10, 20, 30, 40, 50] nbSteps = 100 for nbQubits in n_qubits: Loading benchmarks/openqasm3/trotter/qsharp/driver.cpp 0 → 100644 +6 −0 Original line number Diff line number Diff line extern "C" void Benchmark__Heisenberg__CircuitGen(); int main(int argc, char* argv[]){ Benchmark__Heisenberg__CircuitGen(); return 0; } No newline at end of file benchmarks/openqasm3/trotter/qsharp/timing_driver.py 0 → 100644 +22 −0 Original line number Diff line number Diff line # Timing the total Q# compilation workflow via QIR # Reference: https://github.com/microsoft/qsharp-compiler/tree/main/examples/QIR/Optimization import time, os, sys os.chdir(sys.path[0]) start = time.time() # Dotnet build -> generate ll file (unoptimized) os.system('dotnet build') # Optimize LLVM IR os.system('/usr/local/aideqc/llvm/bin/clang -S qir/trotter.ll -O3 -emit-llvm -o qir/trotter-o3.ll') # Compile and link: os.system('/usr/local/aideqc/llvm/bin/llvm-as qir/trotter-o3.ll -o qir/trotter.bc') os.system('/usr/local/aideqc/llvm/bin/llc -filetype=obj qir/trotter.bc -o qir/trotter.o') os.system('/usr/local/aideqc/llvm/bin/clang++ -Wno-unused-command-line-argument -Wno-override-module -rdynamic -Wl,-rpath,/root/.xacc/lib:/root/.xacc/lib:/usr/local/aideqc/llvm/lib:/root/.xacc/clang-plugins -L /root/.xacc/lib -lqcor -lqrt -lqcor-jit -lqcor-quasimo -L /root/.xacc/lib -lxacc -lCppMicroServices -lxacc-quantum-gate -lxacc-pauli -lxacc-fermion -lpthread -lqir-qrt -D__internal__qcor__compile__backend="qpp" qir/trotter.o driver.cpp -o qir/a.out') end = time.time() print('Elapsed time:', end - start, ' [secs]') # Clean up (no incremental builds) os.system('rm -rf bin') os.system('rm -rf obj') os.system('rm -rf qir') benchmarks/openqasm3/trotter/qsharp/trotter.csproj 0 → 100644 +10 −0 Original line number Diff line number Diff line <Project Sdk="Microsoft.Quantum.Sdk/0.18.2107153439"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <QirGeneration>true</QirGeneration> <BuildOutputPath>$(MSBuildThisFileDirectory)build</BuildOutputPath> </PropertyGroup> </Project> Loading
benchmarks/openqasm3/trotter/pytket_script.py +22 −22 Original line number Diff line number Diff line Loading @@ -5,11 +5,11 @@ from pytket.extensions.qiskit import AerStateBackend from pytket.passes import FullPeepholeOptimise nb_steps = 100 nb_qubits = 50 step_size = 0.01 n_qubits = [5, 10, 20, 30, 40, 50] for nb_qubits in n_qubits: # Start timer start = time.time() circ = Circuit(nb_qubits) h = 1.0 Loading @@ -29,7 +29,7 @@ circ = backend.get_compiled_circuit(circ) FullPeepholeOptimise().apply(circ) end = time.time() print('Elapsed time =', end - start, '[secs]') print('n_qubits =', nb_qubits, '; Elapsed time =', end - start, '[secs]') for com in circ: # equivalently, circ.get_commands() print(com.op, com.op.type, com.args) No newline at end of file # for com in circ: # equivalently, circ.get_commands() # print(com.op, com.op.type, com.args) No newline at end of file
benchmarks/openqasm3/trotter/qiskit_script.py +1 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ def trotter_circ(q, exp_args, n_steps): qc += PauliTrotterEvolution().convert(EvolvedOp(sub_op)).to_circuit() return qc n_qubits = [5, 10, 20, 50, 100] n_qubits = [5, 10, 20, 30, 40, 50] nbSteps = 100 for nbQubits in n_qubits: Loading
benchmarks/openqasm3/trotter/qsharp/driver.cpp 0 → 100644 +6 −0 Original line number Diff line number Diff line extern "C" void Benchmark__Heisenberg__CircuitGen(); int main(int argc, char* argv[]){ Benchmark__Heisenberg__CircuitGen(); return 0; } No newline at end of file
benchmarks/openqasm3/trotter/qsharp/timing_driver.py 0 → 100644 +22 −0 Original line number Diff line number Diff line # Timing the total Q# compilation workflow via QIR # Reference: https://github.com/microsoft/qsharp-compiler/tree/main/examples/QIR/Optimization import time, os, sys os.chdir(sys.path[0]) start = time.time() # Dotnet build -> generate ll file (unoptimized) os.system('dotnet build') # Optimize LLVM IR os.system('/usr/local/aideqc/llvm/bin/clang -S qir/trotter.ll -O3 -emit-llvm -o qir/trotter-o3.ll') # Compile and link: os.system('/usr/local/aideqc/llvm/bin/llvm-as qir/trotter-o3.ll -o qir/trotter.bc') os.system('/usr/local/aideqc/llvm/bin/llc -filetype=obj qir/trotter.bc -o qir/trotter.o') os.system('/usr/local/aideqc/llvm/bin/clang++ -Wno-unused-command-line-argument -Wno-override-module -rdynamic -Wl,-rpath,/root/.xacc/lib:/root/.xacc/lib:/usr/local/aideqc/llvm/lib:/root/.xacc/clang-plugins -L /root/.xacc/lib -lqcor -lqrt -lqcor-jit -lqcor-quasimo -L /root/.xacc/lib -lxacc -lCppMicroServices -lxacc-quantum-gate -lxacc-pauli -lxacc-fermion -lpthread -lqir-qrt -D__internal__qcor__compile__backend="qpp" qir/trotter.o driver.cpp -o qir/a.out') end = time.time() print('Elapsed time:', end - start, ' [secs]') # Clean up (no incremental builds) os.system('rm -rf bin') os.system('rm -rf obj') os.system('rm -rf qir')
benchmarks/openqasm3/trotter/qsharp/trotter.csproj 0 → 100644 +10 −0 Original line number Diff line number Diff line <Project Sdk="Microsoft.Quantum.Sdk/0.18.2107153439"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <QirGeneration>true</QirGeneration> <BuildOutputPath>$(MSBuildThisFileDirectory)build</BuildOutputPath> </PropertyGroup> </Project>