This document shows how to setup and access Intel Developer Cloud via SSH and JupyterLab.
(Updated 2023-09-26)
- Login to Intel Developer Cloud
- Adding SSH Key
- SSH to Intel Developer Cloud
- Launch Jupyter-Lab on Intel Developer Cloud
- GO TO https://scheduler.cloud.intel.com/#/systems
- Sign-up or Sign-in
- You should arrive at a page with list of nodes to select
- Select the option shown below and click "Launch Instance"
Intel® Max Series GPU (PVC) on 4th Gen Intel® Xeon® processors - 1100 series (4x) (Batch Processing/Scheduled access)
- The first time, you will be presented with an option to input SSH public key
- You can add your existing key or create new key and add.
- The SSH key should be RSA-4096 or ED25519
- On your local terminal, create new SSH key:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/idc
cat ~/.ssh/idc.pub
- copy the key and add in the Intel Developer Cloud page and save.
- the page will now show your user id and connection info, which looks like:
ssh [email protected]
- Option 1:
- Connect using the connection info:
ssh [email protected] -i ~/.ssh/idc
- Option 2:
- Connect using the config (next section shows how to create config):
ssh idc
This is should log you into the Intel Developer Cloud head node
, the prompt will look like this:
uXXXXXX@idc-beta-batch-head-node:~$
- On your local terminal, edit SSH config file:
vi ~/.ssh/config
- copy the following in the
.ssh/config
file:
Host idc
Hostname idcbetabatch.eglb.intel.com
User uXXXXXX
IdentityFile ~/.ssh/idc
#ProxyCommand /usr/bin/nc -x xxx.xxxxxxx.com:XXXX %h %p
ServerAliveInterval 60
ServerAliveCountMax 10
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
- Edit the
User
to your user id - Edit the
IdentityFile
to your path to key that was added - Uncomment and update
ProxyCommand
if you need proxy to connect - save the config file
- make sure ssh public key added is of type RSA-4096 or ED25519
- to add a new key, click on profile icon and update SSH key
- if key was updated, delete the instance from
View Instances
tab and thenLaunch instance
again - connect using
ssh [email protected] -i ~/.ssh/idc
, edit your username and your path to private key
- SSH to Intel Developer Cloud
- From you terminal:
ssh idc
- You should be logged in to the
head node
, with prompt similar to this:uXXXXXX@idc-beta-batch-head-node:~$
- From you terminal:
- Check available GPU nodes:
sinfo
- From your
head node
:sinfo
- This will display all available GPU nodes and will show status as available or idle
- From your
- Run command on GPU node from head node:
srun <command>
- From
head node
try the following command: srun ls
srun hostname
srun script.sh
- (script.sh can anything you want to execute on GPU node)
- From
- Run command on GPU node by connecting interactively
- From
head node
try the following command: srun --pty bash
- This will log you on to a node with GPU and you can run any command directly
- From
- Run command on specific GPU node by connecting interactively
- From
head node
try the following command: srun --nodelist=idc-beta-batch-pvc-node-03 --pty bash
- This will log you on to node
idc-beta-batch-pvc-node-03
and you can run any command directly
- From
- SSH to Intel Developer Cloud:
ssh idc
- log into GPU node:
srun --pty bash
- run the following commands to launch JupyterLab
conda init bash
source ~/.bashrc
conda activate pytorch_xpu
jupyter-lab --ip $(hostname -i)
- you will see a URL similar to this displayed:
http://10.10.10.10:8888/lab?token=19ace0257312e8014115917ebf6d2195b0f16163c166ed76
http://127.0.0.1:8888/lab?token=19ace0257312e8014115917ebf6d2195b0f16163c166ed76
- make a note of the IP and PORT :
10.10.10.10
and8888
- open another terminal to create a reverse tunnel by typing command
ssh idc -L PORT:IP:PORT
:
ssh [email protected] -i ~/.ssh/idc -L 8888:10.10.10.10:8888
OR
ssh idc -L 8888:10.10.10.10:8888
- Copy and paste your jupyter lab loopback address URL to a browser window:
http://127.0.0.1:8888/lab?token=19ace0257312e8014115917ebf6d2195b0f16163c166ed76
- This should launch jupyterlab in browser
- SSH to Intel Developer Cloud:
ssh idc
- log into GPU node:
srun --pty bash
- run the following commands to launch JupyterLab
conda init bash
source ~/.bashrc
conda activate base
conda config --add channels intel
conda create -n idp intelpython3_full
conda activate idp
conda install -c conda-forge jupyterlab
pip3 install pandas
pip3 install matplotlib
jupyter-lab --ip $(hostname -i)
- you will see a URL similar to this displayed:
http://10.10.10.10:8888/lab?token=19ace0257312e8014115917ebf6d2195b0f16163c166ed76
http://127.0.0.1:8888/lab?token=19ace0257312e8014115917ebf6d2195b0f16163c166ed76
- make a note of the IP and PORT :
10.10.10.10
and8888
- open another terminal to create a reverse tunnel by typing command
ssh idc -L PORT:IP:PORT
:
ssh [email protected] -i ~/.ssh/idc -L 8888:10.10.10.10:8888
OR
ssh idc -L 8888:10.10.10.10:8888
- Copy and paste your jupyter lab loopback address URL to a browser window:
http://127.0.0.1:8888/lab?token=19ace0257312e8014115917ebf6d2195b0f16163c166ed76
- This should launch jupyterlab in browser