2. Accessing Graphcloud

When you have been granted access to the two-week free Graphcloud trial period by Graphcore, you’ll be provided with a login to the Graphcore support portal and asked to accept the Graphcore End User License Agreement. You will also be asked to accept Cirrascale’s terms and conditions for Graphcloud. Your Graphcore sales contact will agree with you when the trial period will start and finish.

You will then be set up with a user account for Graphcloud. This will require you to use SSH key-based authentication, so you’ll need to provide us with a public key.

2.1. Your account

2.1.1. Logging in

After you have agreed the terms and conditions with Graphcore for the use of the Graphcloud service, you’ll need to follow the instructions below to gain access to the vPOD instance, and to register for and use the support portal on the Graphcore website.

Note

Graphcore uses SSH encryption for connections to the Graphcloud service, and provides the latest versions of all security certificates to enable you to keep your connection and data secure while you use the service. However, responsibility for the correct use of these tools, and the consequent security of your assets, is your responsibility, and Graphcore will accept no liability for any losses to your data that is incurred as a result of your use of the service.

The secure connection to the server on which your vPOD instance is provisioned is provided using SSH key security. To gain access to your vPOD instance, you will be asked to send an SSH public key to Graphcore.

Note

Your secure connection will only work if the corresponding private key(s) are installed and correctly located on the machine you are using to connect to the service.

You will be sent confirmation that Graphcore has installed the public key on the Graphcloud server and the IP address to use to connect to your vPOD instance over SSH. You can make this easier to use by adding it to your SSH configuration file. For example:

host gc-graphcloud
hostname 123.456.789.012
user myusername
identityfile ~/.ssh/gclogin.pem

You can then log in over SSH using that name. For example:

$ ssh gc-graphcloud

Note that you will not have root access on the Graphcloud server.

2.1.2. Adding more users

You can add more users to your instance by sending their emails, names and SSH public keys to Graphcore, as described above. We will then install these on the server(s) to which your organisation has been granted access.

Note that each user must use their own public SSH key. Multiple users must not use the same key, as this could raise security problems, and also make it difficult to analyse and audit any security issues that may arise from the use of the service.

2.1.3. Extending access to Graphcloud

Please let us know as soon as possible if you would like to extend your access to Graphcloud by switching to a paid-for service. Due to high demand, we cannot guarantee that you will automatically be able to switch to paid-for access to IPU‑POD16 or IPU‑POD64 in Graphcloud and, therefore, request that you give us much notice as possible. Cirrascale will provide full details of the payment options available.

2.1.4. Closing your account

When you close your Graphcloud account all of your data will be wiped from the server. This includes:

  • Software and data files

  • Any log files

You need to explicitly copy any data from the sever that you want to keep (using scp, for example).

2.2. Configuration overview

You will be allocated your IPU‑POD16 as an entity called “vPOD16” with the following properties:

  • Secure IPU‑POD16 (four IPU-M2000), fully isolated by VLAN

  • One Dell R6525 server

  • V-IPU admin & server software (preconfigured)

  • Local NVME storage (4 TB); this will be shared by all users accessing your IPU‑POD16

  • Read-only access to a shared drive with code examples and public data sets (see Section 2.3, Software and datasets)

  • No root access or Docker support

The vPOD is provisioned as a single Virtual-IPU partition. A Virtual-IPU partition represents some number of IPUs which can communicate with one another. They are isolated so that all communication from physically neighbouring devices that are not in the same partition is prohibited.

2.2.1. Local storage

You have 4 TB of high-speed storage at /localdata. You should run tests and store data there. This is much faster than the disk used for /mnt/public (see below), which is read-only.

For convenience, you can create a directory in /localdata and create a symbolic link to this in your home directory:

$ mkdir /localdata/username/workspace
$ ln -s /localdata/username/workspace ~/workspace

2.3. Software and datasets

When you sign into your vPOD instance, there are several software packages available including:

  • C++ compilers

  • Python (versions 2.7 and 3.6)

  • Graphcore Poplar SDK, including TensorFlow and PyTorch for the IPU, and documentation in /opt/gc. See Section 3, Software setup for information on how to configure the SDK before use.

  • Datasets for use with the Graphcore examples (see Section 2.4.2, Installing the Graphcore examples) in /localdata/datasets. There are README files with more information on using each of these datasets. The same datasets are also on the shared drive /mnt/public/data, which can be used to restore the data if necessary.

Licensing of datasets

Some datasets are provided locally for ease of use. These are made available for non-commercial use only and should not be downloaded from Graphcloud. Please take time to read the full terms & conditions of use and license information which you will find alongside the datasets.

You can also download your own data, within the available disk space. Alternatively, you can use synthetic data to test model performance without the overhead of data transfer. See the relevant software framework documentation for enabling synthetic data on the software documentation page.

2.4. Making efficient use of local storage

You should find that there is a directory for each user under /localdata. For example, /localdata/alice or /localdata/bob. This provides fast access to a large amount of storage. By default, this personal workspace is private to each user.

2.4.1. Shared workspace

You may also want to create a shared area that can be used by other members of your team. You can do this with the following sequence of commands:

$ mkdir /localdata/shared
$ chown :ipupod /localdata/shared
$ chmod 2770 /localdata/shared

The first command creates the directory, the second sets the group ownership to ipupod, the group that all users are in, and finally the permissions are changed so that all members of the group can read and write to the directory, and ensures that all files created in the directory have the same permissions (the setguid bit).

You can create project directories under this directory, that can be accessed by all users in the group:

$ mkdir /localdata/shared/test_project

The pre-installed public datasets are available for all users under /localdata/datasets.

2.4.2. Installing the Graphcore examples

There are several example programs and tutorials available in the Graphcore GitHub repositories examples and tutorials. These are listed in the document index. You can clone these repositories to the shared area or to your private workspace. For example:

$ cd /localdata/shared
$ git clone https://github.com/graphcore/examples.git
Cloning into 'examples'...
$ git clone https://github.com/graphcore/tutorials.git
Cloning into 'tutorials'...

This will install all the examples and benchmarks to the fast disk storage under /localdata/shared/examples. These files will be accessible to everyone in the ipupod user group.

2.4.3. Temporary storage

Each user has a tmp subdirectory (for example, /localdata/alice/tmp) which is configured (in the ~/.profile file) to be used as temporary storage. This provides fast storage and avoids the more limited system temp directory filling up.