Spaces:
Runtime error
Runtime error
File size: 4,354 Bytes
f415c73 3c7abdd f415c73 4298361 f415c73 4298361 f415c73 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import rc
import matplotlib.ticker as ticker
from matplotlib.ticker import MaxNLocator
# from matplotlib import pyplot
fig_width_pt = 246.0 # Get this from LaTeX using \showthe\columnwidth
inches_per_pt = 1.0/72.27 # Convert pt to inch
golden_mean = (np.sqrt(5)-1.0)/2.0 # Aesthetic ratio
fig_width = fig_width_pt*inches_per_pt # width in inches
fig_height = fig_width*golden_mean # height in inches
# fig_size = [fig_width+1.25,fig_height+1.25]
# rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
params = {'backend': 'ps',
'axes.labelsize': 14,
'axes.titlesize': 12,
'font.size': 8,
'legend.fontsize': 12,
'xtick.labelsize': 14,
'ytick.labelsize': 14,}
# 'text.usetex': True}
# 'figure.figsize': fig_size}
# plt.rc('text.latex', preamble=r'\usepackage{braket}')
plt.rcParams.update(params)
# cm = plt.get_cmap('tab20')
# n_colors = 20
# x_arr = [cm(1.*i/n_colors) for i in range(n_colors)]
# s_arr = ["o", "*", "s", "^", "D", "v"]
# s_arr = Line2D.filled_markers*100
x_arr = ['grey', 'indianred', 'thistle', 'red', 'saddlebrown', 'peru', 'darkorange', 'gold', 'darkkhaki', 'limegreen', 'darkslategray', 'deepskyblue', 'mediumpurple', 'darkorchid', 'magenta', 'aqua', 'lightgreen', 'lightcoral', 'chocolate', 'pink', 'darkmagenta', 'lightsalmon', 'darkcyan', 'tan']
s_arr = ['o', 'v', '^', '<', '>', '8', 's', 'p', '*', 'h', 'H', 'D', 'd', 'P', 'X', '+', '2', '4']*50
pkg_str = ['cirq', 'hybridq', 'intel_qs_cpp', 'pennylane_l', 'projectq', 'qcgpu', 'qibojit', 'qsimcirq', 'quest', 'svsim', 'yao', 'hiq', 'pennylane', 'qibo', 'qiskit', 'qrack_sch', 'qulacs', 'cuquantum_qiskit', 'cuquantum_qsimcirq', 'qpanda', 'qpp', 'myqlm', 'myqlm_cpp', 'braket']
task = ['hdyn', 'rqc', 'qft']
com_cap = ['singlethread', 'multithread', 'gpu']
prec = ['sp', 'dp']
storage_dict = {}
for pkg in pkg_str:
storage_dict.update({pkg:pkg})
label_dict = {}
for pkg in pkg_str:
for t in task:
for cc in com_cap:
for p in prec:
label_dict.update({pkg+'_'+t+'_'+cc+'_'+p:pkg})
for t in task:
for p in prec:
for ngpu in [1, 2, 4, 8]:
label_dict.update({'cuquantum_qiskit_{}_gpu_{}_{}'.format(t, ngpu, p):'[{}]cuquantum(qiskit)'.format(ngpu)})
for t in task:
for p in prec:
for ngpu in [1, 2, 4, 8]:
label_dict.update({'cuquantum_qsimcirq_{}_gpu_{}_{}'.format(t, ngpu, p):'[{}]cuquantum(qsimcirq)'.format(ngpu)})
for t in task:
for p in prec:
for ngpu in [1, 2, 4, 8]:
label_dict.update({'qibojit_{}_gpu_{}_{}'.format(t, ngpu, p):'[{}]qibojit'.format(ngpu)})
color_dict = {}
n_c = 0
for pkg in pkg_str:
for t in task:
for cc in com_cap:
for p in prec:
color_dict.update({pkg+'_'+t+'_'+cc+'_'+p:x_arr[n_c]})
n_c = n_c + 1
for t in task:
for p in prec:
for ngpu in [1, 2, 4, 8]:
color_dict.update({'cuquantum_qiskit_{}_gpu_{}_{}'.format(t, ngpu, p):color_dict['cuquantum_qiskit_{}_gpu_{}'.format(t, p)]})
for t in task:
for p in prec:
for ngpu in [1, 2, 4, 8]:
color_dict.update({'cuquantum_qsimcirq_{}_gpu_{}_{}'.format(t, ngpu, p):color_dict['cuquantum_qsimcirq_{}_gpu_{}'.format(t, p)]})
for t in task:
for p in prec:
for ngpu in [1, 2, 4, 8]:
color_dict.update({'qibojit_{}_gpu_{}_{}'.format(t, ngpu, p):color_dict['qibojit_{}_gpu_{}'.format(t, p)]})
symbol_dict = {}
n_s = 0
for pkg in pkg_str:
for t in task:
for cc in com_cap:
for p in prec:
symbol_dict.update({pkg+'_'+t+'_'+cc+'_'+p:s_arr[n_s]})
n_s = n_s + 1
m_arr = ['v', '^', '<', '>']
for t in task:
for p in prec:
for ind, ngpu in enumerate([1, 2, 4, 8]):
symbol_dict.update({'cuquantum_qiskit_{}_gpu_{}_{}'.format(t, ngpu, p):m_arr[ind]})
for t in task:
for p in prec:
for ind, ngpu in enumerate([1, 2, 4, 8]):
symbol_dict.update({'cuquantum_qsimcirq_{}_gpu_{}_{}'.format(t, ngpu, p):m_arr[ind]})
for t in task:
for p in prec:
for ind, ngpu in enumerate([1, 2, 4, 8]):
symbol_dict.update({'qibojit_{}_gpu_{}_{}'.format(t, ngpu, p):m_arr[ind]})
|