From 49c3778e558bb654fefd8901b1b57ed5223dc232 Mon Sep 17 00:00:00 2001 From: Paul Nation Date: Fri, 14 Dec 2018 23:16:45 -0500 Subject: [PATCH] Backend monitor and overview (#1231) * Fix parallezation in transpile.compile * Revert "Fix parallezation in transpile.compile" This reverts commit 98e78d05df49cd361ca543a49301c43ed866e294. * remove oops files * Initial commit for backend_monitor * fix coupling map plotter * forgot to delete line * column labels never move * updates * fix lint * fix module docs * more lint fixes * more lint * linting broke my style * fix TextProgress Bar moved to jupyter folder * updates * fix plotting issue * add type check * fix typo * fix noise plots for symmetric gate_maps * fix style * fix missing docstring * whitespace * fix circular import caused by circuits now using visuals * fix test * need to check HAS_MATPLOTLIB now * add new test notebook * fix path setting * do not need path setting * updates * look for ci env * fix * fix least_busy sort * impliment Diego's fix * fix lint * call it an error map * add to changelog * alignment fixes * fix overview * lint * fix notebooks * text based backend overview * lint fix * import fixes * updates * add test * add backend_monitor * fix for ibmq_qasm_sim and test --- CHANGELOG.rst | 2 + qiskit/backends/aer/qasm_simulator_cpp | Bin 0 -> 614612 bytes qiskit/tools/__init__.py | 2 +- qiskit/tools/jupyter/__init__.py | 10 +- qiskit/tools/jupyter/backend_monitor.py | 569 ++++++++++++++++++ qiskit/tools/jupyter/backend_overview.py | 257 ++++++++ qiskit/tools/jupyter/jupyter_magics.py | 3 +- qiskit/tools/monitor/__init__.py | 14 + qiskit/tools/monitor/backend_overview.py | 186 ++++++ .../{monitor.py => monitor/job_monitor.py} | 0 qiskit/tools/visualization/__init__.py | 3 + qiskit/tools/visualization/_gate_map.py | 206 +++++++ qiskit/transpiler/progressbar.py | 152 +++++ .../python/notebooks/test_backend_tools.ipynb | 117 ++++ test/python/notebooks/test_pbar_status.ipynb | 20 +- test/python/tools/jupyter/test_notebooks.py | 36 +- .../tools/monitor/test_backend_monitor.py | 37 ++ .../tools/{ => monitor}/test_job_monitor.py | 7 +- 18 files changed, 1598 insertions(+), 23 deletions(-) create mode 100755 qiskit/backends/aer/qasm_simulator_cpp create mode 100644 qiskit/tools/jupyter/backend_monitor.py create mode 100644 qiskit/tools/jupyter/backend_overview.py create mode 100644 qiskit/tools/monitor/__init__.py create mode 100644 qiskit/tools/monitor/backend_overview.py rename qiskit/tools/{monitor.py => monitor/job_monitor.py} (100%) create mode 100644 qiskit/tools/visualization/_gate_map.py create mode 100644 qiskit/transpiler/progressbar.py create mode 100644 test/python/notebooks/test_backend_tools.ipynb create mode 100644 test/python/tools/monitor/test_backend_monitor.py rename test/python/tools/{ => monitor}/test_job_monitor.py (89%) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 63b1db744440..5a8958f19500 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -43,6 +43,8 @@ Added QuantumCircuit class. (#1172) - New methods in QuantumCircuit for common circuit metrics: `size()`, `depth()`, `width()`, `count_ops()`, `num_tensor_factors()` (#1285) +- Added `backend_monitor` and `backend_overview` Jupyter magics, + as well as `plot_coupling_map` (#1231) - Added a `Layout` object (#1313) - Added a BasicMapper pass (#1270) - New `plot_bloch_multivector()` to plot Bloch vectors from a tensored state diff --git a/qiskit/backends/aer/qasm_simulator_cpp b/qiskit/backends/aer/qasm_simulator_cpp new file mode 100755 index 0000000000000000000000000000000000000000..6976a3dea93aaff9e6ccb10e31a0c0710470e393 GIT binary patch literal 614612 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

6Slt-V}0N4=d`QLbmH+MOi82 zy&hJiFQRB4iheUD1E&5k)?tihL;g8C}uO(B+Ko zv?%%+UD40zihf2{sG7P$*VGltrmpCZ^d?2wEBYv1(MRcuK1x^gQM#g!(iMG=uIPJo zMc<<<`V_kV(p}Dq{zF&v3%a6Tpi4I0@hSQRUDYqd6!I_Tu2&&N{}BqhWp+r>r-Xv; zdKFUiGjt26D<2_6pAu5^DIrCl5>oUjAw{1OQuHYyMV}H<^eG`lpAu4x8AFPGCZy<+NLXL+O zay+b%#bJdk4lCqjSRp6F3ON~8lzmtsC+Uu0cYYP$BdjWWg-i@9WFlQV?0$zr)`bpD86q*p%+IKaxJ2eYY~N9izwt;L?PEA3b__h$gqe)hD8+eDx#2A5rw>p zDD>ipLS97_vMHjFLlH&$h$!SsL?K@yiZ&Bb=)e($4jfVFz!8NG98u`N5rw`RQOspT z!fyQ~qR@dO3LQA2(19ZgeK(@eZ6gZZHlomNBMRL%qLA4Uh0Km9blZqRw~Z)t+lWH9 zjVN^6h@xMJC}d(pArm7CnHW*%u@QwH8&Sy4h(dNo6#Y>|p|eI5I%`CsvqluMIHH&@ zi74c5L?L%03b`9m=%cA*%?*H z&Zt6mMit}zs6y67732M=LjFY+@-M28e^G_}iz?(_R59LRm?R<74kHykf%|FJdG;!*r-CrMip}aQH9)% zD#j#Hg)ELLbmgc*K1UV$b5tR-qY9ZFRmkk9LS{!5GCQi0*$UmeNg>CZ6mq;tp`$k` zbo3^LY;RKN=uHY8y-A^uH!1Y-CPlx{q|nEk6!Q#CivFWXp^rC_K28P*8#cmxOl!8@ z+e^2_rIQ0y-`*=@+EBBYR@Ne>ps)?q!knwjppheK5+c)E!?%R+mIZnVT_Y&+g10EL zVt&Mk^&|ES_08@Jn$Z}g)@Ni$yxwWZ%y(#QFhBcj0-0rBWgz~T-o +table { + border-collapse: collapse; + width: auto; +} + +th, td { + text-align: left; + padding: 8px; +} + +tr:nth-child(even) {background-color: #f6f6f6;} +""" + + footer = "" + + # Upper HBox widget data + + upper_str += "PropertyValue" + for key in upper_list: + upper_str += "%s%s" % ( + key, config_dict[key]) + upper_str += footer + + upper_table = widgets.HTML( + value=upper_str, layout=widgets.Layout(width='100%', grid_area='left')) + + image_widget = widgets.Output( + layout=widgets.Layout(display='flex-inline', grid_area='right', + padding='10px 10px 10px 10px', + width='auto', max_height='300px', + align_items='center')) + + if not config['simulator']: + with image_widget: + gate_map = plot_gate_map(backend) + display(gate_map) + plt.close(gate_map) + + lower_str = "" + lower_str += """""" + lower_str += "" + for key in lower_list: + if key != 'name': + lower_str += "" % ( + key, config_dict[key]) + lower_str += footer + + lower_table = widgets.HTML(value=lower_str, + layout=widgets.Layout( + width='auto', + grid_area='bottom')) + + grid = widgets.GridBox(children=[upper_table, image_widget, lower_table], + layout=widgets.Layout( + grid_template_rows='auto auto', + grid_template_columns='25% 25% 25% 25%', + grid_template_areas=''' + "left right right right" + "bottom bottom bottom bottom" + ''', + grid_gap='0px 0px')) + + return grid + + +def qubits_tab(backend): + """The qubits properties widget + + Args: + backend (IBMQbackend): The backend. + + Returns: + VBox: A VBox widget. + """ + props = backend.properties().to_dict() + + header_html = "
{key}: {value}
" + header_html = header_html.format(key='last_update_date', + value=props['last_update_date']) + update_date_widget = widgets.HTML(value=header_html) + + qubit_html = "
%s%s
" + qubit_html += """""" + + qubit_html += "" + qubit_html += "" + qubit_html += "" + qubit_footer = "
FrequencyT1T2U1 gate errorU2 gate errorU3 gate errorReadout error
" + + for qub in range(len(props['qubits'])): + name = 'Q%s' % qub + qubit_data = props['qubits'][qub] + gate_data = props['gates'][3*qub:3*qub+3] + t1_info = qubit_data[0] + t2_info = qubit_data[1] + freq_info = qubit_data[2] + readout_info = qubit_data[3] + + freq = str(round(freq_info['value'], 5))+' '+freq_info['unit'] + T1 = str(round(t1_info['value'], # pylint: disable=invalid-name + 5))+' ' + t1_info['unit'] + T2 = str(round(t2_info['value'], # pylint: disable=invalid-name + 5))+' ' + t2_info['unit'] + # pylint: disable=invalid-name + U1 = str(round(gate_data[0]['parameters'][0]['value'], 5)) + # pylint: disable=invalid-name + U2 = str(round(gate_data[1]['parameters'][0]['value'], 5)) + # pylint: disable=invalid-name + U3 = str(round(gate_data[2]['parameters'][0]['value'], 5)) + + readout_error = round(readout_info['value'], 5) + qubit_html += "%s%s" + qubit_html += "%s%s%s%s%s%s" + qubit_html = qubit_html % (name, freq, T1, T2, U1, U2, U3, readout_error) + qubit_html += qubit_footer + + qubit_widget = widgets.HTML(value=qubit_html) + + out = widgets.VBox([update_date_widget, + qubit_widget]) + + return out + + +def gates_tab(backend): + """The multiple qubit gate error widget. + + Args: + backend (IBMQbackend): The backend. + + Returns: + VBox: A VBox widget. + """ + config = backend.configuration().to_dict() + props = backend.properties().to_dict() + + multi_qubit_gates = props['gates'][3*config['n_qubits']:] + + header_html = "
{key}: {value}
" + header_html = header_html.format(key='last_update_date', + value=props['last_update_date']) + + update_date_widget = widgets.HTML(value=header_html, + layout=widgets.Layout(grid_area='top')) + + gate_html = "" + gate_html += """""" + + gate_html += "" + gate_footer = "
TypeGate error
" + + # Split gates into two columns + left_num = math.ceil(len(multi_qubit_gates)/3) + mid_num = math.ceil((len(multi_qubit_gates)-left_num)/2) + + left_table = gate_html + + for qub in range(left_num): + gate = multi_qubit_gates[qub] + name = gate['name'] + ttype = gate['gate'] + error = round(gate['parameters'][0]['value'], 5) + + left_table += "%s" + left_table += "%s%s" + left_table = left_table % (name, ttype, error) + left_table += gate_footer + + middle_table = gate_html + + for qub in range(left_num, left_num+mid_num): + gate = multi_qubit_gates[qub] + name = gate['name'] + ttype = gate['gate'] + error = round(gate['parameters'][0]['value'], 5) + + middle_table += "%s" + middle_table += "%s%s" + middle_table = middle_table % (name, ttype, error) + middle_table += gate_footer + + right_table = gate_html + + for qub in range(left_num+mid_num, len(multi_qubit_gates)): + gate = multi_qubit_gates[qub] + name = gate['name'] + ttype = gate['gate'] + error = round(gate['parameters'][0]['value'], 5) + + right_table += "%s" + right_table += "%s%s" + right_table = right_table % (name, ttype, error) + right_table += gate_footer + + left_table_widget = widgets.HTML(value=left_table, + layout=widgets.Layout(grid_area='left')) + middle_table_widget = widgets.HTML(value=middle_table, + layout=widgets.Layout(grid_area='middle')) + right_table_widget = widgets.HTML(value=right_table, + layout=widgets.Layout(grid_area='right')) + + grid = widgets.GridBox(children=[update_date_widget, + left_table_widget, + middle_table_widget, + right_table_widget], + layout=widgets.Layout( + grid_template_rows='auto auto', + grid_template_columns='33% 33% 33%', + grid_template_areas=''' + "top top top" + "left middle right" + ''', + grid_gap='0px 0px')) + + return grid + + +def detailed_map(backend): + """Widget for displaying detailed noise map. + + Args: + backend (IBMQbackend): The backend. + + Returns: + GridBox: Widget holding noise map images. + """ + props = backend.properties().to_dict() + config = backend.configuration().to_dict() + single_gate_errors = [q['parameters'][0]['value'] + for q in props['gates'][2:3*config['n_qubits']:3]] + single_norm = matplotlib.colors.Normalize( + vmin=min(single_gate_errors), vmax=max(single_gate_errors)) + q_colors = [cm.viridis(single_norm(err)) for err in single_gate_errors] + + cmap = config['coupling_map'] + + cx_errors = [] + for line in cmap: + for item in props['gates'][3*config['n_qubits']:]: + if item['qubits'] == line: + cx_errors.append(item['parameters'][0]['value']) + break + else: + continue + + cx_norm = matplotlib.colors.Normalize( + vmin=min(cx_errors), vmax=max(cx_errors)) + line_colors = [cm.viridis(cx_norm(err)) for err in cx_errors] + + single_widget = widgets.Output(layout=widgets.Layout(display='flex-inline', grid_area='left', + align_items='center')) + + cmap_widget = widgets.Output(layout=widgets.Layout(display='flex-inline', grid_area='top', + width='auto', height='auto', + align_items='center')) + + cx_widget = widgets.Output(layout=widgets.Layout(display='flex-inline', grid_area='right', + align_items='center')) + + tick_locator = mpl.ticker.MaxNLocator(nbins=5) + with cmap_widget: + noise_map = plot_gate_map(backend, qubit_color=q_colors, + line_color=line_colors, + qubit_size=28, + plot_directed=True) + width, height = noise_map.get_size_inches() + + noise_map.set_size_inches(1.25*width, 1.25*height) + + display(noise_map) + plt.close(noise_map) + + with single_widget: + cbl_fig = plt.figure(figsize=(3, 1)) + ax1 = cbl_fig.add_axes([0.05, 0.80, 0.9, 0.15]) + single_cb = mpl.colorbar.ColorbarBase(ax1, cmap=cm.viridis, + norm=single_norm, + orientation='horizontal') + single_cb.locator = tick_locator + single_cb.update_ticks() + ax1.set_title('Single-qubit U3 error rate') + display(cbl_fig) + plt.close(cbl_fig) + + with cx_widget: + cx_fig = plt.figure(figsize=(3, 1)) + ax2 = cx_fig.add_axes([0.05, 0.80, 0.9, 0.15]) + cx_cb = mpl.colorbar.ColorbarBase(ax2, cmap=cm.viridis, + norm=cx_norm, + orientation='horizontal') + cx_cb.locator = tick_locator + cx_cb.update_ticks() + ax2.set_title('CNOT error rate') + display(cx_fig) + plt.close(cx_fig) + + out_box = widgets.GridBox([single_widget, cmap_widget, cx_widget], + layout=widgets.Layout( + grid_template_rows='auto auto', + grid_template_columns='33% 33% 33%', + grid_template_areas=''' + "top top top" + "left . right" + ''', + grid_gap='0px 0px')) + return out_box + + +def job_history(backend): + """Widget for displaying job history + + Args: + backend (IBMQbackend): The backend. + + Returns: + Tab: A tab widget for history images. + """ + year = widgets.Output(layout=widgets.Layout(display='flex-inline', + align_items='center', + min_height='400px')) + + month = widgets.Output(layout=widgets.Layout(display='flex-inline', + align_items='center', + min_height='400px')) + + week = widgets.Output(layout=widgets.Layout(display='flex-inline', + align_items='center', + min_height='400px')) + + tabs = widgets.Tab(layout=widgets.Layout(max_height='620px')) + tabs.children = [year, month, week] + tabs.set_title(0, 'Year') + tabs.set_title(1, 'Month') + tabs.set_title(2, 'Week') + tabs.selected_index = 1 + + _build_job_history(tabs, backend) + return tabs + + +def _build_job_history(tabs, backend): + + backends = IBMQ.backends(backend.name()) + past_year_date = datetime.datetime.now() - datetime.timedelta(days=365) + date_filter = {'creationDate': {'gt': past_year_date.isoformat()}} + jobs = [] + for back in backends: + jobs.extend(back.jobs(limit=None, db_filter=date_filter)) + + with tabs.children[1]: + month_plot = plot_job_history(jobs, interval='month') + display(month_plot) + plt.close(month_plot) + + with tabs.children[0]: + year_plot = plot_job_history(jobs, interval='year') + display(year_plot) + plt.close(year_plot) + + with tabs.children[2]: + week_plot = plot_job_history(jobs, interval='week') + display(week_plot) + plt.close(week_plot) + + +def plot_job_history(jobs, interval='year'): + """Plots the job history of the user from the given list of jobs. + + Args: + jobs (list): A list of jobs with type IBMQjob. + interval (str): Interval over which to examine. + + Returns: + fig: A Matplotlib figure instance. + """ + def get_date(job): + """Returns a datetime object from a IBMQJob instance. + + Args: + job (IBMQJob): A job. + + Returns: + dt: A datetime object. + """ + return datetime.datetime.strptime(job.creation_date(), + '%Y-%m-%dT%H:%M:%S.%fZ') + + current_time = datetime.datetime.now() + + if interval == 'year': + bins = [(current_time - datetime.timedelta(days=k*365/12)) + for k in range(12)] + elif interval == 'month': + bins = [(current_time - datetime.timedelta(days=k)) for k in range(30)] + elif interval == 'week': + bins = [(current_time - datetime.timedelta(days=k)) for k in range(7)] + + binned_jobs = [0]*len(bins) + + if interval == 'year': + for job in jobs: + for ind, dat in enumerate(bins): + date = get_date(job) + if date.month == dat.month: + binned_jobs[ind] += 1 + break + else: + continue + else: + for job in jobs: + for ind, dat in enumerate(bins): + date = get_date(job) + if date.day == dat.day and date.month == dat.month: + binned_jobs[ind] += 1 + break + else: + continue + + nz_bins = [] + nz_idx = [] + for ind, val in enumerate(binned_jobs): + if val != 0: + nz_idx.append(ind) + nz_bins.append(val) + + total_jobs = sum(binned_jobs) + + colors = ['#003f5c', '#ffa600', '#374c80', '#ff764a', + '#7a5195', '#ef5675', '#bc5090'] + + if interval == 'year': + labels = ['{}-{}'.format(str(bins[b].year)[2:], bins[b].month) for b in nz_idx] + else: + labels = ['{}-{}'.format(bins[b].month, bins[b].day) for b in nz_idx] + fig, ax = plt.subplots(1, 1, figsize=(5, 5)) # pylint: disable=invalid-name + ax.pie(nz_bins[::-1], labels=labels, colors=colors, textprops={'fontsize': 14}, + rotatelabels=True, counterclock=False) + ax.add_artist(Circle((0, 0), 0.7, color='white', zorder=1)) + ax.text(0, 0, total_jobs, horizontalalignment='center', + verticalalignment='center', fontsize=26) + fig.tight_layout() + return fig diff --git a/qiskit/tools/jupyter/backend_overview.py b/qiskit/tools/jupyter/backend_overview.py new file mode 100644 index 000000000000..b2f7f098dce8 --- /dev/null +++ b/qiskit/tools/jupyter/backend_overview.py @@ -0,0 +1,257 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018, IBM. +# +# This source code is licensed under the Apache License, Version 2.0 found in +# the LICENSE.txt file in the root directory of this source tree. + +"""A module for monitoring backends.""" + +import time +import threading +import types +from IPython.display import display # pylint: disable=import-error +from IPython.core.magic import line_magic, Magics, magics_class # pylint: disable=import-error +from IPython.core import magic_arguments # pylint: disable=import-error +import ipywidgets as widgets # pylint: disable=import-error +import matplotlib.pyplot as plt +from qiskit.tools.monitor.backend_overview import get_unique_backends +from qiskit.tools.visualization._gate_map import plot_gate_map + + +@magics_class +class BackendOverview(Magics): + """A class of status magic functions. + """ + @line_magic + @magic_arguments.magic_arguments() + @magic_arguments.argument( + '-i', + '--interval', + type=float, + default=60, + help='Interval for status check.' + ) + def qiskit_backend_overview(self, line='', cell=None): # pylint: disable=W0613 + """A Jupyter magic function to monitor backends. + """ + args = magic_arguments.parse_argstring( + self.qiskit_backend_overview, line) + + unique_hardware_backends = get_unique_backends() + _value = "

Backend Overview

" + backend_title = widgets.HTML(value=_value, + layout=widgets.Layout(margin='0px 0px 0px 0px')) + + build_back_widgets = [backend_widget(b) + for b in unique_hardware_backends] + + _backends = [] + # Sort backends by operational or not + oper_ord_backends = [] + for n, back in enumerate(unique_hardware_backends): + if back.status().operational: + oper_ord_backends = [build_back_widgets[n]] + oper_ord_backends + _backends = [back] + _backends + else: + oper_ord_backends = oper_ord_backends + [build_back_widgets[n]] + _backends = _backends + [back] + + qubit_label = widgets.Label(value='Num. Qubits') + pend_label = widgets.Label(value='Pending Jobs') + least_label = widgets.Label(value='Least Busy') + oper_label = widgets.Label( + value='Operational', layout=widgets.Layout(margin='5px 0px 0px 0px')) + t1_label = widgets.Label( + value='Avg. T1', layout=widgets.Layout(margin='10px 0px 0px 0px')) + t2_label = widgets.Label( + value='Avg. T2', layout=widgets.Layout(margin='10px 0px 0px 0px')) + + labels_widget = widgets.VBox([qubit_label, pend_label, least_label, + oper_label, t1_label, t2_label], + layout=widgets.Layout(margin='295px 0px 0px 0px', + min_width='100px')) + + backend_grid = GridBox_with_thread(children=oper_ord_backends, + layout=widgets.Layout( + grid_template_columns='250px ' * + len(unique_hardware_backends), + grid_template_rows='auto', + grid_gap='0px 25px')) + + backend_grid._backends = _backends # pylint: disable=W0201 + backend_grid._update = types.MethodType( # pylint: disable=W0201 + update_backend_info, backend_grid) + + backend_grid._thread = threading.Thread( # pylint: disable=W0201 + target=backend_grid._update, args=(args.interval,)) + backend_grid._thread.start() + + back_box = widgets.HBox([labels_widget, backend_grid]) + + back_monitor = widgets.VBox([backend_title, back_box]) + display(back_monitor) + + +class GridBox_with_thread(widgets.GridBox): # pylint: disable=invalid-name + """A GridBox that will close an attached thread + """ + def __del__(self): + """Object disposal""" + if hasattr(self, '_thread'): + try: + self._thread.do_run = False + self._thread.join() + except Exception: # pylint: disable=W0703 + pass + self.close() + + +def backend_widget(backend): + """Creates a backend widget. + """ + config = backend.configuration().to_dict() + props = backend.properties().to_dict() + + name = widgets.HTML(value="

{name}

".format(name=backend.name()), + layout=widgets.Layout()) + + n_qubits = config['n_qubits'] + + qubit_count = widgets.HTML(value="
{qubits}
".format(qubits=n_qubits), + layout=widgets.Layout(justify_content='center')) + + cmap = widgets.Output(layout=widgets.Layout(min_width='250px', max_width='250px', + max_height='250px', + min_height='250px', + justify_content='center', + align_items='center', + margin='0px 0px 0px 0px')) + + with cmap: + _cmap_fig = plot_gate_map(backend, + plot_directed=False, + label_qubits=False) + if _cmap_fig is not None: + display(_cmap_fig) + # Prevents plot from showing up twice. + plt.close(_cmap_fig) + + pending = generate_jobs_pending_widget() + + is_oper = widgets.HTML(value="
", + layout=widgets.Layout(justify_content='center')) + + least_busy = widgets.HTML(value="
", + layout=widgets.Layout(justify_content='center')) + + t1_units = props['qubits'][0][0]['unit'] + avg_t1 = round(sum([q[0]['value'] for q in props['qubits']])/n_qubits, 1) + t1_widget = widgets.HTML(value="
{t1} {units}
".format(t1=avg_t1, units=t1_units), + layout=widgets.Layout()) + + t2_units = props['qubits'][0][1]['unit'] + avg_t2 = round(sum([q[1]['value'] for q in props['qubits']])/n_qubits, 1) + t2_widget = widgets.HTML(value="
{t2} {units}
".format(t2=avg_t2, units=t2_units), + layout=widgets.Layout()) + + out = widgets.VBox([name, cmap, qubit_count, pending, + least_busy, is_oper, t1_widget, t2_widget], + layout=widgets.Layout(display='inline-flex', + flex_flow='column', + align_items='center')) + + out._is_alive = True + return out + + +def update_backend_info(self, interval=60): + """Updates the monitor info + Called from another thread. + """ + my_thread = threading.currentThread() + current_interval = 0 + started = False + all_dead = False + stati = [None]*len(self._backends) + while getattr(my_thread, "do_run", True) and not all_dead: + if current_interval == interval or started is False: + for ind, back in enumerate(self._backends): + _value = self.children[ind].children[2].value + _head = _value.split('')[0] + try: + _status = back.status() + stati[ind] = _status + except Exception: # pylint: disable=W0703 + self.children[ind].children[2].value = _value.replace( + _head, "
") + self.children[ind]._is_alive = False + else: + self.children[ind]._is_alive = True + self.children[ind].children[2].value = _value.replace( + _head, "
") + + idx = list(range(len(self._backends))) + pending = [s.pending_jobs for s in stati] + _, least_idx = zip(*sorted(zip(pending, idx))) + + # Make sure least pending is operational + for ind in least_idx: + if stati[ind].operational: + least_pending_idx = ind + break + + for var in idx: + if var == least_pending_idx: + self.children[var].children[4].value = "
True
" + else: + self.children[var].children[4].value = "
False
" + + self.children[var].children[3].children[1].value = pending[var] + self.children[var].children[3].children[1].max = max( + self.children[var].children[3].children[1].max, pending[var]+10) + if stati[var].operational: + self.children[var].children[5].value = "
True
" + else: + self.children[var].children[5].value = "
False
" + + started = True + current_interval = 0 + time.sleep(1) + all_dead = not any([wid._is_alive for wid in self.children]) + current_interval += 1 + + +def generate_jobs_pending_widget(): + """Generates a jobs_pending progress bar widget. + """ + pbar = widgets.IntProgress( + value=0, + min=0, + max=50, + description='', + orientation='horizontal', layout=widgets.Layout(max_width='180px')) + pbar.style.bar_color = '#71cddd' + + pbar_current = widgets.Label( + value=str(pbar.value), layout=widgets.Layout(min_width='auto')) + pbar_max = widgets.Label( + value=str(pbar.max), layout=widgets.Layout(min_width='auto')) + + def _on_max_change(change): + pbar_max.value = str(change['new']) + + def _on_val_change(change): + pbar_current.value = str(change['new']) + + pbar.observe(_on_max_change, names='max') + pbar.observe(_on_val_change, names='value') + + jobs_widget = widgets.HBox([pbar_current, pbar, pbar_max], + layout=widgets.Layout(max_width='250px', + min_width='250px', + justify_content='center')) + + return jobs_widget diff --git a/qiskit/tools/jupyter/jupyter_magics.py b/qiskit/tools/jupyter/jupyter_magics.py index 61658623263c..13322952646f 100644 --- a/qiskit/tools/jupyter/jupyter_magics.py +++ b/qiskit/tools/jupyter/jupyter_magics.py @@ -14,7 +14,8 @@ from IPython.core.magic import cell_magic, Magics, magics_class # pylint: disable=import-error import ipywidgets as widgets # pylint: disable=import-error import qiskit -from .progressbar import HTMLProgressBar, TextProgressBar +from qiskit.transpiler.progressbar import TextProgressBar +from .progressbar import HTMLProgressBar def _html_checker(job_var, interval, status, header): diff --git a/qiskit/tools/monitor/__init__.py b/qiskit/tools/monitor/__init__.py new file mode 100644 index 000000000000..cb0f88081af1 --- /dev/null +++ b/qiskit/tools/monitor/__init__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018, IBM. +# +# This source code is licensed under the Apache License, Version 2.0 found in +# the LICENSE.txt file in the root directory of this source tree. + +# pylint: disable=redefined-builtin + +"""A module for monitoring jobs, backends, etc. +""" + +from .job_monitor import job_monitor +from .backend_overview import backend_monitor, backend_overview diff --git a/qiskit/tools/monitor/backend_overview.py b/qiskit/tools/monitor/backend_overview.py new file mode 100644 index 000000000000..9a4dd116f894 --- /dev/null +++ b/qiskit/tools/monitor/backend_overview.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018, IBM. +# +# This source code is licensed under the Apache License, Version 2.0 found in +# the LICENSE.txt file in the root directory of this source tree. + +""" A module for viewing the details of all available devices. +""" + +import math +from qiskit.qiskiterror import QISKitError +from qiskit.backends.ibmq import IBMQ +from qiskit.backends.ibmq.ibmqbackend import IBMQBackend + + +def get_unique_backends(): + """Gets the unique backends that are available. + + Returns: + list: Unique available backends. + + Raises: + QISKitError: No backends available. + """ + backends = IBMQ.backends() + unique_hardware_backends = [] + unique_names = [] + for back in backends: + if back.name() not in unique_names and not back.configuration().simulator: + unique_hardware_backends.append(back) + unique_names.append(back.name()) + if not unique_hardware_backends: + raise QISKitError('No backends available.') + return unique_hardware_backends + + +def backend_monitor(backend): + """Monitor a single IBMQ backend. + + Args: + backend (IBMQBackend): Backend to monitor. + Raises: + QISKitError: Input is not a IBMQ backend. + """ + if not isinstance(backend, IBMQBackend): + raise QISKitError('Input variable is not of type IBMQBackend.') + config = backend.configuration().to_dict() + status = backend.status().to_dict() + config_dict = {**status, **config} + if not config['simulator']: + props = backend.properties().to_dict() + + print(backend.name()) + print('='*len(backend.name())) + print('Configuration') + print('-'*13) + offset = ' ' + + upper_list = ['n_qubits', 'operational', + 'status_msg', 'pending_jobs', + 'basis_gates', 'local', 'simulator'] + + lower_list = list(set(config_dict.keys()).difference(upper_list)) + # Remove gates because they are in a different tab + lower_list.remove('gates') + for item in upper_list+lower_list: + print(offset+item+':', config_dict[item]) + + # Stop here if simulator + if config['simulator']: + return + + print() + qubit_header = 'Qubits [Name / Freq / T1 / T2 / U1 err / U2 err / U3 err / Readout err]' + print(qubit_header) + print('-'*len(qubit_header)) + + sep = ' / ' + for qub in range(len(props['qubits'])): + name = 'Q%s' % qub + qubit_data = props['qubits'][qub] + gate_data = props['gates'][3*qub:3*qub+3] + t1_info = qubit_data[0] + t2_info = qubit_data[1] + freq_info = qubit_data[2] + readout_info = qubit_data[3] + + freq = str(round(freq_info['value'], 5))+' '+freq_info['unit'] + T1 = str(round(t1_info['value'], # pylint: disable=invalid-name + 5))+' ' + t1_info['unit'] + T2 = str(round(t2_info['value'], # pylint: disable=invalid-name + 5))+' ' + t2_info['unit'] + # pylint: disable=invalid-name + U1 = str(round(gate_data[0]['parameters'][0]['value'], 5)) + # pylint: disable=invalid-name + U2 = str(round(gate_data[1]['parameters'][0]['value'], 5)) + # pylint: disable=invalid-name + U3 = str(round(gate_data[2]['parameters'][0]['value'], 5)) + + readout_error = str(round(readout_info['value'], 5)) + + qstr = sep.join([name, freq, T1, T2, U1, U2, U3, readout_error]) + print(offset+qstr) + + print() + multi_qubit_gates = props['gates'][3*config['n_qubits']:] + multi_header = 'Multi-Qubit Gates [Name / Type / Gate Error]' + print(multi_header) + print('-'*len(multi_header)) + + for gate in multi_qubit_gates: + name = gate['name'] + ttype = gate['gate'] + error = str(round(gate['parameters'][0]['value'], 5)) + mstr = sep.join([name, ttype, error]) + print(offset+mstr) + + +def backend_overview(): + """Gives overview information on all the IBMQ + backends that are available. + """ + unique_hardware_backends = get_unique_backends() + _backends = [] + # Sort backends by operational or not + for idx, back in enumerate(unique_hardware_backends): + if back.status().operational: + _backends = [back] + _backends + else: + _backends = _backends + [back] + + stati = [back.status() for back in _backends] + idx = list(range(len(_backends))) + pending = [s.pending_jobs for s in stati] + _, least_idx = zip(*sorted(zip(pending, idx))) + + # Make sure least pending is operational + for ind in least_idx: + if stati[ind].operational: + least_pending_idx = ind + break + + num_rows = math.ceil(len(_backends)/3) + + count = 0 + num_backends = len(_backends) + for _ in range(num_rows): + max_len = 0 + str_list = ['']*8 + for idx in range(3): + offset = ' ' * 10 if idx else '' + config = _backends[count].configuration().to_dict() + props = _backends[count].properties().to_dict() + n_qubits = config['n_qubits'] + str_list[0] += (' '*(max_len-len(str_list[0]))+offset) + str_list[0] += _backends[count].name() + + str_list[1] += (' '*(max_len-len(str_list[1]))+offset) + str_list[1] += '-'*len(_backends[count].name()) + + str_list[2] += (' '*(max_len-len(str_list[2]))+offset) + str_list[2] += 'Num. Qubits: %s' % config['n_qubits'] + + str_list[3] += (' '*(max_len-len(str_list[3]))+offset) + str_list[3] += 'Pending Jobs: %s' % stati[count].pending_jobs + + str_list[4] += (' '*(max_len-len(str_list[4]))+offset) + str_list[4] += 'Least busy: %s' % (True if count == least_pending_idx else False) + + str_list[5] += (' '*(max_len-len(str_list[5]))+offset) + str_list[5] += 'Operational: %s' % stati[count].operational + + str_list[6] += (' '*(max_len-len(str_list[6]))+offset) + str_list[6] += 'Avg. T1: %s' % round(sum([q[0]['value'] + for q in props['qubits']])/n_qubits, 1) + str_list[7] += (' '*(max_len-len(str_list[7]))+offset) + str_list[7] += 'Avg. T2: %s' % round(sum([q[1]['value'] + for q in props['qubits']])/n_qubits, 1) + count += 1 + if count == num_backends: + break + max_len = max([len(s) for s in str_list]) + + print("\n".join(str_list)) + print('\n'*2) diff --git a/qiskit/tools/monitor.py b/qiskit/tools/monitor/job_monitor.py similarity index 100% rename from qiskit/tools/monitor.py rename to qiskit/tools/monitor/job_monitor.py diff --git a/qiskit/tools/visualization/__init__.py b/qiskit/tools/visualization/__init__.py index a1460b3167ee..480f0415c271 100644 --- a/qiskit/tools/visualization/__init__.py +++ b/qiskit/tools/visualization/__init__.py @@ -34,3 +34,6 @@ iplot_state_hinton, iplot_histogram, iplot_state_paulivec) + +if HAS_MATPLOTLIB: + from ._gate_map import plot_gate_map diff --git a/qiskit/tools/visualization/_gate_map.py b/qiskit/tools/visualization/_gate_map.py new file mode 100644 index 000000000000..f70da07debb5 --- /dev/null +++ b/qiskit/tools/visualization/_gate_map.py @@ -0,0 +1,206 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018, IBM. +# +# This source code is licensed under the Apache License, Version 2.0 found in +# the LICENSE.txt file in the root directory of this source tree. + +"""A module for visualizing device coupling maps""" + +import matplotlib.pyplot as plt +import matplotlib.patches as mpatches +from qiskit.qiskiterror import QISKitError + + +class _GraphDist(): + """Transform the circles properly for non-square axes. + """ + def __init__(self, size, ax, x=True): + self.size = size + self.ax = ax # pylint: disable=invalid-name + self.x = x + + @property + def dist_real(self): + """Compute distance. + """ + x0, y0 = self.ax.transAxes.transform( # pylint: disable=invalid-name + (0, 0)) + x1, y1 = self.ax.transAxes.transform( # pylint: disable=invalid-name + (1, 1)) + value = x1 - x0 if self.x else y1 - y0 + return value + + @property + def dist_abs(self): + """Distance abs + """ + bounds = self.ax.get_xlim() if self.x else self.ax.get_ylim() + return bounds[0] - bounds[1] + + @property + def value(self): + """Return value. + """ + return (self.size / self.dist_real) * self.dist_abs + + def __mul__(self, obj): + return self.value * obj + + +def plot_gate_map(backend, figsize=None, + plot_directed=False, + label_qubits=True, + qubit_size=24, + line_width=4, + font_size=12, + qubit_color=None, + line_color=None, + font_color='w'): + """Plots the gate map of a device. + + Args: + backend (BaseBackend): A backend instance, + figsize (tuple): Output figure size (wxh) in inches. + plot_directed (bool): Plot directed coupling map. + label_qubits (bool): Label the qubits. + qubit_size (float): Size of qubit marker. + line_width (float): Width of lines. + font_size (int): Font size of qubit labels. + qubit_color (list): A list of colors for the qubits + line_color (list): A list of colors for each line from coupling_map. + font_color (str): The font color for the qubit labels. + + Returns: + Figure: A Matplotlib figure instance. + + Raises: + QISKitError: Tried to pass a simulator. + """ + if backend.configuration().simulator: + raise QISKitError('Requires a device backend, not simulator.') + + mpl_data = {} + + mpl_data['ibmq_20_tokyo'] = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], + [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], + [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], + [3, 0], [3, 1], [3, 2], [3, 3], [3, 4]] + + mpl_data['ibmq_poughkeepsie'] = mpl_data['ibmq_20_tokyo'] + + mpl_data['ibmq_16_melbourne'] = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], + [0, 5], [0, 6], [1, 7], [1, 6], [1, 5], + [1, 4], [1, 3], [1, 2], [1, 1]] + + mpl_data['ibmq_16_rueschlikon'] = [[1, 0], [0, 0], [0, 1], [0, 2], [0, 3], + [0, 4], [0, 5], [0, 6], [0, 7], [1, 7], + [1, 6], [1, 5], [1, 4], [1, 3], [1, 2], [1, 1]] + + mpl_data['ibmq_5_tenerife'] = [[1, 0], [0, 1], [1, 1], [1, 2], [2, 1]] + + mpl_data['ibmq_5_yorktown'] = mpl_data['ibmq_5_tenerife'] + + config = backend.configuration() + name = config.backend_name + cmap = config.coupling_map + + dep_names = {'ibmqx5': 'ibmq_16_rueschlikon', + 'ibmqx4': 'ibmq_5_tenerife', + 'ibmqx2': 'ibmq_5_yorktown'} + + if name in dep_names.keys(): + name = dep_names[name] + + if name in mpl_data.keys(): + grid_data = mpl_data[name] + else: + fig, ax = plt.subplots(figsize=(5, 5)) # pylint: disable=invalid-name + ax.axis('off') + return fig + + x_max = max([d[1] for d in grid_data]) + y_max = max([d[0] for d in grid_data]) + max_dim = max(x_max, y_max) + + if figsize is None: + if x_max/max_dim > 0.33 and y_max/max_dim > 0.33: + figsize = (5, 5) + else: + figsize = (9, 3) + + fig, ax = plt.subplots(figsize=figsize) # pylint: disable=invalid-name + ax.axis('off') + fig.tight_layout() + + # set coloring + if qubit_color is None: + qubit_color = ['#648fff']*config.n_qubits + if line_color is None: + line_color = ['#648fff']*len(cmap) + + # Add lines for couplings + for ind, edge in enumerate(cmap): + is_symmetric = False + if edge[::-1] in cmap: + is_symmetric = True + y_start = grid_data[edge[0]][0] + x_start = grid_data[edge[0]][1] + y_end = grid_data[edge[1]][0] + x_end = grid_data[edge[1]][1] + + if is_symmetric: + if y_start == y_end: + x_end = (x_end - x_start)/2+x_start + + elif x_start == x_end: + y_end = (y_end - y_start)/2+y_start + + else: + x_end = (x_end - x_start)/2+x_start + y_end = (y_end - y_start)/2+y_start + ax.add_artist(plt.Line2D([x_start, x_end], [-y_start, -y_end], + color=line_color[ind], linewidth=line_width, + zorder=0)) + if plot_directed: + dx = x_end-x_start # pylint: disable=invalid-name + dy = y_end-y_start # pylint: disable=invalid-name + if is_symmetric: + x_arrow = x_start+dx*0.95 + y_arrow = -y_start-dy*0.95 + dx_arrow = dx*0.01 + dy_arrow = -dy*0.01 + head_width = 0.15 + else: + x_arrow = x_start+dx*0.5 + y_arrow = -y_start-dy*0.5 + dx_arrow = dx*0.2 + dy_arrow = -dy*0.2 + head_width = 0.2 + ax.add_patch(mpatches.FancyArrow(x_arrow, + y_arrow, + dx_arrow, + dy_arrow, + head_width=head_width, + length_includes_head=True, + edgecolor=None, + linewidth=0, + facecolor=line_color[ind], + zorder=1)) + + # Add circles for qubits + for var, idx in enumerate(grid_data): + _idx = [idx[1], -idx[0]] + width = _GraphDist(qubit_size, ax, True) + height = _GraphDist(qubit_size, ax, False) + ax.add_artist(mpatches.Ellipse( + _idx, width, height, color=qubit_color[var], zorder=1)) + if label_qubits: + ax.text(*_idx, s=str(var), + horizontalalignment='center', + verticalalignment='center', + color=font_color, size=font_size, weight='bold') + ax.set_xlim([-1, x_max+1]) + ax.set_ylim([-(y_max+1), 1]) + plt.close(fig) + return fig diff --git a/qiskit/transpiler/progressbar.py b/qiskit/transpiler/progressbar.py new file mode 100644 index 000000000000..5837c2c6661a --- /dev/null +++ b/qiskit/transpiler/progressbar.py @@ -0,0 +1,152 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018, IBM. +# +# This source code is licensed under the Apache License, Version 2.0 found in +# the LICENSE.txt file in the root directory of this source tree. + +# This file is part of QuTiP: Quantum Toolbox in Python. +# +# Copyright (c) 2011 and later, Paul D. Nation and Robert J. Johansson. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the QuTiP: Quantum Toolbox in Python nor the names +# of its contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +############################################################################### + +"""Progress bars module""" + +import time +import datetime +import sys +from qiskit._pubsub import Subscriber + + +class BaseProgressBar(Subscriber): + """An abstract progress bar with some shared functionality. + """ + def __init__(self): + super().__init__() + self.type = 'progressbar' + self.touched = False + self.iter = None + self.t_start = None + self.t_done = None + + def start(self, iterations): + """Start the progress bar. + + Parameters: + iterations (int): Number of iterations. + """ + self.touched = True + self.iter = int(iterations) + self.t_start = time.time() + + def update(self, n): + """Update status of progress bar. + """ + pass + + def time_elapsed(self): + """Return the time elapsed since start. + + Returns: + elapsed_time: Time since progress bar started. + """ + return "%6.2fs" % (time.time() - self.t_start) + + def time_remaining_est(self, completed_iter): + """Estimate the remaining time left. + + Parameters: + completed_iter (int): Number of iterations completed. + + Returns: + est_time: Estimated time remaining. + """ + if completed_iter: + t_r_est = (time.time() - self.t_start) / \ + completed_iter*(self.iter-completed_iter) + else: + t_r_est = 0 + date_time = datetime.datetime(1, 1, 1) + datetime.timedelta(seconds=t_r_est) + time_string = "%02d:%02d:%02d:%02d" % \ + (date_time.day - 1, date_time.hour, date_time.minute, date_time.second) + + return time_string + + def finished(self): + """Run when progress bar has completed. + """ + pass + + +class TextProgressBar(BaseProgressBar): + """ + A simple text-based progress bar. + """ + + def __init__(self): + super().__init__() + self._init_subscriber() + + def _init_subscriber(self): + def _initialize_progress_bar(num_tasks): + """ """ + self.start(num_tasks) + self.subscribe("terra.transpiler.transpile_dag.start", _initialize_progress_bar) + + def _update_progress_bar(progress): + """ """ + self.update(progress) + self.subscribe("terra.transpiler.transpile_dag.done", _update_progress_bar) + + def _finish_progress_bar(): + """ """ + self.unsubscribe("terra.transpiler.transpile_dag.start", _initialize_progress_bar) + self.unsubscribe("terra.transpiler.transpile_dag.done", _update_progress_bar) + self.unsubscribe("terra.transpiler.transpile_dag.finish", _finish_progress_bar) + self.finished() + self.subscribe("terra.transpiler.transpile_dag.finish", _finish_progress_bar) + + def start(self, iterations): + self.touched = True + self.iter = int(iterations) + self.t_start = time.time() + pbar = '-' * 50 + sys.stdout.write('\r|%s| %s%s%s [%s]' % + (pbar, 0, '/', self.iter, '')) + + def update(self, n): + filled_length = int(round(50 * n / self.iter)) + pbar = u'█' * filled_length + '-' * (50 - filled_length) + time_left = self.time_remaining_est(n) + sys.stdout.write('\r|%s| %s%s%s [%s]' % (pbar, n, '/', self.iter, time_left)) + if n == self.iter: + sys.stdout.write('\n') + sys.stdout.flush() diff --git a/test/python/notebooks/test_backend_tools.ipynb b/test/python/notebooks/test_backend_tools.ipynb new file mode 100644 index 000000000000..b2355a923939 --- /dev/null +++ b/test/python/notebooks/test_backend_tools.ipynb @@ -0,0 +1,117 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import sys\n", + "cwd = os.getcwd()\n", + "qiskit_dir = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(cwd))))\n", + "sys.path.append(qiskit_dir)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit import IBMQ\n", + "from qiskit.qiskiterror import QISKitError\n", + "from qiskit.tools.jupyter import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "IBMQ.load_accounts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "backends = IBMQ.backends()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "my_backend = None\n", + "for back in backends:\n", + " if not back.configuration().simulator and back.status().operational:\n", + " my_backend = back\n", + " break\n", + "if my_backend is None:\n", + " raise QISKitError('Could not load an operational IBMQ device backend.')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%qiskit_backend_monitor my_backend" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "%qiskit_backend_overview" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "hide_input": false, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/test/python/notebooks/test_pbar_status.ipynb b/test/python/notebooks/test_pbar_status.ipynb index b61200375350..daa56e4f74c4 100644 --- a/test/python/notebooks/test_pbar_status.ipynb +++ b/test/python/notebooks/test_pbar_status.ipynb @@ -13,7 +13,6 @@ "source": [ "import os\n", "import sys\n", - "import time\n", "cwd = os.getcwd()\n", "qiskit_dir = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(cwd))))\n", "sys.path.append(qiskit_dir)" @@ -32,7 +31,8 @@ "source": [ "from qiskit import LegacySimulators, QuantumRegister, ClassicalRegister, QuantumCircuit, execute\n", "from qiskit.transpiler._parallel import parallel_map\n", - "from qiskit.tools import job_monitor\n", + "from qiskit.transpiler.progressbar import TextProgressBar\n", + "from qiskit.tools.monitor import job_monitor\n", "from qiskit.tools.jupyter import *" ] }, @@ -47,6 +47,7 @@ }, "outputs": [], "source": [ + "import time\n", "def func(_):\n", " time.sleep(0.1)\n", " return 0" @@ -188,11 +189,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": { "ExecuteTime": { - "end_time": "2018-11-08T10:45:49.348875Z", - "start_time": "2018-11-08T10:45:46.637049Z" + "end_time": "2018-11-19T05:09:14.423001Z", + "start_time": "2018-11-19T05:09:11.998829Z" } }, "outputs": [ @@ -213,11 +214,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": { "ExecuteTime": { - "end_time": "2018-11-08T10:45:51.781515Z", - "start_time": "2018-11-08T10:45:49.351455Z" + "end_time": "2018-11-19T05:09:17.109977Z", + "start_time": "2018-11-19T05:09:14.426453Z" } }, "outputs": [ @@ -262,6 +263,9 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0" + }, + "nteract": { + "version": "0.12.3" } }, "nbformat": 4, diff --git a/test/python/tools/jupyter/test_notebooks.py b/test/python/tools/jupyter/test_notebooks.py index 8d1dbd012ab0..0bf8602139f4 100644 --- a/test/python/tools/jupyter/test_notebooks.py +++ b/test/python/tools/jupyter/test_notebooks.py @@ -14,8 +14,9 @@ import nbformat from nbconvert.preprocessors import ExecutePreprocessor - -from ...common import Path, QiskitTestCase, requires_cpp_simulator +from qiskit.tools.visualization._matplotlib import HAS_MATPLOTLIB +from ...common import (Path, QiskitTestCase, requires_qe_access, + requires_cpp_simulator) # Timeout (in seconds) for a single notebook. @@ -27,11 +28,9 @@ class TestJupyter(QiskitTestCase): """Notebooks test case.""" def setUp(self): - self.filename = self._get_resource_path( - 'notebooks/test_pbar_status.ipynb') self.execution_path = os.path.join(Path.SDK.value, '..') - def _execute_notebook(self, filename): + def _execute_notebook(self, filename, qe_token=None, qe_url=None): # Create the preprocessor. execute_preprocessor = ExecutePreprocessor(timeout=TIMEOUT, kernel_name=JUPYTER_KERNEL) @@ -40,14 +39,35 @@ def _execute_notebook(self, filename): with open(filename) as file_: notebook = nbformat.read(file_, as_version=4) + if qe_token and qe_url: + top_str = "from qiskit import IBMQ\n" + top_str += "IBMQ.enable_account('{token}', '{url}')".format(token=qe_token, + url=qe_url) + top = nbformat.notebooknode.NotebookNode({'cell_type': 'code', + 'execution_count': 0, + 'metadata': {}, + 'outputs': [], + 'source': top_str}) + notebook.cells = [top] + notebook.cells + # Run the notebook into the folder containing the `qiskit/` module. execute_preprocessor.preprocess( notebook, {'metadata': {'path': self.execution_path}}) @requires_cpp_simulator - def test_jupyter(self): - "Test Jupyter functionality" - self._execute_notebook(self.filename) + def test_jupyter_jobs_pbars(self): + "Test Jupyter progress bars and job status functionality" + self._execute_notebook(self._get_resource_path( + 'notebooks/test_pbar_status.ipynb')) + + @unittest.skipIf(not HAS_MATPLOTLIB, 'matplotlib not available.') + @requires_qe_access + def test_backend_tools(self, qe_token, qe_url): + "Test Jupyter backend tools." + self._execute_notebook(self._get_resource_path( + 'notebooks/test_backend_tools.ipynb'), + qe_token=qe_token, + qe_url=qe_url) if __name__ == '__main__': diff --git a/test/python/tools/monitor/test_backend_monitor.py b/test/python/tools/monitor/test_backend_monitor.py new file mode 100644 index 000000000000..335335f3ac97 --- /dev/null +++ b/test/python/tools/monitor/test_backend_monitor.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018, IBM. +# +# This source code is licensed under the Apache License, Version 2.0 found in +# the LICENSE.txt file in the root directory of this source tree. + +# pylint: disable=redefined-builtin + +"""Tests for the wrapper functionality.""" + +import unittest +from qiskit.backends.ibmq import IBMQ +from qiskit.tools.monitor import backend_overview, backend_monitor +from ...common import QiskitTestCase, requires_qe_access + + +class TestBackendOverview(QiskitTestCase): + """Tools test case.""" + @requires_qe_access + def test_backend_overview(self, qe_token, qe_url): + """Test backend_overview""" + IBMQ.enable_account(qe_token, qe_url) + backend_overview() + + def test_backend_monitor(self, qe_token, qe_url): + """Test backend_monitor""" + IBMQ.enable_account(qe_token, qe_url) + for back in IBMQ.backends(): + if not back.configuration().simulator: + backend = back + break + backend_monitor(backend) + + +if __name__ == '__main__': + unittest.main(verbosity=2) diff --git a/test/python/tools/test_job_monitor.py b/test/python/tools/monitor/test_job_monitor.py similarity index 89% rename from test/python/tools/test_job_monitor.py rename to test/python/tools/monitor/test_job_monitor.py index a9cfbbf9c32a..98d85269691e 100644 --- a/test/python/tools/test_job_monitor.py +++ b/test/python/tools/monitor/test_job_monitor.py @@ -10,12 +10,11 @@ """Tests for the wrapper functionality.""" import unittest - -import qiskit.tools from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit from qiskit import BasicAer from qiskit import execute -from ..common import QiskitTestCase +from qiskit.tools.monitor import job_monitor +from ...common import QiskitTestCase class TestJobMonitor(QiskitTestCase): @@ -30,7 +29,7 @@ def test_job_monitor(self): qc.measure(qreg, creg) backend = BasicAer.get_backend('qasm_simulator') job_sim = execute([qc]*10, backend) - qiskit.tools.job_monitor(job_sim) + job_monitor(job_sim) self.assertEqual(job_sim.status().name, 'DONE')