Getting Started (Web-based Open OnDemand)

1. Get Duo

You must use Duo authentication to log on to the Great Lakes OnDemand web service.  Get more details on the Safe Computing Two-Factor page and enroll here.

2. Get a Great Lakes user login

You must establish a user login on Great Lakes by filling out this form.

3. Connect to Great Lakes OnDemand

You must be on campus or on the VPN to connect to Great Lakes OnDemand.  If you are trying to log in from off campus or using an unauthenticated wireless network such as MGuest, you should install VPN software on your computer.

Once you are on the University network, follow these instructions to connect:

  1. Open your web browser (Firefox, Edge, or Chrome in incognito recommended) and navigate to:
    greatlakes.arc-ts.umich.edu
    greatlakes-oncampus.arc-ts.umich.edu (for on-campus restricted software)
  2. Log into cosign using your uniqname and password:
  3. Complete Duo authentication: 
  4. You should now be logged in.

If you receive a “Bad Request: Your browser sent a request that this server could not understand. Size of request header field exceeds server limit.” error, please clear your browser’s cookies and try to access Great Lakes OnDemand again.

This error can occur when the request header sent by the browser becomes too large. This is typically caused by accumulated cookies and cached data for a specific site; in some cases, corrupted cookies can also contribute to the problem.

4. Get files

At the top of the page, click “Files” and then “Home Directory”.  A new tab will be created that contains the File Explorer: 

Here you can navigate your home folder.  The buttons do the following:

  • “Go To…”: Navigate to a specified folder
  • “Open in Terminal”: Opens the active folder in a terminal session (new tab)
  • “New File”: Creates a new file in the active folder
  • “New Dir”: Creates a new folder in the active folder
  • “Upload”: Select files from your local machine to upload to the active folder
  • “Show Dotfiles”: Reveals hidden files (usually do not need to be changed)
  • “Show Owner/Mode”: Shows ownership and permission information
  • “View”: Shows file contents inside the current tab
  • “Edit”: Opens a file editor in a new tab
  • “Rename/Move”: Gives a file a new path and/or name
  • “Download”: Downloads the file or folder to your local machine
  • “Copy”: Copies selected files to the clipboard
  • “Paste”: Pastes files from the clipboard
  • “(Un)Select All”: Select or unselect all files/folders
  • “Delete”: Deletes selected files/folders

5. Submit a job

At the top of the home page, click “Jobs” and then “Job Composer”.  A new tab will be created that contains the Job Composer: 

Upon your first visit to this page, you’ll go through a helpful tutorial.  The buttons do the following:

  • “New Job”: Creates a new job…
    • “From Default Template”: Uses system defaults for a bare bones “Hello World” job on the Great Lakes cluster.  Please note that you will still need to specify your account.
    • “From Specified Path”: Creates a job from a specified job script.  See the Slurm User Guide for Great Lakes for information on writing this script.  Some attributes (name, account) can be set here if not set in the script.
    • “From Selected Job”: Creates a new job that is a copy of the selected job.
  • “Edit Files”: Opens a the project folder in a new File Explorer tab, allowing you to edit the files within (see “Get Files” above for File Explorer instructions).
  • “Job Options”: Allows for editing the Name, Cluster, Job Script, and Account fields.
  • “Open Terminal”: Opens a terminal session in a new tab, starting in the project folder.
  • “Submit”: Submits the selected job to the cluster.
  • “Stop”: Stops the selected job if it has been submitted.
  • “Delete”: Delete the selected job.

To view active job information, click “Jobs” and then “Active Jobs” from the home page.

This is a simple guide to get your jobs up and running. For more advanced Slurm features and job scripting information, see the Slurm User Guide for Great Lakes. If you are familiar with using the resource manager Torque, you may find the migrating from Torque to Slurm guide useful.

Interactive Apps

At the top of the home page, click “Interactive Apps” and then select your desired application.

 

Great Lakes Remote Desktop

Launches an interactive desktop in a new tab.  Specify your account (usually your PI’s uniqname), hours, memory, cores, and partition (standard, gpu, largemem):

 

Please note: At this time only node node may be requested with Remote Desktop. 

Upon selecting “Launch”, your job will be queued on one of your nodes and shown on the “My Interactive Sessions” screen. As soon as the job’s status is “Running”, you can change remote desktop settings. For slower internet connections, you can try a higher compression and lower image quality using the sliders.  Conversely, if you have a fast connection you can lower compression and raise image quality.  You can also directly access your node’s terminal by clicking on the hostname (blue button).  Once you’re ready to use the desktop, click on “Launch Greatlakes Remote Desktop”:

A remote desktop session will then be opened in a new tab for the requested amount of time. If you finish early, return to the “My Interactive Sessions” tab and delete the job.

Great Lakes GPU Accelerated Desktop Applications

Launches an interactive desktop in a new tab.  Specify your account (usually your PI’s uniqname), hours, memory, cores, and the viz partition:

 

Please note: At this time only node node may be requested with Remote Desktop. 

Upon selecting “Launch”, your job will be queued on one of your nodes and shown on the “My Interactive Sessions” screen. As soon as the job’s status is “Running”, you can change remote desktop settings. For slower internet connections, you can try a higher compression and lower image quality using the sliders.  Conversely, if you have a fast connection you can lower compression and raise image quality.  You can also directly access your node’s terminal by clicking on the hostname (blue button).  Once you’re ready to use the desktop, click on “Launch Greatlakes Remote Desktop”:

A remote desktop session will then be opened in a new tab for the requested amount of time. If you finish early, return to the “My Interactive Sessions” tab and delete the job.

Example/Walkthrough of using GPU Hardware Acceleration

Using 40 cores, 40 GB, and 1 GPU, here is an example/walkthrough with non-gpu software acceleration and gpu hardware acceleration:

  • Launch and Open OnDemand Remote Desktop application using the viz partition
  • Open up the terminal
  • To launch a non-gpu software accelerated application, run:
    • glxspheres64
      
  • To launch a gpu hardware accelerated application, run:
    • vglrun glxsphere64
      

Using gpu hardware acceleration, glxsphere64 shows a 10x performance improvement. Your code may perform differently.

MATLAB

Launches an interactive desktop with MATLAB configured and running in a new tab.  Specify your desired version, account, hours, partition (standard, gpu, largemem), and memory (4GB minimum):

Upon selecting “Launch”, your job will be queued on one of your nodes and shown on the “My Interactive Sessions” screen. As soon as the job’s status is “Running”, you can change remote desktop settings. For slower internet connections, you can try a higher compression and lower image quality using the sliders.  Conversely, if you have a fast connection you can lower compression and raise image quality.  You can also directly access your node’s terminal by clicking on the hostname (blue button).  Once you’re ready to use the application, click on “Launch MATLAB”:

A remote desktop session running MATLAB will then be opened in a new tab for the requested amount of time. You may also use the terminal and other basic applications. If you finish early, return to the “My Interactive Sessions” tab and delete the job.

RStudio

Launches an interactive desktop with RStudio configured and running in a new tab.  Specify your desired version, account, hours, cores, partition (standard, gpu, largemem), and memory (2GB minimum):

Upon selecting “Launch”, your job will be queued on one of your nodes and shown on the “My Interactive Sessions” screen. As soon as the job’s status is “Running”, you can change remote desktop settings. For slower internet connections, you can try a higher compression and lower image quality using the sliders.  Conversely, if you have a fast connection you can lower compression and raise image quality.  You can also directly access your node’s terminal by clicking on the hostname (blue button).  Once you’re ready to use the application, click on “Launch RStudio”:

A remote desktop session running RStudio will then be opened in a new tab for the requested amount of time. You may also use the terminal and other basic applications. If you finish early, return to the “My Interactive Sessions” tab and delete the job.

Jupyter Notebook Server

Jupyter Notebook Server

Launches a Jupyter Notebook Server in a new tab. Specify your desired Anaconda Python version, account, hours, partition (standard, gpu, largemem), cores, and memory:

Upon selecting “Launch”, your job will be queued on one of your nodes and shown on the “My Interactive Sessions” screen. As soon as the job’s status is “Running”, you can click on “Connect to Jupyter”:

For instructions on using Jupyter Notebook, see the official documentation.

GPU Settings

If you have selected one of the GPU partitions (e.g. gpu or spgpu), the form for your desktop or interactive app will automatically display two new fields, Number of GPUs and GPU Compute Mode.  Enter the number of GPUs that you wish to use for the job in the appropriate field.  Note the maximum allowed value differs depending on which partition is selected.  ARC’s default setting for Compute Mode is exclusive, where only single process can run at a time on each GPU.  Shared mode allows multiple processes to run simultaneously on a single GPU.  See the CUDA Programming Guide for more details. Note, you may query the compute mode from any GPU node by entering the command nvidia-smi -q | grep "Compute Mode", where a result of Default refers to the NVIDIA default of shared mode, as opposed to the ARC default selection of exclusive mode.

For example:

$ nvidia-smi -q |grep "Compute Mode"
Compute Mode : Default