Installation
Prerequisites
- Python version >= 3.7.
- A Poplar SDK and appropriate framework must be installed and enabled to
build
orrun
an application that uses IPU. - Docker version >= 23.0 must be installed, locally to
package
andpublish
, and on the deployment target todeploy
. - Ensurepip must be installed. On Ubuntu systems you need to install the
python3-venv
package using, for example,sudo apt install python3.8-venv
.
Also see using IPUs
Installing SSF as a CLI from the repo
Using Pip:
Now you will be able to run gc-ssf
.
Running SSF from source
To run SSF from source you need to follow these steps.
Clone the repo
First you will need to clone the repo:
Create a virtual environment
Then create a virtual environment:
Activate the virtual environment
You can then activate the virtual environment:
Using IPUs
If your application uses IPUs then you will need Poplar SDK for build
or run
.
If you already have the required version of Poplar SDK enabled in your environment then this will be used for your application.
If you don't have Poplar SDK enabled, or the version you have does not match the version required for your application, then SSF can download and enable an SDK automatically.
Using SSF from the public Docker container.
SSF is available as a container. It can be deployed on a remote target as a server (see this example. But can also be used to develop locally:
To use it as an interactive bash session:
Alternatively, you can also execute a single SSF command by passing all arguments to the container via the environment variable SSF_OPTIONS:
docker run --rm -d --network host --env SSF_OPTIONS='--config git@github.com:graphcore/simple-server-framework.git|examples/simple/ssf_config.yaml init build run' --name simple-server-framework graphcore/simple-server-framework:latest
For IPU users: If your local system has IPUs and you want your container to access them, you may want to use gc-docker
. Alternatively, just pass these additional arguments to docker run
(IPUOF_VIPU_API_HOST
and IPUOF_VIPU_API_PARTITION_ID
should be configured properly on your system):