1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-03-28 05:28:42 +00:00

24 Commits

Author SHA1 Message Date
Jonathan Paynter
dc64152188 configuration, types: Add support for sweeps
Sweeps are handled by one of three handlers, ``autofreq``, ``range`` and
``autoparam``. ``range`` allows the user to manually specify values for
a parameter in the agenda; ``autofreq`` allows cpu frequencies to be
swept through, and autoparam allows other parameters to be swept
through.

autoparam requries the parameter to have ``allowed_values`` specified,
and the sweep specification must supply the plugin name and parameter
name as:
``
	sweep(autoparam):
		param: <param name>
		plugin: <plugin name>
``

autofreq can be used with an empty value:
``
	sweep(autofreq):
``
to sweep through all values of ``frequency`` by default, although if
``plugin`` is specified, other parameters within cpufreq can be swept
through:
``
	sweep(autofreq):
		param: cpu0_frequency
``

For either of the above 'automatic' sweeps, a minimum and/or maximum can
be specified to limit the values generated in the sweep:
``
	sweep(autofreq):
		param: cpu0_frequency
		min: 1000000
		max: 1700000
``

``range`` sweeps support two specification syntaxes: one for manual
specification of a list, and another for a range of values. These sweeps
only accept the plugin name as a parameter:
``
	sweep(range):
		threads: [1, 3, 5, 7]
``
or
``
	sweep(range):
		threads: 1-8,2
		# start-stop[,step]
``
These both produce the same result. step is optional and defaults to 1.

Any sweep specified in a workload entry is equivalent to manually
specifying individual workload entries, each with one of the possible
values of the sweep.

Sweeps specified in sections will create the equivalent of a section
group, each section in that group with one of the sweep values. When the
group name is specified, the 'expanded' section entry will maintain that
group name, otherwise will generate its own.

If multiple sweeps are specified in one entry, then this will be
expanded to one entry for every combination of values of each sweep.
2020-09-10 18:07:16 +01:00
Marc Bonnici
832ed797e1 fw/config/execution: Raise error if no jobs are available for running
If no jobs have been generated that are available for running then WA
will crash when trying to access the job queue. Add an explicit check to
ensure that a sensible error is raised in this case, for example if
attempting to run a specific job ID that is not found.
2019-06-06 15:17:42 +01:00
Marc Bonnici
dcf0418379 fw/config/execution: Implement CombinedConfig as Podable
Ensure that the various Configuration structures now have serialization
versions.
2018-12-07 08:46:12 +00:00
Marc Bonnici
fc226fbb6e fw/execution: Ensure that identifiers are used when retrieving plugins.
Make sure that when retrieving plugin information from the plugin
cache the name is converted to an identifier first.
2018-07-24 11:34:19 +01:00
Sergei Trofimov
e4a856ad03 fw/config: preserve included config files
Save included config files, along with the explicitly-specified config
that included them, under run output's __meta/raw_config/.
2018-07-23 16:47:10 +01:00
Sergei Trofimov
7755363efd fw/config: add get_config() to ConfigManager
Add a method to allow obtaining the combined config after config
manager has been finalized.
2018-07-11 13:28:04 +01:00
Sergei Trofimov
f74b7ae78c framework: fix pylint issues
Fix/disable checks for issues reported by pylint under wa/framework.
2018-07-06 14:39:41 +01:00
Sergei Trofimov
8878cc20d4 Update copyright headers.
- Add copyright headers to files that did not already have them
- Update the year to the last year the file was modified in files with
  existing headers.
2018-07-04 16:33:31 +01:00
Sergei Trofimov
b3de85455a Add support for Python 3
Add support for running under Python 3, while maintaining compatibility
with Python 2.

See http://python-future.org/compatible_idioms.html for more details
behind these changes.
2018-06-07 14:48:40 +01:00
Marc Bonnici
2a95a198b0 framework/config: Rename by_spec to by_workload execution order
Rename the `by_spec` execution order to `by_workload` and update
description for clarification.
2018-05-23 10:14:34 +01:00
Marc Bonnici
538cd8d332 wa: Rename results_processors to output_processors
For clarity and to better reflect their purpose, rename
`results_processors` to `output_processors`.
2018-01-15 10:24:03 +00:00
Marc Bonnici
0d45fa3b27 Revert "DO NOT MERGE: stub out broken method"
This reverts commit 7a3503775d77ba7658a782908b2376af64d87e39.
2017-12-07 15:45:38 +00:00
Brendan Jackman
7a3503775d DO NOT MERGE: stub out broken method 2017-12-07 15:37:49 +00:00
Brendan Jackman
664f0a8905 framework/config: Whitespace 2017-12-07 15:37:49 +00:00
Brendan Jackman
aa2abd16a3 Run autoflake to remove unused imports & variables 2017-12-07 15:37:49 +00:00
Sergei Trofimov
4f8bd00fe2 framework/config: add eanbled processor tracking to JobGenerator
Add attributes for tracking enabled processors to JobGenerator (similiar
to what already exists for instruments).
2017-11-03 17:33:32 +00:00
Sergei Trofimov
31a5e5b5fe Implment output processing
- Implemented result processor infrastructured
- Corrected some status tracking issues (differed between states
  and output).
- Added "csv" and "status" result processors (these will be the default
  enabled).
2017-03-22 15:14:44 +00:00
Sergei Trofimov
add6dafa2d job: upped logging level of loading message to info 2017-03-17 16:30:11 +00:00
Sergei Trofimov
24402660c4 Initial implementation of state tracking and output handling. 2017-03-17 09:15:43 +00:00
Sergei Trofimov
ccdc3492e7 Handle retry failed 2017-03-15 14:34:31 +00:00
Sergei Trofimov
547ae1c10e Job output dir handling. 2017-03-15 14:34:23 +00:00
Sergei Trofimov
011fd684bd Skeleton job execution 2017-03-15 14:34:23 +00:00
Sergei Trofimov
42539bbe0d New target description + moving target stuff under "framework"
Changing the way target descriptions work from a static mapping to
something that is dynamically generated and is extensible via plugins.
Also moving core target implementation stuff under "framework".
2017-03-06 11:10:25 +00:00
Marc Bonnici
1f1f2b12c6 WA3 Exsisting Code 2017-02-21 15:02:28 +00:00