eqi.core.executor module

class eqi.core.executor.Executor(campaign, config_file=None, resume=True, log_level='info')

Bases: object

Integrates EasyVVUQ and QCG-PilotJob Manager

Executor allows to process the most demanding operations of EasyVVUQ in parallel using QCG-PilotJob.

create_manager(resources=None, reserve_core=False, log_level='info')

Creates new QCG-PilotJob Manager and sets is as the Executor’s engine.

Parameters:
  • resources (str, optional) – The resources to use. If specified forces usage of Local mode of QCG-PilotJob Manager. The format is compliant with the NODES format of QCG-PilotJob, i.e.: [node_name:]cores_on_node[,node_name2:cores_on_node][,…]. Eg. to run on 4 cores regardless the node use resources=”4” to run on 2 cores of node_1 and on 3 cores of node_2 use resources=”node_1:2,node_2:3”
  • reserve_core (bool, optional) – If True reserves a core for QCG-PilotJob Manager instance, by default QCG-PilotJob Manager shares a core with computing tasks Parameters.
  • log_level (str, optional) – Logging level for QCG-PilotJob Manager (for both service and client part).
Returns:

Return type:

None

set_manager(qcgpjm)

Sets existing QCG-PilotJob Manager as the Executor’s engine

Parameters:qcgpjm (qcg.pilotjob.api.manager.Manager) – Existing instance of a QCG-PilotJob Manager
Returns:
Return type:None
add_task(task)

Add a task to execute with QCG PJ

Parameters:task (Task) – The task that will be added to the execution workflow
Returns:
Return type:None
run(processing_scheme=<ProcessingScheme.SAMPLE_ORIENTED: 'Submits a workflow of EasyVVUQ operations as separate QCG PJ tasks for a sample (e.g. encoding -> execution) and then goes to the next sample'>)

Executes demanding parts of EasyVVUQ campaign with QCG-PilotJob

A user may choose the preferred execution scheme for the given scenario.

Parameters:processing_scheme (ProcessingScheme) – Tasks processing scheme
Returns:
Return type:None
print_resources_info()

Displays resources assigned to QCG-PilotJob Manager

terminate_manager()

Terminates QCG-PilotJob Manager

class eqi.core.executor.ServiceLogLevel

Bases: enum.Enum

An enumeration.

CRITICAL = 'critical'
ERROR = 'error'
WARNING = 'warning'
INFO = 'info'
DEBUG = 'debug'
class eqi.core.executor.ClientLogLevel

Bases: enum.Enum

An enumeration.

INFO = 'info'
DEBUG = 'debug'