Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK Go to the latest version
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

HLSConfig

class HLSConfig(use_default_on_unspecified=True, **kwargs)

GitHub

Bases: object

The high-level-synthesis config allows to specify a list of “methods” used by HighLevelSynthesis transformation pass to synthesize different types of higher-level-objects. A higher-level object is an object of type Operation (e.g., “clifford”, “linear_function”, etc.), and the list of applicable synthesis methods is strictly tied to the name of the operation. In the config, each method is represented by a pair consisting of a name of the synthesis algorithm and of a dictionary providing additional arguments for this algorithm.

The names of the synthesis algorithms should be declared in entry_points for qiskit.synthesis in setup.py, in the form <higher-level-object-name>.<synthesis-method-name>.

The standard higher-level-objects are recommended to have a synthesis method called “default”, which would be called automatically when synthesizing these objects, without having to explicitly set these methods in the config.

To avoid synthesizing a given higher-level-object, one can give it an empty list of methods.

For an explicit example of creating and using such config files, refer to the documentation for HighLevelSynthesis.

Creates a high-level-synthesis config.

Parameters

  • use_default_on_unspecified (bool) – if True, every higher-level-object without an explicitly specified list of methods will be synthesized using the “default” algorithm if it exists.
  • kwargs – a dictionary mapping higher-level-objects to lists of synthesis methods.

Methods

set_methods

HLSConfig.set_methods(hls_name, hls_methods)

Sets the list of synthesis methods for a given higher-level-object. This overwrites the lists of methods if also set previously.

Was this page helpful?
Report a bug or request content on GitHub.