/tag/software
UVA High Security Zone Software List
function searchFunction() { var input, filter, table, tr, td, i, txtValue; input = document.getElementById(“searchInput”); filter = input.value.toUpperCase(); table = document.getElementById(“moduleTable”); tr = table.getElementsByTagName(“tr”); for (i = 0; i -1) { tr[i].style.display = “"; } else { tr[i].style.display = “none”; } } } } Module Category Description R lang R is a free software environment for statistical computing and graphics. ant devel Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.
Loading Module in Jupyter
Users cannot load modules inside a JupyterLab session. If you need access to modules, please request a desktop session instead of JupyterLab. Fill out the form as you normally would for JupyterLab. After you get to a desktop, open a terminal (next to Firefox in the top bar) and type these commands:
module load jupyterlab module load … # your modules here jupyter-lab This should start up Firefox shortly. If you accidentally close the window, right-click on the link in the terminal and choose “open link” to restart.
An example of using LaTeX inside a JupyterLab session is shown in the screenshot below.
Miniforge and UVA HPC
Overview Miniforge provides the Conda and Mamba package managers, with the default channel being conda-forge.
(Mamba is a reimplementation of the Conda package manager in C++ that uses a state-of-the-art library “libsolv” for much faster dependency solving.)
We have transitioned from Anaconda to Miniforge on Oct 15, 2024. See here for details.
Available Versions The current installation of Miniforge
incorporates the most popular packages. To find the available versions and learn how to load them, run:
module spider miniforge The output of the command shows the available Miniforge
module versions.
For detailed information about a particular Miniforge
module, including how to load the module, run the module spider command with the module’s full version label.
Slurm Script Generator
iframe { width: 100%; height: 1000px; border: none; }
Clear OOD Files
To clear OOD Session files, the HPC system will need to be accessed via a terminal. See documentation for information on how to access via SSH.
You can find the session files and logs for all Open on Demand apps at:
~/ondemand/data/sys/dashboard/batch_connect/sys Under this directory you will see subdirectories for the Open on Demand applications that you have used before. Under each subdirectory you can find the files that are created when you launch a new session.
To quickly clear all session files for OnDemand from your /home directory run:
rm -rf ondemand Other directories related to Open on Demand such as .
Apptainer and UVA HPC
Introduction Apptainer is a continuation of the Singularity project (see here). On December 18, 2023 we migrated from Singularity to Apptainer.
Containers created by Singularity and Apptainer are mutually compatible as of this writing, although divergence is to be expected.
One advantage of Apptainer is that users can now build container images natively on the UVA HPC system.
Apptainer and UVA HPC (after 12/18/2023) Apptainer is available as a module. The RC staff has also curated a library of pre-prepared Apptainer container images for popular applications as part of the shared software stack. Descriptions for these shared containers can be found via the module avail and module spider commands.
Compilers and UVA HPC
UVA HPC offers multiple compiler bundles for C, C++, and Fortran. Different compilers have different strengths and weaknesses and different error messaging and debugging features, so users should be willing to try another one when appropriate. The modules system manages the compiler environment and ensures that only compatible libraries are available for loading.
Many users of compiled languages are working with codes that can employ MPI for multinode parallel runs. MPI users should first understand how their chosen compiler works, then see the MPI instructions at our parallel programming page.
Compiled languages can be more difficult to debug, and the assistance of a good debugger can be essential.
Intel and UVA HPC
Description Intel C and C++ compilers
Software Category: compiler
For detailed information, visit the Intel
website.
Available Versions To find the available versions and learn how to load them, run:
module spider intel The output of the command shows the available Intel
module versions.
For detailed information about a particular Intel
module, including how to load the module, run the module spider command with the module’s full version label. For example:
module spider intel/18.0 ModuleVersion Module Load Command intel18.0 module load intel/18.0 intel2023.1 module load intel/2023.1 intel2024.0 module load intel/2024.0 The 2024.
Machine Learning and UVA HPC
Overview Many machine learning packages can utilize general purpose graphics processing units (GPGPUs). If supported by the respective machine learning framework or application, code execution can be manyfold, often orders of magnitude, faster on GPU nodes compared to nodes without GPU devices.
The HPC system has several nodes that are equipped with GPU devices. These nodes are available in the GPU partition. Access to a GPU node and its GPU device(s) requires specific Slurm directives or command line options as described in the Jobs using a GPU Node section.
Applications Several machine learning software packages are installed on the UVA HPC system.
Software Containers
[Deprecated] On Dec 18, 2023 Singularity has been upgraded to Apptainer, a continuation of the Singularity project. Overview Singularity is a container application targeted to multi-user, high-performance computing systems. It interoperates well with Slurm and with the Lmod modules system. Singularity can be used to create and run its own containers, or it can import Docker containers.
Creating Singularity Containers To create your own image from scratch, you must have root privileges on some computer running Linux (any version). Follow the instructions at the Singularity site. If you have only Mac or Windows, you can use the Vagrant environment. Vagrant is a pre-packed system that runs under several virtual-machine environments, including the free Virtualbox environment.
TensorFlow and UVA HPC
Overview TensorFlow is an open source software library for high performance numerical computation. It has become a very popular tool for machine learning and in particular for the creation of deep neural networks. The latest TensorFlow versions are now provided as prebuilt Apptainer containers on the HPC system. The basic concept of running Apptainer containers on the HPC system is described here.
TensorFlow code is provided in two flavors, either with or without support of general purpose graphics processing units (GPUs). All TensorFlow container images provided on the HPC system require access to a GPU node. Access to GPU nodes is detailed in the sections below.
NVIDIA DGX BasePOD™
Introducing the NVIDIA DGX BasePOD™ As artificial intelligence (AI) and machine learning (ML) continue to change how academic research is conducted, the NVIDIA DGX BasePOD, or BasePOD, brings new AI and ML functionality UVA’s High-Performance Computing (HPC) system. The BasePOD is a cluster of high-performance GPUs that allows large deep-learning models to be created and utilized at UVA.
The NVIDIA DGX BasePOD™ on Rivanna and Afton, hereafter referred to as the POD, is comprised of:
10 DGX A100 nodes with 2TB of RAM memory per node 80 GB GPU memory per GPU device Compared to the regular GPU nodes, the POD contains advanced features such as:
Software Containers
Overview Containers bundle an application, the libraries and other executables it may need, and even the data used with the application into portable, self-contained files called images. Containers simplify installation and management of software with complex dependencies and can also be used to package workflows.
Please refer to the following pages for further information.
Singularity (before Dec 18, 2023) Apptainer (after Dec 18, 2023) Short course: Software Containers for HPC Container Registries for UVA Research Computing Images built by Research Computing are hosted on Docker Hub (and previously Singularity Library).
Singularity Library Due to storage limits we can no longer add Singularity images to Singularity Library.
GPU-enabled Software and UVA HPC
Please note that certain modules can only run on specific GPU types. This will be displayed in a message upon loading the module.
Certain software applications may also able to take advantage of the advanced capabilities provided by the NVIDIA DGX BasePOD™.
Learn More function searchFunction() { var input, filter, table, tr, td, i, txtValue; input = document.getElementById(“searchInput”); filter = input.value.toUpperCase(); table = document.getElementById(“moduleTable”); tr = table.getElementsByTagName(“tr”); for (i = 0; i -1) { tr[i].style.display = “"; } else { tr[i].style.display = “none”; } } } } Module Category Description alphafold bio gpu Open source code for AlphaFold amber chem gpu Amber (originally Assisted Model Building with Energy Refinement) is software for performing molecular dynamics and structure prediction.
How to add packages to a container?
Basic Steps Strictly speaking, you cannot add packages to an existing container since it is not editable. However, you can try to install missing packages locally. Using python-pip as an example:
module load apptainer apptainer exec <container.sif> python -m pip install –user <package> Replace <container.sif> with the actual filename of the container and <package> with the package name. The Python package will be installed in your home directory under .local/lib/pythonX.Y where X.Y is the Python version in the container.
If the installation results in a binary, it will often be placed in .local/bin. Remember to add this to your PATH:
The Make Tool
Overview Make is a program used primarily on Unix systems to manage compiling and linking (building) programs written in C, C++, Fortran, or other compiled languages. Make operates on targets using rules to create those targets. It has a set of built-in rules but users may write their own or override the default rules. Make scans the dependencies of each target looking for files newer than the target. If it finds them, it recreates the target. Targets may and usually do depend on other targets; make will work its way through the chain to rebuild the final target, which is typically an executable.
Converting a Jupyter Notebook to a Python Script
Sometimes it may be useful to convert a Jupyter notebook into a Python executable script. Once your notebook is opened in OOD you can select File > Export Notebook As … > Export Notebook to Executable Script:
This will download a Python executable with a ‘.py’ extension into your local computer’s Downloads folder. Your notebook may also show “Download as” instead of “Export Notebook As …”. Either of these selections will allow you to download a Python executable.
This script can be copied to the HPC system in the working directory where JupyterLab was accessing the notebook. Information on transferring files to and from Rivanna can be found here.
Converting a Jupyter Notebook to a PDF
Users cannot load modules inside the OpenOnDemand App for JupyterLab. Therefore it is not possible to convert a Jupyter Notebook to a PDF directly inside the JupyterLab Interactive App on OpenOnDemand.
There are 2 ways to convert a Jupyter Notebook to a PDF:
Both methods require Jupyter to be installed within a conda environment. The following example will install Jupyter into a conda environment named ‘jupyter’: module load miniforge conda create -n jupyter source activate jupyter mamba install jupyter -y Directly from the command line. ssh from your terminal and type the following: module load miniforge texlive # Load conda environment with Jupyter installed source activate jupyter jupyter nbconvert –to pdf you_script.
Launching RStudio Server from an Apptainer Container
Rocker provides many software containers for R. Due to the default permission settings of our file system, launching an RStudio Server session is not straightforward. If you are interested in using their containers on the HPC system, please follow these steps.
Pull container Use Apptainer to pull the container. We will use geospatial in this example.
module load apptainer apptainer pull docker://rocker/geospatial You should see geospatial_latest.sif in your current directory.
One-time setup The commands in this section are to be executed as a one-time setup on the frontend. You may need to repeat the steps here when running a new rocker container.
Migrating Python packages
Scenario You have installed Python packages locally in one version and now wish to use them in a different version. For example, you have been using Python 3.6 but it is obsolete and will be removed soon, so you need to set up those packages for Python 3.8. There are several ways to accomplish this, depending on the package manager. In this how-to we will discuss pip and conda.
You will need to load the module for the newer Python version. For this example,
module load miniforge $('#copybtn728514639').click(function(){ var $temp = $(""); $(“body”).append($temp); $temp.val($('#728514639').text()).select(); document.
UVA HPC Software
Overview Research Computing at UVA offers a variety of standard software packages for all UVA HPC users. We also install requested software based on the needs of the high-performance computing (HPC) community as a whole. Software used by a single group should be installed by that group’s members, ideally on leased storage controlled by the group. Departments with a set of widely-used software packages may install them to the lsp_apps space. The Research Computing group also provides limited assistance for individual installations.
For help installing research software on your PC, please contact Research Software Support at res-consult@virginia.edu.
Software Modules and Containers Software on the HPC system is accessed via environment modules or containers.
Building Your Code on the HPC System
Building your Application Creating an executable from source with a compiled language requires two steps, compiling and linking. The combination of these is generally called building. The output of the compiler is generally an object file, which on Unix will end in a .o suffix. Object files are machine code and are not human-readable, but they are not standalone and cannot be executed. The linker, which is usually invoked through the compiler, takes all object files, along with any external libraries, and creates the executable (also called a binary).
Compilers are invoked on source files with a line such as
Running a Bioinformatics Software Pipeline with Wdl/Cromwell
WDL (pronounced widdle) is a workflow description language to define tasks and workflows. WDL aims to describe tasks with abstract commands that have inputs, and once defined, allows you to wire them together to form complex workflows.
Learn More
CROMWELL is the execution engine (written in Java) that supports running WDL scripts on three types of platforms: local machine (e.g. your laptop), a local cluster/compute farm accessed via a job scheduler (e.g. Slurm, GridEngine) or a cloud platform (e.g. Google Cloud or Amazon AWS).
Learn More
Introduction Pre-requisites: This tutorial assumes that you have an understanding of the basic structure of a WDL script.
Debuggers and Profilers
Debuggers To use a debugger, it is necessary to rebuild your code with the -g flag added. All object files must be removed anytime compiler flags change. If you have a Makefile run make clean if it is available. The program must then be run under the control of the debugger. For example, if you are using gdb, you run
gdb ./myexec Adding debugging flags generally disables any optimization flags you may have added, and can slow down the code. Please remember to recompile with -g removed once you have found your bugs.
Gnu Debugger (gdb) and Profiler (gprof) The Gnu Compiler Collection compilers are free, open-source tools.
Docker - The Basics
Note that Docker requires sudo privilege and therefore it is not supported on the HPC system. To use a Docker image you will need to convert it into Apptainer. More information can be found here on our website.
What Is Docker? “Docker is a set of platform-as-a-service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines.
Custom Jupyter Kernels
You can create custom kernels from a conda environment or an Apptainer container.
In both cases you’ll need to install the ipykernel package.
Jupyter kernel based on a conda environment To create a custom kernel of the conda environment myenv that uses Python 3.7:
module load miniforge conda create -n myenv python=3.7 ipykernel <other_packages> source activate myenv python -m ipykernel install –user –name myenv –display-name "My Env" Note:
You can customize the display name for your kernel. It is shown when you hover over a tile in JupyterLab. If you do not specify a display name, the default Python [conda env:<ENV_NAME>] will be shown.
PyTorch and UVA HPC
Description PyTorch is a deep learning framework that puts Python first. It provides Tensors and Dynamic neural networks in Python with strong GPU acceleration.
Software Category: data
For detailed information, visit the PyTorch
website.
Available Versions The current installation of PyTorch
incorporates the most popular packages. To find the available versions and learn how to load them, run:
module spider pytorch The output of the command shows the available PyTorch
module versions.
For detailed information about a particular PyTorch
module, including how to load the module, run the module spider command with the module’s full version label. For example:
module spider pytorch/1.
A Short MPI Tutorial
Tutorials and books on MPI A helpful online tutorial is available from the Lawrence Livermore National Laboratory. The following books can be found in UVA libraries:
Parallel Programming with MPI by Peter Pacheco. Using MPI : Portable Parallel Programming With the Message-Passing Interface by William Gropp, Ewing Lusk, and Anthony Skjellum. Using MPI-2: Advanced Features of the Message-Passing Interface by William Gropp, Ewing Lusk, and Rajeev Thakur. MPI: The Complete Reference : The MPI Core by Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker, and Jack Dongarra. MPI: The Complete Reference : The MPI-2 Extensions by William Gropp, Steven Huss-Lederman, Andrew Lumsdaine, Ewing Lusk, Bill Nitzberg, and Marc Snir.
Building and Running MPI Code
Building an MPI Code All implementations provide wrappers around the underlying compilers that simplify compilation. As it is very important to use the headers that correspond to a given library, users are urged to make use of the wrappers whenever possible. For OpenMPI and MVAPICH2 these are:
mpicc (C) mpicxx (C++) mpif90 (Fortran free or fixed format) For Intel MPI these use gcc/g++/gfortran by default, which is generally not recommended; to use the Intel compilers the corresponding wrappers are:
mpiicc mpiicpc mpiifort Note: At this time, we recommend MPI users build with Intel 18.0 and IntelMPI 18.
Docker Images on the HPC System
Docker requires sudo privilege and therefore it is not supported on the HPC system. To use a Docker image you will need to convert it into Apptainer.
Convert a Docker image There are several ways to convert a Docker image:
Download a remote image from Docker Hub Build from a local image cached in Docker daemon Build from a definition file (advanced) Instructions are provided in each of the following sections.
Docker Hub Docker images hosted on Docker Hub can be downloaded and converted in one step via the apptainer pull command:
module load apptainer apptainer pull docker://account/image Use the exact same command as you would for docker pull.
Software on Ivy Linux Virtual Machines
Each Linux Virtual Machine (VM) comes with a set of preinstalled software applications. Each VM can further be customized via installation of optional software packages.
An overview of available software packages for Windows VMs is provided here.
Preinstalled Software Software Versions Description Anaconda2023.07-py3.11 The open-source Anaconda Distribution is the easiest way to perform Python/R data science and machine learning on Linux, Windows, and Mac OS X. R4.3.1 R is a free software environment for statistical computing and graphics. RStudio Server2023.06.2 RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server.
Software on Ivy Windows Virtual Machines
Each Windows Virtual Machine (VM) comes with a set of preinstalled software applications. Each VM can further be customized via installation of optional software packages.
An overview of available software packages for Linux VMs is provided here.
Preinstalled Software Software Versions Description Miniconda4.11.0 (Python 3.9.7) The open-source Anaconda Distribution is the easiest way to perform Python/R data science and machine learning on Linux, Windows, and Mac OS X. R4.3.1 R is a free software environment for statistical computing and graphics. RStudio1.4.1106 RStudio is an integrated development environment for R, with a console, syntax-highlighting editor that supports direct code execution, and tools for plotting, history, debugging and workspace management.
Message Passing Interface (MPI) and UVA HPC
Overview MPI stands for Message Passing Interface. The MPI standard is defined by the Message Passing Interface Forum. The standard defines the interface for a set of functions that can be used to pass messages between processes on the same computer or on different computers. MPI can be used to program shared memory or distributed memory computers. There is a large number of implementations of MPI from various computer vendors and academic groups. MPI is supported on the HPC clusters.
MPI On the HPC System MPI is a standard that describes the behavior of a library. It is intended to be used with compiled languages (C/C++/Fortran).
NVHPC
Compiling for a GPU Using a GPU can accelerate a code, but requires special programming and compiling. Several options are available for GPU-enabled programs.
OpenACC OpenACC is a standard
Available NVIDIA CUDA Compilers ModuleVersion Module Load Command cuda10.2.89 module load cuda/10.2.89 cuda11.4.2 module load cuda/11.4.2 cuda11.8.0 module load cuda/11.8.0 cuda12.2.2 module load cuda/12.2.2 cuda12.4.1 module load cuda/12.4.1 ModuleVersion Module Load Command nvhpc24.1 module load nvhpc/24.1 nvhpc24.5 module load nvhpc/24.5 GPU architecture According to the CUDA documentation, “in the CUDA naming scheme, GPUs are named sm_xy, where x denotes the GPU generation number, and y the version in that generation.
Software Modules
The lmod modules system on the HPC system enables users to easily set their environments for selected software and to choose versions if appropriate.
The lmod system is hierarchical; not every module is available in every environment. We provide a core environment which contains most of the software installed by Research Computing staff, but software that requires a compiler or MPI is not in that environment and a compiler must first be loaded.
View All Modules Basic Commands List all available software
module avail $('#copybtn971632485').click(function(){ var $temp = $(""); $(“body”).append($temp); $temp.val($('#971632485').text()).select(); document.execCommand(“copy”); $temp.
UVA HPC Software List
function searchFunction() { var input, filter, table, tr, td, i, txtValue; input = document.getElementById(“searchInput”); filter = input.value.toUpperCase(); table = document.getElementById(“moduleTable”); tr = table.getElementsByTagName(“tr”); for (i = 0; i -1) { tr[i].style.display = “"; } else { tr[i].style.display = “none”; } } } } Module Category Description R lang R is a free software environment for statistical computing and graphics. abinit chem ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a planewave or wavelet basis.
Bowtie2 on Ivy Linux VM
Bowtie2 is a memory-efficient tool for aligning short sequences to long reference genomes.
It indexes the genome using FM Index, which is based on Burrows-Wheeler Transform algorithm,
to keep its memory footprint small. Bowtie2 supports gapped, local and paired-end alignment modes.
Alignment to a known reference using Bowtie2 is often an essential first step in a myriad of NGS analyses workflows.
Bowtie2 Usage Alignment using bowtie2 is a 2-step process - indexing the reference genome, followed by aligning the sequence data.
Create indexes of your reference genome of interest stored in reference.fasta file:
bowtie2-build [option(s)] <reference.fasta> <bt2-index-basename> This will create new files with the provided basename and extensions .
Bowtie2 on Ivy Windows VM
Bowtie2 is a memory-efficient tool for aligning short sequences to long reference genomes.
It indexes the genome using FM Index, which is based on Burrows-Wheeler Transform algorithm,
to keep its memory footprint small. Bowtie2 supports gapped, local and paired-end alignment modes.
Alignment to a known reference using Bowtie2 is often an essential first step in a myriad of NGS analyses workflows.
Bowtie2 Usage Alignment using bowtie2 is a 2-step process - indexing the reference genome, followed by aligning the sequence data.
Create indexes of your reference genome of interest stored in reference.fasta file:
bowtie2-build [option(s)] <reference.fasta> <bt2-index-basename> This will create new files with the provided basename and extensions .
HISAT2 on Ivy Linux VM
- Please note that HISAT2 requires approval prior to installation on the VM
HISAT2 is a fast and sensitive tool for aligning short reads against the general human population
(as well as single reference genome). It indexes the genome using a Hierarchical Graph FM Index
(HGFM) strategy, i.e. a large set of small indexes that collectively cover the whole genome
(each index representing a genomic region of 56 Kbp).
HISAT2 Usage: Alignment using HISAT2 is a 2-step process - indexing the reference genome, followed by aligning the sequence data.
Create indexes of your reference genome of interest stored in reference.
HISAT2 on Ivy Windows VM
- Please note that HISAT2 requires approval prior to installation on the VM
HISAT2 is a fast and sensitive tool for aligning short reads against the general human population
(as well as single reference genome). It indexes the genome using a Hierarchical Graph FM Index
(HGFM) strategy, i.e. a large set of small indexes that collectively cover the whole genome
(each index representing a genomic region of 56 Kbp).
HISAT2 Usage: Alignment using HISAT2 is a 2-step process - indexing the reference genome, followed by aligning the sequence data.
Create indexes of your reference genome of interest stored in reference.
UVa Licensed SPSS on Ivy Windows VM
SPSS Overview SPSS (or Statistical Package for Social Sciences), was initially developed as a social survey project but later on has grown to encompass statistical
applications in almost all disciplines. Different industries use SPSS for their data analysis work. Its features include database management, reporting,
graphing, among many others.
SPSS Usage SPSS is available only on the Windows VM at the moment. To run SPSS go to:
Start Menu > All Programs > IBM SPSS Statistics Licensing We have a limited number of SPSS licenses available, which are provided on a first-come-first-serve basis.
As a consequence, availability of SPSS on your VM is not always guaranteed once a VM request is submitted.
cTAKES on Ivy Linux VMs
cTAKES Overview cTAKES or The clinical Text Analysis and Knowledge Extraction System, is a Mayo Clinic developed Natural Language Processing (NLP) tool used to
extract information out of clinical records. It is open-source, and built on the Apache Unstructured Information Management Architecture. cTAKES
is modular, expandable, for a number of generic use cases, and contains excellent best practice notes.
cTAKES Usage cTAKES components Some of cTAKES components are listed below:
Sentence boundary detection (OpenNLP technology)
*Tokenization (rule-based) Morphologic normalization (NLM’s LVG) POS tagging (OpenNLP technology) Shallow parsing (OpenNLP technology) Named Entity Recognition Negation and context identification (both based on NegEx) cTAKES Named Entities cTAKES contains the following Named Entities:
cTAKES on Ivy Windows VMs
cTAKES Overview cTAKES or The clinical Text Analysis and Knowledge Extraction System, is a Mayo Clinic developed Natural Language Processing (NLP) tool used to
extract information out of clinical records. It is open-source, and built on the Apache Unstructured Information Management Architecture. cTAKES
is modular, expandable, for a number of generic use cases, and contains excellent best practice notes.
cTAKES Usage cTAKES components Some of cTAKES components are listed below:
Sentence boundary detection (OpenNLP technology)
*Tokenization (rule-based) Morphologic normalization (NLM’s LVG) POS tagging (OpenNLP technology) Shallow parsing (OpenNLP technology) Named Entity Recognition Negation and context identification (both based on NegEx) cTAKES Named Entities cTAKES contains the following Named Entities:
User Licensed Stata on Ivy Linux VMs
Stata Overview Stata is a graphical data analysis tool developed by StataCorp, and is short for Statistics and Data. It
is used in various disciplines, including biomedicine, economics, epidemiology, among others. It is capable
of performing statistical analysis, simulations, regression, and data management. Besides the standard version
Stata also ships with the MP version (multi=processing), and SE for large databases.
Users requesting an installation of Stata are required to provide their own license. Please consult with us before
requesting an installation.
You may also request a Stata license from the UVa Software Gateway
Installing programs from SSC Please first run the following commands to use the proxy:
User Licensed Stata on Ivy Windows VMs
Stata Overview Stata is a graphical data analysis tool developed by StataCorp, and is short for Statistics and Data. It
is used in various disciplines, including biomedicine, economics, epidemiology, among others. It is capable
of performing statistical analysis, simulations, regression, and data management. Besides the standard version
Stata also ships with the MP version (multi=processing), and SE for large databases.
Users requesting an installation of Stata are required to provide their own license. Please consult with us before
requesting an installation.
You may also request a Stata license from the UVa Software Gateway
Installing programs from SSC Please first run the following commands to use the proxy:
UVa Licensed IDL on Ivy Linux VMs
IDL Overview IDL, short for Interactive Data Language, is an interactive shell based data analysis programming language. Used vastly in medical imaging, it can quickly create visualizations and graphs
of large data sets in a few easy steps due to its vector nature. FORTRAN users would be familiar with the IDL syntax. IDL is not to be confused with
Java IDL or Microsoft IDL.
Basic IDL Usage To start IDL, open a terminal window and type idl. This will start the interactive shell.
Variables in IDL To initialize variables in IDL, type:
<variable_name> = <variable_value> e.g.
x = 3 and hit Enter/Return
UVa Licensed IDL on Ivy Windows VMs
IDL Overview IDL, short for Interactive Data Language, is an interactive shell based data analysis programming language. Used vastly in medical imaging, it can quickly create visualizations and graphs
of large data sets in a few easy steps due to its vector nature. FORTRAN users would be familiar with the IDL syntax. IDL is not to be confused with
Java IDL or Microsoft IDL.
Licensing We have a limited number of IDL Licenses available, which are provided on a first-come-first-serve basis.
As a consequence, availability of IDL on your VM is not always guaranteed once a VM request is submitted.
UVa Licensed MATLAB on Ivy Linux Virtual Machines
MATLAB Overview MATLAB is a high-performance language for technical computing. It integrates
computation, visualization, and programming environment. MATLAB stands for MATrix LABoratory. MATLAB was made
to provide easy access to matrix software developed by the LINPACK (linear system package)
and EISPACK (Eigen system package) projects. MATLAB includes a programming language
environment with built-in editing and debugging tools, and supports object-oriented programming.
Programming in MATLAB MATLAB has many advantages compared to conventional computer languages (e.g.,
C, FORTRAN) for solving technical problems. MATLAB is an interactive system whose
basic data element is an array, and almost all problems can be solved in MATLAB using that
UVa Licensed MATLAB on Ivy Windows Virtual Machines
MATLAB Overview MATLAB is a high-performance language for technical computing. It integrates
computation, visualization, and programming environment. MATLAB stands for MATrix LABoratory. MATLAB was made
to provide easy access to matrix software developed by the LINPACK (linear system package)
and EISPACK (Eigen system package) projects. MATLAB includes a programming language
environment with built-in editing and debugging tools, and supports object-oriented programming.
Programming in MATLAB MATLAB has many advantages compared to conventional computer languages (e.g.,
C, FORTRAN) for solving technical problems. MATLAB is an interactive system whose
basic data element is an array, and almost all problems can be solved in MATLAB using that
UVa Licensed SAS on the Ivy Linux VM
SAS Overview SAS is a command-driven software package used for statistical analysis
and data visualization. It is available in .
It is one of the most widely used statistical software packages in both industry and academia.
You may use it if you have a large number of statistical algorithms. It is not limited to an industry,
and could be used in both scientific and non-scientific contexts. We only offer the Teaching & Research version
at the moment.
Common Usage For this example we will use a common scenario from SAS Clinical Standards Toolkit, which is used for supporting clinical
research activities.
UVa Licensed SAS on the Ivy Windows VM
SAS Overview SAS is a command-driven software package used for statistical analysis
and data visualization. It is available in .
It is one of the most widely used statistical software packages in both industry and academia.
You may use it if you have a large number of statistical algorithms. It is not limited to an industry,
and could be used in both scientific and non-scientific contexts. We only offer the Teaching & Research version
at the moment.
Common Usage For this example we will use a common scenario from SAS Clinical Standards Toolkit, which is used for supporting clinical
research activities.
Image Processing Software on Ivy Linux VM
Pre-approved packages The following software packages are pre-approved for image processing on an Ivy Linux VM
KNIME KNIME is open source analytics platform for data mining and pipelining.
KNIME’s Image Processing Plugin allows users to perform common image processing
techniques such as registration, segmentation, and feature extraction. KNIME is compatible with over 120 image file types and can be
used alongside ImageJ.
ImageJ ImageJ is a Java-based image processing program developed at the NIH.
ImageJ can be used interactively through a graphical user interface or automatically with Java.
OpenCV OpenCV is an open source library for computer vision applications.
OpenCV includes modules for image processing, video analysis, machine learning, and much more.
Image Processing Software on Ivy Windows VM
Pre-approved packages The following software packages are pre-approved for image processing on an Ivy Windows VM
Axiovision Axiovision is software for microscopy image processing and analysis.
Axiovision is highly configurableto meet the needs of your individual workflows.
KNIME KNIME is open source analytics platform for data mining and pipelining.
KNIME’s Image Processing Plugin allows users to perform common image
processing techniques such as registration, segmentation, and feature extraction. KNIME is compatible with over 120 image file types and can be used alongside ImageJ.
ImageJ ImageJ is a Java-based image processing program developed at the NIH.
ImageJ can be used interactively through a graphical user interface or automatically with Java.
LibreOffice On Ivy Linux VM
LibreOffice Overview Our Linux VMs come prepackaged with the open source alternative to Microsoft Office(R), called LibreOffice.
As of last writing, version 5 is installed, including the specific software suites mentioned below.
LibreOffice is compatible with all Microsoft Office formats, and can be connected to services like
Google Drive or DropBox. It is available under the Mozilla Public License. LibreOffice is full GUI
software and would require you to RDP into your VM or use a graphical tool such as FastX in order to
render it.
LibreOffice Writer LibreOffice Writer is the word processor component of LibreOffice. It can save documents in .
Preinstalled Java SDK on Ivy Linux VM
Java SDK Overview Ivy Linux VMs are installed with Java SDK 1.8. Java is a popular Object-Oriented programming
language and is used in a multitude of scenarios. It is available under the GNU General Public
License for all users. The SDK consists of a large number of tools such as javac that
help in application development.
Running Java commands from the Command Line Open a Command Line Terminal and enter java followed by the desired command. E.g. to find
the version of the SDK
java -version Running your code To compile java code, first cd to the location of your .
Sumatra PDF on Ivy Windows VM
Sumatra PDF Overview Sumatra PDF is an open source software to view PDF files in Windows. It could be used to view PDF documents stored within the Ivy VM.
As of the latest version, Sumatra supports multiple formats including PDF, EPUB, MOBI, and XPS.
Running Sumatra PDF From the Start menu, go to All Programs and search for Sumatra PDF. Click on the icon to run it.
More Information For more information, visit the Sumatra PDF official website.
Preinstalled Python 2 and Python 3 with Anaconda on Ivy Linux VM
Anaconda Our VMs have Python 2 and 3 available as part of the Anaconda distribution. Please refer to this page for more information.
Preinstalled R on Ivy Linux VM
R Overview R is an open source programming language, used by Data Miners, Scientists, Data Analysts,
and Statisticians. It is available under the GNU GPL V2 license from the Comprehensive R
Archive Network
R can be used for many statistical, modeling, and graphical solutions. It is very Object-Oriented in nature and is
easily extensible.
Running the command line R console Type R at the terminal to launch the R console.
Installing packages Our Linux VMs come equipped with R preinstalled. Most major R packages are also installed
and further could be installed from CRAN using (from within the R console)
Preinstalled Python 2 and Python 3 with Anaconda on Ivy Windows VM
Anaconda Our VMs have python 2 and 3 available as part of the Anaconda
distribution. Anaconda comes installed with many packages best suited
for scientific computing, data processing, and data analysis, while making deployment
very simple. Its package manager conda installs and updates python packages and
dependencies, keeping different package versions isolated on a project-by-project basis.
Anaconda is available as open source under the New BSD license. It also ships
with pip, the common python package manager.
Installing packages Packages could be installed via pip or conda package managers
Installing packages on a Windows VM
A) Using conda
From the Start menu, open a new Command Prompt (or Anaconda prompt) window, and type:
Preinstalled Office 2016 on Ivy Windows VM
Microsoft Office Overview The Ivy Windows VMs are installed with Microsoft Office 2016. Features such as OneDrive are not available
since Ivy is not connected to the public internet. Therefore in order to load documents in and out of the
VM, you would have to use the Globus DTN.
Available Software The following software packages are available for use on the Ivy Windows VM:
Word 2016 Excel 2016 PowerPoint 2016 Access 2016 OneNote 2016 Outlook 2016 Publisher 2016 Running Office All Office software could be accessed from the Start menu using Start > All Programs
More Information For more Information about Microsoft Office, please visit its official website.