BYU

Office of Research Computing

Open OnDemand

Open OnDemand is a user-friendly, browser-based portal that provides access to BYU's supercomputing resources. Run, connect and disconnect from long-term graphical jobs on JupyterLab, MatLab, and more.

Get started at https://ondemand.rc.byu.edu. It is currently "beta" as we finish upgrading a few of these applications to use RHEL 9 instead of RHEL 7.

internal://68c40e5bbc70eefc78f91c8ffa7138b4.png

Key features include:

  • Interactive Applications: Run JupyterLab, Matlab, and more with easy-to-use graphical interfaces.
  • File Management: Upload and download files.
  • Text Editor: View and edit text files.
  • Job Management: Submit and monitor Slurm jobs, view outputs, and more.

Interactive Apps: Features and Benefits

Open OnDemand allows scheduling and running graphical jobs on any node permissible. Benefits include:

  • Flexibility: Run on any QoS or partition permissible.
  • Long-Run Jobs: Programs can run for extended periods, even with the browser closed.
  • Convenient:Connect and disconnect from sessions to monitor progress.
  • Storage: Jobs have access to ORC storage; home, group, scratch, etc.

Getting Started with Interactive Apps:

  • Access via Web: Go to https://ondemand.rc.byu.edu.
  • Select Software and Resources: Use drop-down menus to choose your requirements.
  • Session Management: Attach to running sessions anytime with a web browser, no additional software required.

Open OnDemand vs FastX: Understanding the Differences

While both Open OnDemand and FastX provide graphical interfaces for software execution, there are key differences:

  • Flexibility in Resources: Open OnDemand supports running jobs on any QoS and partition, unlike FastX which is limited to login nodes.
  • Resource-Intensive Jobs: Ideal for jobs requiring high memory, GPUs, or specific hardware.

Advanced Options for Interactive Applications

Understanding these options ensures optimal use of Open OnDemand:

  • Number of Cores: Reserve cores based on your application's threading capabilities and need. Single-threaded applications use only one core, while multi-threaded applications can use multiple cores for improved performance.
  • Memory per Job: Specify the maximum memory needed for your job. Note that reserving a large amount of memory might lead to longer wait times for job initiation.
  • Number of GPUs per Node: Indicate your job's GPU requirements. Remember, not all applications are designed to utilize GPUs, even if they are reserved. If an application is known to use GPUs, but will not work in Open OnDemand, please open a ticket so we can resolve the issue.
  • Partitions and Quality of Service (QOS): Partitions are groups of machines with common features, while QOS are collections of partitions. For example, a department might own several partitions, each partition containing nodes with different hardware capabilities. The department then might have a QOS containing all of their partitions. For general purposes, the 'normal' QOS and (auto) partition are recommended.

JupyterLab Environment Setup

JupyterLab Environment Setup contains whatever commands necessary for your account to launch the command "jupyterlab".

  • Default: Uses module load command to load a default python and jupyterlab
  • Customization: Change the script to include virtual environments, different versions of python, or jupyterlab. This could include adding paths to a group directory for a custom installation of Python or Jupyterlab.
  • Script Management: Entered scripts are saved through the web server. For complex scripts, consider backing up elsewhere.