Custom OS/Firmware Support for DSO
The data streams optimizer uses scripts to automate the tool flow and support portability. The scripts are written for certain firmware and OS, but are intended to be samples that you can adapt for other target environments. Copy and modify the scripts as needed to support your choice of firmware and OS.
This section describes each configurable script.
Scripts in Tuning Workflow
For the data streams optimizer, the tuning workflow is described in Developer Workflow Overview and Host-Target Reference Implementation.
This section describes the software workflow in detail for the host and target systems.
All target scripts will be launched via host scripts, which are also customizable.
The next table represents actions that happen during the tuning process and notes where configurable scripts are used.
Data Streams Optimizer on Host | Data Streams Optimizer on Target |
---|---|
| |
| |
Reads the database.
* Selects suitable configurations according to the requirements file.
* Generates a tuning configuration binary file.
* Calls Capsule Create Script for binary files (including signing).
* Copies the output capsule to the target.
* Runs the capsule apply script on the target.
* Reboots the target. | |
| |
Waits for the target to reboot.
* Runs register verification.
* Runs the workload validation script to test performance (users provide their own script for their configuration) | |
| |
Waits for the validation workload to finish.
* Copies the tuning configuration file (json) with multi-stream feedback from the target.
* Analyzes the validation results and completes the tuning process or runs a new tuning iteration with different tuning parameters starting from “Generates a tuning configuration binary file” step. |
Configurable Scripts
The data streams optimizer uses scripts that you can configure for your host and target setup.
Intel® TCC Tools provide default implementation of the configurable scripts for UEFI BIOS/Slim Bootloader and for Yocto Project*-based board support package and Windows* OS support.
- Path to configurable scripts for target systems:${TCC_TOOLS_PATH}/target_scripts
- Path to configurable scripts for host systems:${TCC_TOOLS_PATH}/host_scripts
The scripts are used in the environment files. Examples of environment files for supported processors are located in the
${TCC_TOOLS_PATH}/demo/environment/
directory on the host system.You can place scripts anywhere on a host or target system, but be sure to include the correct paths to the scripts in the environment files.
This table provides a short description of each script, the system where the script runs, and links to more details in subsequent sections:
Script | Description | Location |
---|---|---|
Checks the value for a given register on the target system | Target system | |
Returns the CPU version from the target system to the host system | Target system | |
Returns real-time configuration table (RTCT) content from the target system to the host system | Target system | |
For Windows* OS only: Returns the version of the latest applied capsule from the target system to the host system | Target system |
Custom OS Support
The data streams optimizer supports tuning target systems with Yocto Project*-based board support package and Windows* OSes. To adopt the tool for another OS, you will need to update or recreate the following scripts:
You can follow the links above to find more details about the scripts. The amount of changes to scripts depends on your OS capabilities to support scripts requirements.
Custom Firmware Support
The data streams optimizer supports tuning target systems with UEFI BIOS or Slim Bootloader. To adopt the tool for another firmware, you will need to update or recreate the following scripts:
The first script creates a capsule with target tuning parameters which can be applied from the firmware you would like to use. The second script applies the capsule with target tuning parameters on the target system.
You can follow the links above to find more details about the scripts.
Requirements on Custom Firmware
The following requirements must be satisfied in your custom firmware if you would like to enable data streams optimizer support on it.
- Firmware must support UEFI capsule update feature – method of authenticated updates in UEFI BIOS
- Firmware must support Slim Bootloader capsule update feature – method of authenticated updates in Slim Bootloader