microprobe

microprobe package.

This is the main package of the Microprobe microbenchmark generation framework. The sub-packages are the following:

  • code: Code generation package.

  • driver: Design space exploration package.

  • model: Analytical modeling package.

  • passes: Code transformation passes package.

  • schemas: Schema definition package.

  • target: Target definition package.

  • utils: Utilities package.

and the modules in this package are the following:

Visit their respective documentation for further details.

In this package, the MICROPROBE_RC (MicroprobeDefaultConfiguration) attribute is defined. This attribute contains the framework-wide configuration options, which are set to the default values or the values set in environment variables when this package is imported. One can access this attribute in order to change the framework configuration.

Configuration options

  • verbosity (int): Verbosity level. It controls the verbosity level of the logger (Default: 0). Valid values are:

    • 0 : quiet

    • 1 : critical messages

    • 2 : error messages

    • 3 : warning messages

    • 4 : info messages

  • debug (bool): Enable debug mode (Default: False). If enabled, lots of output is generated, useful for developers.

  • default_paths (list of str): List of paths to search for :any definitions. (Default: None).

  • architecture_paths (list of str): List of paths to search for ISA definitions. (Default: default_paths option value).

  • microarchitecture_paths (list of str): List of paths to search for Microarchitecture definitions. (Default: default_paths option value).

  • environments_paths (list of str): List of paths to search for Environment definitions. (Default: default_paths option value).

  • template_paths (list of str): List of paths to search for template files.

  • wrappers_paths (list of str): List of paths to search for Wrapper definitions.

  • hex_all (bool): Use hexadecimal representation for all the integers in an instruction assembly string (Default: False). This option is mutually exclusive with hex_address and hex_none.

  • hex_address (bool): Use hexadecimal representation for the integers in an instruction assembly string that are used in address generation arithmetic, such as displacements (Default: True). This option is mutually exclusive with hex_all and hex_none.

  • hex_none (bool): Use integer representation for all the integers in an instruction assembly string (Default: False). This option is mutually exclusive with hex_address and hex_all.

Environment variables

Environment variables can be set to override default configuration options or the options provided by the configuration files. These are the environ variable that can be defined:

  • MICROPROBERC: Extends the default paths to search for the default microprobe configuration file. It should be a list of paths separated by colons.

  • MICROPROBEDATA: Extends the default paths to search for target definitions (default_paths options). It should be a list of paths separated by colons.

  • MICROPROBETEMPLATES: Extends the default base paths for templates.

  • MICROPROBEWRAPPERS: Extends the default base paths for wrappers.

  • MICROPROBEDEBUG: If defined, enables the debug mode, i.e. debug option set to True.

  • MICROPROBEDEBUGPASSES: If defined, enables the debug mode only for passes. i.e. debug option set to True while benchmark generation passes are being applied.

  • MICROPROBEASMHEXFMT: Overrides the assembly hex mode format. Valid values are: hex_all, hex_address, hex_none. It sets to true the corresponding option.