Installation & Setup

System Requirements

Fastpath requires the following dependencies:

  • A Linux system with Python 3.x is required to run the tool.

  • A separate Linux system as the SUT is required, which must be configured according to the requirements at Setup & Configure a SUT.

  • SSH access is necessary for communication between the host system and the SUT.

Installing Fastpath

Installing from Source

First, optionally create and activate a Python virtual environment to install all the Python package dependencies into:

python3 -m venv ~/venv
source ~/venv/bin/activate

To install Fastpath from the source repository, run:

git clone https://git.gitlab.arm.com/tooling/fastpath.git
pip install -r fastpath/fastpath/requirements.txt
export PATH=$PWD/fastpath/fastpath:$PATH

Verifying Installation

Run the following command to verify installation:

fastpath --help

If Fastpath is installed correctly, this command will display available options and supported commands.

Fastpath commands are all of the form:

fastpath [global-options] <noun> <verb> [command-options]

So you can additionally get help on any specific noun (e.g. plan) or verb (e.g. exec):

fastpath plan --help
fastpath plan exec --help

Configuring User Preferences

Fastpath has an extensible user preference system that allows users to customize certain aspects. User preferences can be stored in the INI file at ~/.fastpathpreferences or can be specified as environment variables. If a preference is specified in both places, the environment variable takes precedence.

Each preference has a category and a name, which maps to a string. To set and get preferences in ~/.fastpathpreferences, use the fastpath preference noun:

$ fastpath preference set --category default --name resultstore mysql://fpuser:[email protected]/fastpath-db
default.resultstore: mysql://fpuser:[email protected]/fastpath-db

$ fastpath preference get --category default --name resultstore
default.resultstore: mysql://fpuser:[email protected]/fastpath-db

When specified as an environment variable, concatenate the upper case category and name as FASTPATH_<CATEGORY>_<NAME>:

$ export FASTPATH_DEFAULT_RESULTSTORE=mysql://fpuser:[email protected]/fastpath-db

The following user preferences are currently defined:

categrory

name

default

description

default

resultstore

<None>

For a command that requires a resultstore, the default resultstore to use if one is not specified explicitly on the command line.

global

library

<None>

Colon-separated list of paths to custom benchmark libraries. Benchmark includes are searched for relative to the current directory as well as relative to these paths.