Quickstart

Quickstart #

Wisp is simple to setup for your project. It integrates directly with your repository, and requires no code change except for a single configuration file.

Install the CLI #

Go to the Download Wisp site and select the version for your OS and architecture.

Follow the instructions on the page to download, extract and add Wisp to your $PATH.

Verify the installation with:

wisp version

Authenticate to your Wisp account using:

wisp auth

Initialize Wisp #

cd to your .git repository and run:

wisp init

This will create a file called wisp-config.yml. It will also create a project in the dashboard under ./projects.

Let’s take a look at the wisp-config.yml file:

project:
    project: local
    project_id: ee5e2e62-e794-43d1-b915-1d1de436a56b # some uid
    name: wisp-project

    # Setup script will only run a single time on cluster launch.
setup:    
    script: ""

run:
    # Run script will execute every time you run `wisp run`
    # If no script is specified, the command will simply enter and interactive shell.
    script: ""

teardown:
    # Teardown is executed before the instance is destroyed.
    script: ""

resources:

    # Define any hardware required for your project. Be default, Wisp will select the
    # cheapest viable options if no requirements are specified.
    
    clouds: []
    regions: []
    accelerators:
        name: []
        compute_capability: ""
        vram: 0
        n_accelerators: 0
    memory: 0
    vcpus: 0
    storage: 0
    persistent_disk: 0

io:

    # External connections and input / output data. Inputs and outputs will be synced
    # on job launch.
    
    inputs:
        bucket:
            name: ""
            strategy: ""
    outputs:
        folder:
            path: ""

You can keep this configuration, or update it to your requirements. Since no resources or run steps are specified, this will simply start the instance without executing any code.

Run your job #

That’s everything needed to run the job on any instance. You can run your job using

wisp run

Wisp will constrain your job and give you the option to select between multiple clouds. Once approved Wisp will:

  1. Find the instance that matches your required specification (optimized for price)
  2. Set up any authentication needed (ssh, git etc)
  3. Mount any data volumes specificed
  4. Copy your local code to the instance
  5. Run the setup and run scripts
  6. Download any outputs to the specified folder

As we have not supplied any steps in this file, the command will enter an interactive shell session on the instance.

Connecting to your cluster #

There are currently two ways to connect to a running cluster. Both uses SSH under the hood. The first one connects directly with the SSH agent from your OS. In your terminal, from the project directory run

wisp ssh

This will connect directly to your user on the cluster.

Another approach is to use VSCode + remote-ssh. This will give the experience of local development on the cluster. Make sure you have VSCode installed, and run:

wisp vscode

Note that this will also sync your project directory to the remote. Files added to .gitignore will not be synced.

Removing your cluster #

You can tear down your cluster with wisp destroy. This will exit whatever is running, terminate the cluster and delete all data on it. This will also stop all related billable resources.