Reference

Software

Draft

This documentation is in draft and under active review. Figures for the Fall 2026 GPU reservation system are not yet published, and some pages describe behavior that has not been verified against a primary source. Confirm any figure with parasol@ucsd.edu before relying on it.

Find out how to run RStudio, MATLAB, and Stata on Datahub and PARASOL (formerly DSMLP), how licensed software gets installed, and which software you can install yourself. The standard images cover most courses and projects and receive priority support. See Standard Images, Tags, and Pinning.

R and RStudio

R is included in every standard image, alongside Python and Julia, and runs as a Jupyter kernel. Entering ?command_name in a cell displays the documentation for a function.

Opening RStudio

RStudio does not require a separate sign-in.

  1. Start the course environment that includes RStudio.
  2. Wait for the JupyterLab launcher to load.
  3. Click the RStudio shortcut. RStudio opens in a new tab.

Personal R Package Library

In a new account, install.packages() does not work until a personal package library exists. Create the library once, in the RStudio Console, during the first RStudio session:

dir.create("~/R")
dir.create("~/R/library")
.libPaths("~/R/library")

The library is stored in the home directory and counts against its quota. See Storage Quota.

RStudio and GPUs

rstudio-notebook derives from datascience-notebook, the CPU image, rather than from scipy-ml-notebook, and is therefore not GPU-enabled. See Standard Images. A course that needs both RStudio and a GPU requires a custom image or a second environment.

See also: Getting Help

MATLAB, Octave & Other Complex Applications

MATLAB can be used on the platform but is not a standard feature. The ITS scope of support classes MATLAB, as Jupyter kernels or as the Web UI, and GNU Octave among the capabilities in Complex & Experimental Capabilities. These capabilities are regularly used on the platform but fall outside the normal bounds of ITS support, and their use in a course is led by the instructor or the Technical Point of Contact (TPOC).

MATLAB from a Shell Script

Research IT documents running MATLAB from a small shell script that sets a license-file environment variable. The license covers course work and research work alike. The script exports MLM_LICENSE_FILE, points to a MATLAB installation held on the cluster, and runs MATLAB headless: with -nojvm -nodisplay -nosplash for interactive use, and with -batch for a script.

MATLAB runs inside a job and never on the login node, where running computation is prohibited. See What the Login Node Is For. Scripts are made executable with chmod before they are run.

Research IT maintains the MATLAB release, the installation directory, and the license file. Confirm the current paths with Research IT at rcd-support@ucsd.edu before building a course around them.

Stata

Stata runs in the scipy-ml container for users with provisioned licensing. Research IT Services installs Stata into the member's home directory, and the member then runs it from inside a container as ~/stata-se.

The platform does not provide Stata licenses, and a license is required before installation. A holder of a Stata license through a department or project arranges the installation by writing to rcd-support@ucsd.edu.

Licensed Software

Installing licensed software is permitted. Purchasing the license is the responsibility of the user or the user's sponsoring department. Research IT Services can assist with the installation. Some versions of some products are not compatible with a containerized cluster environment.

Before purchasing a license, confirm the following with the relevant contact:

  • whether the product can run unprivileged in a container
  • whether its license permits that use
  • whether a network license server is reachable from the cluster

For research use, the contact is rcd-support@ucsd.edu. For a course, the contact is parasol@ucsd.edu.

Licensed data is subject to separate rules. See Restricted & Licensed Datasets.

Complex & Experimental Capabilities

The ITS scope of support names the following capabilities as available on the cluster but outside normal support.

Capability Documentation
MATLAB (Jupyter kernels or Web UI), GNU Octave MATLAB, Octave & Other Complex Applications
Spark clusters ITS publishes no documentation. The only description of a multi-node Spark topology on this platform is a DSC 102 assignment, which is course material rather than documentation.
ArcGIS integration ITS publishes no documentation.
Postgres and other persistent services Launched from Kubernetes manifests and reached by in-cluster service name. See Direct Kubernetes Use and Session Events.
Background batch processing and analysis pipelines Job Modes
Visual Studio Code integration Remote Editor Setup
Containers not derived from a standard image, and student-built containers Building & Publishing a Custom Image

Support Responsibilities

The complex or experimental classification concerns support, not capability. These capabilities work, and courses use them. Incorporating one into a course requires the instructor or TPOC to become independently familiar with the underlying technology and then to serve as primary support for students' use of it. ITS gives technical guidance but, without an advance agreement, does not take on implementation or front-line support. The scope of support is published in Complex Customizations & Experimental Features.

Feasibility Consultation

Book a 1:1 Consultation at least one full quarter before any planned use of one of these capabilities, to discuss feasibility. Support & Technical Consultation describes consultations.

Adding Software Without a Ticket

Home Directory Installations

A member can install anything that installs into the member's own home directory: Python packages into a virtual environment with its own Jupyter kernel, R packages into a personal library, and a custom kernel. The procedures are in Customizing an Environment.

Operating System Packages

Software that installs into the operating system requires a custom image. A container has no sudo and no flag that grants it, and root is available at image build time instead, on a different machine. See Root Access and System Packages. Building & Publishing a Custom Image covers building an image.

Package Lists

Package lists change with every image build. The current contents of each image are published from the image repository. See Finding the Package List.