- Removed `output_directory` ConfigurationPoint, it should be set and passed
by whatever instanstiates RunConfiguration.
- Made `device` a mandatory configuration point.
- Added serialization
- Now handles merging specific and generic config
`output_directory` should be set and passed why what ever instanstiates RunConfiguration.
- Removed `finalize`, replaced it with `validate`
- Added `to_pod` and `from_pod` methods
- `set` and `update_config` now take (and forward) `check_mandatory`
This complex function handles merging of config with two priorities in mind.
The specificity of the config (`device_config` vs `nexus10`) and the priorty
of the source.
obj_dict is a a dictionary that can have its entries accessed either
via the standard `[some_key]` method or via the obj_dict's attributes
`obj_dict.some_key`.
This comes is very useful when needing to use `ConfigurationPoints` outside
of a `Configuration` object
Added "JobSpecSource" as a base class for both section tree nodes and
workload entries. This adds a common interface between them for:
- Resolving names
- Storing configuration
- References to parents
- Getting IDs out of configuration
All config now uses configuration points
Config parsing is now done in destinct stages
- first all files are parsed and sent to their corresponding config objects or to a tree
- tree is traversed to generate job specs.
Since WA3 is now very much dependant on devlib there is no need
to duplicate utility code between the two projects.
Quite a few of the modules aren't even needed by WA because they
were for communicating with devices.
The wa record command now has the ability to record revent files for wa
workload.
The command with automatically deploy the workload and record both
setup and run revent recordings
Conflicts:
wlauto/commands/record.py
In the process removed modules and boot_strap.py. Also Renamed extensions Plugins.
Louie is now monkey patched rather than containing a modified version in external
cpustate result processor generates a view of the cpu subsystem power
state during execution of a workload from cpu_idle and cpu_frequency
ftraces. There exists a period before the first events in those
categories are seen where the state of the cpu subsystem is (partially)
unknown and it is reported as such by the result processor.
Unknown state usually exists for a relatively short period of time and
is generally not a big deal. For certain kinds of workloads, however, it
may constitude a significant protion of the trace.
Changes in this commit attempt to deal with this by a) reading starting
cpu frequencies and writing them into the trace, and b) nudging each
core to bring it out of idle; this happens before the start marker, so
that the system state between the markers should be completely known.
Previously you could have `override` set to True on parameters that
only existed in the current scope.
Now if you try to override a parameter that doesn't exist higher up
in the hiarchy you will get a ValueError.