Skip to content

Commit

Permalink
Merge pull request #738 from uvarc/staging
Browse files Browse the repository at this point in the history
Staging
  • Loading branch information
ksiller authored Oct 24, 2024
2 parents 5983cdd + 3f83c8f commit 60ab958
Show file tree
Hide file tree
Showing 14 changed files with 56 additions and 57 deletions.
11 changes: 6 additions & 5 deletions content/form/combined-request-form.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ draft = false
type = "form"
private = true
+++

<script type="text/javascript" src="/js/user-session-v2.js"></script>
<script type="text/javascript" src="/js/response-message.js"></script>
<script type="text/javascript" src="/js/combined-request-form.js"></script>

{{% jira-msg %}}
<form action="https://uvarc-api.pods.uvarc.io/rest/general-support-request/" method="post" id="combined-request-form" class="needs-validation" novalidate accept-charset="UTF-8">
{{< enable-disable-form >}}
Expand Down Expand Up @@ -337,8 +342,4 @@ private = true
</div>

{{< /enable-disable-form >}}
</form>

<script type="text/javascript" src="/js/user-session-v2.js"></script>
<script type="text/javascript" src="/js/response-message.js"></script>
<script type="text/javascript" src="/js/combined-request-form.js"></script>
</form>
20 changes: 20 additions & 0 deletions content/post/2024-women-in-hpc-20241105.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
+++
images = [""]
author = "Staff"
description = ""
date = "2024-10-24T00:00:00-05:00"
title = "Virginia Women in HPC - Student Lightning Talks: November 12, 2024"
draft = false
tags = ["whpc","va-whpc","hpc"]
categories = ["feature"]
+++

On **November 12, 2024 from 1-2 p.m. EST**, Virginia Women in High Performance Computing (VA-WHPC) will be hosting 8 students as they present research lightning talks to members of the HPC community from across Virginia. See [here](https://va-whpc.org/event/save-the-date-student-lightning-talks-2024/) for details.


Interested in giving a lightning talk? You’ll get 3 minutes and 1-2 slides to tell us all about your research. Don’t miss this chance to practice your presentation skills and share your research with a diverse audience! Sign up [here](https://docs.google.com/forms/d/e/1FAIpQLScSiY0fSa0E_s4tvdqVTxSqBQy9O04JkkhwiErR-VV2OvePCg/viewform) by the end of today, October 24th! A helpful guide on how to give a successful lightning talk is available [here](https://docs.google.com/document/d/1A3z25qhuivK4Zftg876EMSmotnzOsZP2J64SfH85XUw/edit?tab=t.0)

This is a fantastic opportunity to explore a diverse range of topics in High-Performance Computing (HPC) and engage with the next generation of researchers. Don’t miss out on this insightful event!

{{< button button-url="https://virginia.zoom.us/meeting/register/tJwscemrqzIvHNfBxVoRpacHKhsIwenoXGF8#/registration" button-class="primary" button-text="Register for the Event" >}}

2 changes: 1 addition & 1 deletion content/userinfo/faq/rivanna-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ This makes it so that Slurm does not carry over any environment variables into y
# Storage Management

## What storage options are available to me to use on Rivanna/Afton?
All users are provided a 50-GB home directory for longer-term storage. This directory provides "snapshots" though it is not backed up. Each user also is provided 10TB of temporary "scratch" storage accessible as `/scratch/$USER` where `$USER` will stand for your ID. Scratch storage is fast but is not backed up in any way.
All users are provided a 200-GB home directory for longer-term storage. This directory provides "snapshots" though it is not backed up. Each user also is provided 10TB of temporary "scratch" storage accessible as `/scratch/$USER` where `$USER` will stand for your ID. Scratch storage is fast but is not backed up in any way.

If the free storage is not sufficient, you need snapshots of your files, or you wish to share space among a research group, the group should lease storage.

Expand Down
4 changes: 2 additions & 2 deletions content/userinfo/faq/storage-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ toc = true
- - -

# Help! I deleted my files accidentally! What can I do?
* Your home directory contains a hidden directory `.snapshot` which is not visible even with `ls -a`. Change into that directory to find timestamped versions of your home directory. Snapshots are created once per day.
* For your home storage, the directory is `/home/.snapshots/<computing_id>` . Snapshots are created once per day.
* For GPFS _Research Project_ (leased) storage, the directory is `/gpfs/gpfs0/project/.snapshots`. For non-GPFS Research Project storage, the directory is `/project/.snapshot`.
* Neither _Research Standard_ (leased) nor Rivanna/Afton scratch storage is backed up in any way.
* Neither _Research Standard_ (leased) nor scratch storage is backed up in any way.

# Why should I lease storage?
Leasing storage from Research Computing means that you do not have to run your own data server or backup system. You can lease storage for lab data without using any of the Research Computing computational resources, or you can lease storage for use with our computing facilities.
Expand Down
2 changes: 1 addition & 1 deletion content/userinfo/hpc/software/code-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Python users should install the `ms-python` extension and select an appropriate

1. Press F1
1. Search for “python: select interpreter”
1. Choose the anaconda python or any other python in your custom environments.
1. Choose the miniforge python or any other python in your custom environments.

## Closing the Interactive Session
When you are done, delete the {{% software-name %}} session from the "My Interactive Sessions" tab and the allocated resources will be released.
2 changes: 1 addition & 1 deletion content/userinfo/hpc/software/gurobi.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ gurobi.sh
To import `gurobipy` as a Python module, you can use either Gurobi's own `python3.7` executable or a different `python`. gurobi/10.0.1 uses `python3.7` and gurobi/11.0.0 uses `python3.11`.

### Gurobi Python
Please replace `python` with `python3.7` or `python3.11` in your Slurm scripts. However, note that Gurobi does not provide `pip`. If you need additional Python packages please use a non-Gurobi Python (e.g. via `module load anaconda`). See next section.
Please replace `python` with `python3.7` or `python3.11` in your Slurm scripts. However, note that Gurobi does not provide `pip`. If you need additional Python packages please use a non-Gurobi Python (e.g. via `module load miniforge`). See next section.

### Non-Gurobi Python
Gurobi/10.0.1 supports Python versions 2.7, 3.6 - 3.9. Please follow the instructions in the `module load` message.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
+++
title = "Anaconda and UVA HPC"
title = "Miniforge and UVA HPC"
description = ""
author = "RC Staff"
images = [""]
date = "2024-01-02T17:45:12-05:00"
date = "2024-10-23T00:00:00-05:00"
categories = ["userinfo"]
tags = [
"HPC",
"software"
]
modulename = "anaconda"
softwarename = "Anaconda"
modulename = "miniforge"
softwarename = "Miniforge"
draft = false
+++

# Overview
Built to complement the rich, open source Python community, the Anaconda platform provides an enterprise-ready data analytics platform that empowers companies to adopt a modern open data science analytics architecture.

The UVA HPC system has 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.
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](https://www.rc.virginia.edu/2024/10/transition-from-anaconda-to-miniforge-october-15-2024) for details.

# Available Versions
The current installation of {{% software-name %}} incorporates the most popular packages. To find the available versions and learn how to load them, run:
Expand All @@ -37,13 +39,13 @@ module spider {{% module-firstversion %}}

# Installing packages

Packages could be installed via the `pip` or `conda` package managers
Packages could be installed via the `pip`, `conda`, or `mamba` package managers

## Using `pip`

Open the bash terminal, and type:

1. `module load anaconda`
1. `module load miniforge`
1. `pip search package_name` (search for a package by name)
1. `pip install --user package_name` (install a package)
1. `pip update package_name --upgrade` (upgrade the package to the latest stable version)
Expand Down Expand Up @@ -86,7 +88,7 @@ You can specify which version of Python you want to run using conda. This can be

OR (even better)

In your home directory or Conda installation folder, create a file called `.condarc` (if not already there) Inside the file write the following:
In your home directory or Conda installation directory, create a file called `.condarc` (if not already there) Inside the file write the following:
```
create_default_packages
- your_package_name_goes_here
Expand All @@ -102,7 +104,7 @@ You can specify which version of Python you want to run using conda. This can be
1. To create a JupyterLab tile for your conda environment:

Install ipykernel inside your activated environment:
`conda install -c anaconda ipykernel`
`conda install -c conda-forge ipykernel`

Then, create a new kernel:
`python -m ipykernel install --user --name=MyEnvName`
Expand All @@ -112,12 +114,12 @@ You can specify which version of Python you want to run using conda. This can be
To see all available environments, run `conda env list`.

{{% callout %}}
**Tip: use `mamba` instead of `conda`.** Anaconda can take a long time to resolve environment dependencies and install packages. A new tool, `mamba`, has been developed to speed up this process considerably. You can load it using `module load mamba` and then replace `conda` with `mamba` in any commands used to build an environment or install packages. Then you can still call your environment using `source activate <env>`.
**Tip: use `mamba` instead of `conda`.** Conda can take a long time to resolve environment dependencies and install packages. A new tool, `mamba`, has been developed to speed up this process considerably. Simply replace `conda` with `mamba` in any commands used to build an environment or install packages. Then you can still call your environment using `source activate <env>`.
{{% /callout %}}

# Python and MPI

As long as an MPI toolchain (e.g. `gcc` + `openmpi`) is loaded, you can install `mpi4py` using any Python/Anaconda module via `pip install --user mpi4py`. It is important to use a version of OpenMPI built for the cluster so that it will work correctly with Slurm. You may find it desirable to set up a conda environment for use with mpi4py.
As long as an MPI toolchain (e.g. `gcc` + `openmpi`) is loaded, you can install `mpi4py` using any Python module via `pip install --user mpi4py`. It is important to use a version of OpenMPI built for the cluster so that it will work correctly with Slurm. You may find it desirable to set up a conda environment for use with mpi4py.

# Example Slurm script
## Non-MPI
Expand All @@ -129,4 +131,4 @@ As long as an MPI toolchain (e.g. `gcc` + `openmpi`) is loaded, you can install
{{< pull-code file="/static/scripts/python_mpi.slurm" lang="no-highlight" >}}

# More Information
Please visit the official [Anaconda website](https://www.anaconda.com/download).
Please visit the official [website](https://github.com/conda-forge/miniforge).
4 changes: 2 additions & 2 deletions content/userinfo/hpc/software/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ categories = [
"HPC",
"software",
]
date = "2019-06-23T08:37:46-05:00"
date = "2024-10-23T00:00:00-05:00"
tags = [
"programming"
]
Expand All @@ -29,4 +29,4 @@ Research Computing offers an online "Introduction to Programming in Python" cour
# Python on the HPC System
The default Python is required for system purposes and is generally too old for applications. We offer Python through the [Miniforge](https://github.com/conda-forge/miniforge) distribution.

**View our [Anaconda on the HPC System](/userinfo/hpc/software/anaconda/) documentation for details.**
**View our [Miniforge on the HPC System](/userinfo/hpc/software/miniforge/) documentation for details.**
2 changes: 1 addition & 1 deletion content/userinfo/hpc/software/spark.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ The URL is displayed upon launching Spark and is of the form `http://udc-xxxx-xx

### Jupyter notebook/lab

You can redirect `pyspark` to open a Jupyter notebook/lab as follows. The `jupyter` command is provided by the `anaconda` module.
You can redirect `pyspark` to open a Jupyter notebook/lab as follows. The `jupyter` command is provided by the `jupyterlab` module.

Set two environment variables:
```
Expand Down
30 changes: 3 additions & 27 deletions content/userinfo/hpc/software/tensorflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,32 +122,8 @@ Yes, you may either pull the official TensorFlow Docker image or create your own

1. You will find the Apptainer image `tensorflow_1.14.0-gpu.sif` in your current directory. Consult the instructions in the previous sections. Remember to replace `$CONTAINERDIR/tensorflow-2.13.0.sif` with the actual path to your own Apptainer image.

## Conda environment
## Pip

The Python/CUDA/TensorFlow versions have to be very specific.

1. For your target TF version, look up the supported Python and CUDA versions [here](https://www.tensorflow.org/install/source#gpu). Using 1.14.0 as an example, we find that it is supported by:

- Python 2.7, 3.3-3.7
- CUDA 10.0
- cuDNN 7.4

1. Check that the CUDA version is supported on the HPC cluster:
- Find the corresponding NVIDIA driver version [here](https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html).
- Start an ijob on a GPU node and run `nvidia-smi`. Look for the first line in the table. As of Jan 2024, our GPU nodes support up to CUDA 12.2.
```
NVIDIA-SMI 535.104.12 Driver Version: 535.104.12 CUDA Version: 12.2
```
- In this example 10.0 is less than 12.2, so the target version is supported.

1. Check cuDNN availability on https://anaconda.org. The closest match is 7.3 in the `anaconda` channel.

1. Load the Anaconda module and create the environment with specific versions.

```
module load anaconda
conda create -n tf1.14 python=3.7 cudatoolkit=10.0 cudnn=7.3 tensorflow-gpu=1.14 -c anaconda -c conda-forge
```

If the versions are incompatible, either the installation will fail or TF will not be able to detect the GPU at runtime.
Please read the [manual](https://www.tensorflow.org/install/pip) for instructions. Especially note the `[and-cuda]` part of the pip install comand.

You may consider creating a conda environment (see [miniforge](/userinfo/hpc/software/miniforge)) for your local installation.
2 changes: 1 addition & 1 deletion content/userinfo/hpc/storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ type = "rivanna"
</tr>
<tr>
<td class="tg-dc35"><a href="/userinfo/storage/non-sensitive-data/#home"><code>/home</code></a></td>
<td class="tg-dc35">50GB</td>
<td class="tg-dc35">200GB</td>
<td class="tg-dc35">Free</td>
<td class="tg-dc35">{{% backup-policy rivanna_home %}}</td>
<td class="tg-dc35">Rivanna/Afton</td>
Expand Down
2 changes: 1 addition & 1 deletion layouts/shortcodes/rivanna-software.html
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
{{ $scratch.Set $modulename $v }}
{{ end }}
{{ end }}
{{ range $mname,$v := $scratch.Get "modules" }}
{{ range $mname,$v := $scratch.Values }}
{{ $category := index (split (index $v.whatis 2) "Application class: ") 1 }}
{{ if or (eq $mclasses "all") (in $category $mclasses) }}
{{ $category := (printf "%s %s" $category $arch) }}
Expand Down
2 changes: 1 addition & 1 deletion static/js/combined-request-form.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
$(document).ready(function () {
console.log("Script started");
alert("Script started");
// alert("Script started");
console.log("Combined request form JS loaded");

window.debugToggle = function() {
Expand Down
2 changes: 1 addition & 1 deletion static/scripts/snakemake.slurm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#SBATCH -n 9

module purge
module load anaconda
module load miniforge
source activate rnaseq

snakemake -p -j 8

0 comments on commit 60ab958

Please sign in to comment.