1. Graphcloud overview

Graphcloud is a secure, cloud-based, commercial machine-learning (ML) platform running on Graphcore Mk2 IPU-POD systems hosted by US-based Cirrascale in partnership with Graphcore.

Customers are able to purchase weekly, monthly or annual access to IPU‑POD16 systems (comprised of four IPU-M2000 and a host server) and IPU‑POD64 systems (comprised of 16 IPU-M2000 and four host servers). Other options, including larger scale-out systems will be available during 2021.

Invited customers can apply for preview access to Graphcloud – a two week free of charge, ‘try before you buy’ evaluation on a Graphcore Mk2 IPU‑POD16. After the two week trial period, you can pay for extended access.

Full pricing details are available from the Cirrascale website or from Graphcore sales.

Graphcloud is fully supported by Graphcore’s Poplar SDK to provide a complete, scalable platform for accelerated machine intelligence development. Online support from Graphcore is included with access to Graphcloud.

1.1. Prerequisites

This document assumes you are familiar with developing Machine Learning applications using industry-standard frameworks such as TensorFlow or PyTorch. As such it also assumes a knowledge of programming languages such as Python or C++.

The Graphcore Developer page has links to a variety of resources to assist you getting started programming for the IPU. A good place to start is the Fundamentals of the IPU and Poplar video, which introduces the IPU architecture and programming model.

1.1.1. Linux and Python commands

You will also need to have some familiarity with the Linux command line and some common Linux tools. Some of the tasks that you may need to perform are summarised below:

  • Navigating the file system using commands such as ls and cd, and shortcuts such as ~.

  • Using login files such as .profile and .bashrc to configure your environment (setting paths, performing actions that need be done on every login, and so on).

  • Understanding file ownership and permissions for users and groups.

  • Changing file permissions to allow sharing between multiple users in your organisation (commands: chmod and chown).

  • Logging in to Graphcloud with ssh, configuring ssh and using scp to copy files to and from Graphcloud.

  • Using cp and rsync to copy public examples and data to your user workspace.

  • Creating a Python “virtual environment” with the virtualenv command; this keeps the Python packages that you install for an application or framework separate. This can avoid problems with conflicting versions and dependencies, for example.

1.1.2. Managing the IPU hardware resources

The command vipu is the main interface to the Virtual-IPU (V-IPU) software that manages the IPU-POD hardware behind Graphcloud. The partition that provides a set of IPUs for you has already been configured so you should not need to use this.

However, you can use vipu to monitor the status of the IPUs and, if necessary, reset them. See Section 5, Troubleshooting for more information.