QNLP  v1.0
simple_MPI.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 # coding: utf-8
3 
4 from mpi4py import MPI
5 
6 from PyQNLPSimulator import PyQNLPSimulator as p
7 import QNLP as q
8 import numpy as np
9 
10 num_qubits = 24
11 
12 # Create simulator object
13 
14 use_fusion = False
15 
16 sim = p(num_qubits, use_fusion)
17 sim.initRegister()
18 
19 comm = MPI.COMM_WORLD
20 rank = comm.Get_rank()
21 val = 0
22 
23 sim.applyGateX(0)
24 sim.applyGateH(2)
25 sim.applyGateH(4)
26 sim.applyGateX(7)
27 sim.applyGateX(22)
28 
29 val = sim.applyMeasurementToRegister(range(num_qubits), True)
30 print("RANK={} VAL={}".format(rank,val))
31 
32 comm.Barrier()
33 
34 """
35 # Note, performing operations on rank=0 only will causes failures. The following example will fail.
36 if rank == 0:
37  sim.initRegister()
38  val = sim.applyMeasurementToRegister(range(num_qubits), True)
39  print(val)
40 """