Open OnDemand (OOD/VDI) Remote Desktop: How to open software
Introduction
In this document, you can see how to launch different software in the Open OnDemand (OOD) Remote Desktop app (available at rcood.rc.fas.harvard.edu)
You can launch the Remote Desktop app on the Cannon cluster from rcood.rc.fas.harvard.edu and on the FASSE cluster from fasseood.rc.fas.harvard.edu.
When the Remote Desktop app opens, click on the terminal icon to launch a terminal (or click on Applications -> Terminal Emulator). Below you can follow the instruction to launch various software.
Keep in mind that, for the most part, the terminal window needs to stay open. If the terminal window is closed, the software that you launched via terminal will be closed too.
Remote Desktop login
To comply with Harvard’s security policy, if the Remote Desktop session becomes idle, the Remote Desktop session will lock. You need to enter your FASRC password to log back in.
Abaqus
In the terminal type the commands to load the modules and launch Abaqus
[jharvard@holy7c24102 ~]$ module load abaqus [jharvard@holy7c24102 ~]$ export LANG=en_US [jharvard@holy7c24102 ~]$ abaqus cae -mesa cpus=$SLURM_CPUS_PER_TASK &
You can see different versions of Abaqus in our modules page.
The Abaqus license is restricted to SEAS. For more information, see our Abaqus docs.
Comsol
In the terminal type the commands to load the modules and launch Comsol
[jharvard@holy7c24102 ~]$ module load comsol [jharvard@holy7c24102 ~]$ comsol -3drend sw -np $SLURM_CPUS_PER_TASK &
You can see different versions of Comsol in our modules page.
The Comsol license is restricted to SEAS. For more information, see our Comsol docs.
For how to set Comsol temporary directory, see our Comsol Troubleshooting doc.
Jupyter Notebook
(optional) Creating and loading a mamba/conda environment
Note: this is a one-time setup to ensure that your conda environment can be loaded in Jupyter Notebook.
See our Python documentation on how to create a conda environment.
Then, in order to see your conda environment in Jupyter Notebook, ensure that you have installed the packages ipykernel
and nb_conda_kernels
. To do so, launch a terminal in the Remote Desktop and type the commands:
[jharvard@holy7c24102 ~]$ module load python [jharvard@holy7c24102 ~]$ source activate my_conda_environment [jharvard@holy7c24102 ~]$ mamba install ipykernel [jharvard@holy7c24102 ~]$ mamba install nb_conda_kernels
For more information on creating conda environments for TensorFlow and PyTorch, see our GitHub documentation:
You can see different versions of Mambaforge or Python in our modules page.
Launching Jupyter Notebook
In the Remote Desktop terminal type the commands to load the modules and launch Jupyter Notebook:
[jharvard@holy7c24102 ~]$ module load python # (optional) load conda environment [jharvard@holy7c24102 ~]$ source activate my_conda_environment # launch jupyter notebook [jharvard@holy7c24102 ~]$ jupyter notebook
After the jupyter notebook
command, it may hang for a few seconds. Be patient, a Firefox window will open soon after.
To select my_conda_environment
as the kernel, go to Kernel -> Change kernel, and select the kernel (i.e. conda environment) of your choice.
Note: if you prefer to launch Jupyter Lab, note that conda environments cannot be loaded when using Jupyter Lab. Only the base environment is available.
Cleanly close Jupyter Notebook
These are instructions to kill your Jupyter server and so you can exit the job cleanly.
First, close each Jupyter Notebook you have open: click on File -> Close and Halt.
Then, from the Jupyter Notebook Home Page (where you can browse files and folders), on the top right corner, click on “Quit”. Close the Firefox window.
LibreOffice
LibreOffice is a free and open source suite that is compatible with a wide range of formats, including those from Microsoft Word (.doc, .docx), Excel (.xls, .xlsx), PowerPoint (.ppt, .pptx) and Publisher.
LibreOffice is available in the FASRC cluster (both Cannon and FASSE) through a Singularity image. Therefore, LibreOffice is only available through the Remote Desktop app. LibreOffice does not work in the Containerized Remote Desktop app.
In the terminal type the commands to pull and create a singularity image with LibreOffice installed within the container. This command is only needed once.
[jharvard@holy7c24102 ~]$ singularity pull docker://linuxserver/libreoffice
To launch LibreOffice, in the terminal, run the command
[jharvard@holy7c24102 ~]$ singularity exec --cleanenv --env DISPLAY=$DISPLAY libreoffice_latest.sif soffice
Lumerical
In the terminal type the commands to load the modules and launch Lumerical
[jharvard@holy7c24102 ~]$ module load lumerical-seas [jharvard@holy7c24102 ~]$ launcher
The Lumerical license is restricted to SEAS. For more information, see our Lumerical docs.
Matlab
In the terminal type the commands to load the modules and launch Matlab
[jharvard@holy7c24102 ~]$ module load matlab [jharvard@holy7c24102 ~]$ matlab -desktop -softwareopengl
You can see different versions of Matlab in our modules page.
ParaView
In the terminal, type the commands to load the modules and launch ParaView.
[jharvard@holy7c24102 ~]$ module load GCC/9.3.0 OpenMPI/4.0.3 ParaView/5.8.0-Python-3.8.2-mpi [jharvard@holy7c24102 ~]$ unset SESSION_MANAGER [jharvard@holy7c24102 ~]$ paraview
You can see different versions of ParaView in our modules page.
PyCharm
In the terminal, type the commands to load the modules and launch ParaView.
# load necessary modules [jharvard@holy7c24102 ~]$ module python [jharvard@holy7c24102 ~]$ module load pycharm-community # (optional) activate a conda environment before launching PyCharm [jharvard@holy7c24102 ~]$ source active my_conda_env # launch PyCharm [jharvard@holy7c24102 ~]$ pycharm.sh &
Note that the first time you launch PyCharm it may take several minutes (10-30 min) to load all settings.
You can see different versions of Mambaforge or Python in our modules page.
Loading PyCharm IDE configuration
If you have used PyCharm in the cluster before and have saved an IDE configuration, you can load load it into PyCharm.
When PyCharm launches, you may get a window entitled “Import PyCharm Settings”:
Click on the folder on the right corner as indicated by the arrow. Navigate to ~
and select the file.
If you skipped the initial configuration setup, you can still load a configuration. After PyCharm opens, go to File -> Manage IDE Settings -> Import Settings. Then choose the following path: ~
, where <product>
and <version>
could be something like ~
RStudio Desktop
In the terminal type the commands to load modules
[jharvard@holy7c24102 ~]$ module load R [jharvard@holy7c24102 ~]$ module load rstudio
Set environmental variables
[jharvard@holy7c24102 ~]$ unset R_LIBS_SITE [jharvard@holy7c24102 ~]$ mkdir -p $HOME/apps/R_version [jharvard@holy7c24102 ~]$ export R_LIBS_USER=$HOME/apps/R_version:$R_LIBS_USER
Launch RStudio Desktop
[jharvard@holy7c24102 ~]$ rstudio # vanilla option (combines --no-save, --no-restore, --no-site-file, --no-init-file and --no-environ) [jharvard@holy7c24102 ~]$ rstudio --vanila
You can see different versions of R and RStudio in our modules page.
Remoteviz Partition
If you have used the “FAS-RC Remote Visualization” Open OnDemand (or VDI) app, we have decomissioned that
SageMath
You can use sage wither in a interactive shell using command line interface or by launching a Jupyter Notebook with the SageMath kernel. To launch a Jupyter Notebook, in the terminal, type the commands to load the modules and launch Jupyter
[jharvard@holy7c24102 ~]$ module load sage [jharvard@holy7c24102 ~]$ sage -n jupyter
Ensure that you have “SageMath” kernel selected. If not, go to Kernel -> Change kernel, and select SageMath.
For examples, see Sage documentation:
SAS
In the terminal type the commands to load the modules and launch SAS
[jharvard@holy7c24102 ~]$ module load sas [jharvard@holy7c24102 ~]$ sas &
You can see different versions of SAS in our modules page.
Stata
In the terminal type the commands to load the modules and launch Stata
[jharvard@holy7c24102 ~]$ module load stata/17.0-fasrc01 # if you are using single-core jobs [jharvard@holy7c24102 ~]$ xstata-se # if you are using multi-core jobs [jharvard@holy7c24102 ~]$ xstata-mp "set processors $SLURM_CPUS_PER_TASK"
TensorBoard
For TensorBoard, you will first need to create a conda enviroment (Step 1). You only need to create a conda environment once. If you have created one, you can skip to Step 2. Or, if you have your own environment make sure you install the tensorboard package and then you can skip to Step 2.
Step 1: Create conda environment
In a terminal, load Mambaforge or Python module, create a mamba environment, activate it, and install TensorBoard inside the mamba environment
[jharvard@holy7c24102 ~]$ module load python [jharvard@holy7c24102 ~]$ module load cuda/11.7.1-fasrc01 [jharvard@holy7c24102 ~]$ module load cudnn/8.5.0.96_cuda11-fasrc01 [jharvard@holy7c24102 ~]$ conda create -n tb_tf2.10_cuda11 python=3.10 pip numpy six wheel scipy pandas matplotlib seaborn h5py jupyterlab [jharvard@holy7c24102 ~]$ source activate tb_tf2.10_cuda11 [jharvard@holy7c24102 ~]$ conda install -c conda-forge tensorboard [jharvard@holy7c24102 ~]$ conda install -c conda-forge tensorflow
You can see different versions of Mambaforge or Python in our modules page.
Step 2: Activate conda environment and launch TensorBoard
In a terminal, setup variables for TensorBoard. Make sure that the data you need visualize in tensorboard is located in the log directory MY_TB_LOGDIR
. You can either use the suggested path below or use somewhere else that better suits your workflow.
# Find available port to run server on (does not output anything to screen) [jharvard@holy7c24102 ~]$ for myport in {6818..11845}; do ! nc -z localhost ${myport} && break; done # setup tensorboard environmental variables [jharvard@holy7c24102 ~]$ export MY_TB_PORT=${myport} [jharvard@holy7c24102 ~]$ export MY_TB_BASEURL=/node/${host}/${myport}/ [jharvard@holy7c24102 ~]$ export MY_TB_LOGDIR=$HOME/.tensorboard/log/$SLURM_JOBID [jharvard@holy7c24102 ~]$ mkdir -p $MY_TB_LOGDIR # load module, activate conda environment, and launch tensorboard [jharvard@holy7c24102 ~]$ module load python [jharvard@holy7c24102 ~]$ module load cuda/11.7.1-fasrc01 [jharvard@holy7c24102 ~]$ module load cudnn/8.5.0.96_cuda11-fasrc01 [jharvard@holy7c24102 ~]$ source activate tb_tf2.10_cuda11 (tb_tf2.10_cuda11) tensorboard --host localhost --port ${MY_TB_PORT} --logdir ${MY_TB_LOGDIR} --path_prefix ${MY_TB_BASEURL}
You can see different versions of Mambaforge or Python in our modules page.
Right click on the link that starts with “http://localhost” and click on “Open Link”. This will open a Firefox browser where you will be able to see your results.
Example
Using the environment created in Step 1, run the small program tb_test.py
in a directory of your choice and visualize its results.
Source code of tb_test.py
:
import os import tensorflow as tf import datetime def create_model(): return tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(512, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = create_model() model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) logdir = os.getenv('MY_TB_LOGDIR') print(logdir) tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=logdir, histogram_freq=1) model.fit(x=x_train, y=y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])
Setup variables and run tb_test.py
# Find available port to run server on (does not output anything to screen) [jharvard@holy7c24102 tb_example]$ for myport in {6818..11845}; do ! nc -z localhost ${myport} && break; done # go to the directory that you have your tb_test.py file [jharvard@holy7c24102 ~]$ cd tb_example # setup tensorboard environmental variables [jharvard@holy7c24102 tb_example]$ export MY_TB_PORT=${myport} [jharvard@holy7c24102 tb_example]$ export MY_TB_BASEURL=/node/${host}/${myport}/ # this command will set MY_TB_LOGDIR to your current working directory [jharvard@holy7c24102 tb_example]$ export MY_TB_LOGDIR=$PWD # load modules and activate conda environment [jharvard@holy7c24102 tb_example]$ module load python [jharvard@holy7c24102 tb_example]$ module load cuda/11.7.1-fasrc01 [jharvard@holy7c24102 tb_example]$ module load cudnn/8.5.0.96_cuda11-fasrc01 [jharvard@holy7c24102 tb_example]$ source activate tb_tf2.10_cuda11 # run python code (tb_tf2.10_cuda11) python tb_test.py # launch tensorboard (tb_tf2.10_cuda11) tensorboard --host localhost --port ${MY_TB_PORT} --logdir ${MY_TB_LOGDIR} --path_prefix ${MY_TB_BASEURL}
Right click on the link that starts with “http://localhost” and click on “Open Link”. This will open a Firefox browser where you will be able to see your results.
TotalView
TotalView is a debugging tool particularly suitable for parallel applications. The modules you need to load depend on the compilers used in the code you are trying to debug. Due to this compiler dependency, we refer you to a more elaborate TotalView documentation.
Visual Studio Code
In the terminal type the commands to load the modules and launch Visual Studio Code
[jharvard@holy7c24102 ~]$ module load vscode [jharvard@holy7c24102 ~]$ code --user-data-dir $HOME/.vscode/data/ &
You can see different versions of Visual Studio Code in our modules page.
Mathematica
In the terminal type the commands to load the modules and launch Mathematica
[jharvard@holy7c24102 ~]$ module load mathematica [jharvard@holy7c24102 ~]$ mathematica
You can see different versions of Mathematica
in our modules page.