Git Product home page Git Product logo

cirrus-docs's Introduction

Cirrus Documentation

Cirrus is EPCC's Tier-2 High Performance Computing (HPC) cluster.

This repository contains the documentation for the service and is linked to a rendered version on Github pages.

This documentation is drawn from the Sheffield Iceberg documentation and the ARCHER documentation.

Rendered Documentation

How to Contribute

We welcome contributions from the Cirrus community and beyond. Contributions can take many different forms, some examples are:

  • Raising Issues if you spot a mistake or something that could be improved
  • Adding/updating material via a Pull Request
  • Adding your thoughts and ideas to any open issues

All people who contribute and interact via this Github repository undertake to abide by the ARCHER2 Code of Conduct so that we, as a community, provide a welcoming and supportive environment for all people, regardless of background or identity.

To contribute content to this documentation, first you have to fork it on GitHub and clone it to your machine, see Fork a Repo for the GitHub documentation on this process.

Once you have the git repository locally on your computer, you will need to install Material for mkdocs to be able to build the documentation. This can be done using a local installation or using a Docker container.

Once you have made your changes and updated your Fork on GitHub you will need to Open a Pull Request.

Building the documentation on a local machine

Once Material for mkdocs is installed, you can preview the site locally using the instructions in the Material for mkdocs documentation.

Making changes and style guide

The documentation consists of a series of Markdown files which have the .md extension. These files are then automatically converted to HTMl and combined into the web version of the documentation by mkdocs. It is important that when editing the files the syntax of the Markdown files is followed. If there are any errors in your changes the build will fail and the documentation will not update, you can test your build locally by running mkdocs serve. The easiest way to learn what files should look like is to read the Markdown files already in the repository.

A short list of style guidance:

  • Headings should be in sentence case

cirrus-docs's People

Contributors

aproeme avatar aturner-epcc avatar clairbarrass avatar claoidek avatar davidhenty avatar dsloanm-epcc avatar eleanor-broadway avatar epcc-mjf avatar gavinpringle avatar gpsgibb avatar holly-t avatar iakovos-panourgias avatar jbeechb avatar jsindt avatar juanfrh avatar julietalphakilo avatar kevinstratford avatar lcebaman avatar mbareford avatar mesham avatar nickaj avatar otbrown avatar pbartholomew08 avatar rkm avatar ruiapostolo avatar spbooth avatar stoltzstrop avatar welucas2 avatar wood-chris avatar xguo-epcc avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cirrus-docs's Issues

ENGYS update

ENGYS have sent through updated documentation for HELYX and ELEMENTS. See Q1584219.

Typos on application development page

There are multiple typos on the app dev page.

Module load example should be intel 17

In the module remove bit

Links to docs for compilers

Useful compiler options 'differences'

C++ with intel compilers incorrect formatting

File .bashrc not loaded by default

Cirrus reads .bash_profile rather than .bashrc. A workaround is to include the following in .bash_profile:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

This particularity is not included on the Cirrus documentation.

MATLAB

The MATLAB page needs updating as the 2018 version is no longer available on Cirrus.
Latest version on Cirrus is now R2021b and the default version is R2020b.

Update DDT documentation

DDT documentation requires some updates, mainly adding information on remote desktop connections.

Arm DDT

The "Debugging using Arm DDT" page needs updating as for one thing /lustre paths should be replaced with their /scratch equivalents.

Using Python: custom Anaconda environments

The documentation for creating custom environment for Python tells me to install miniconda and then create an environment. However, I can create an anaconda environment with the Python version and packages I wish to install, for example

module load anaconda/python3
conda create --name myenv python=3.8 jupyter
source activate myenv

This allows me to install other packages into my user environment just as when using miniconda. Shouldn't this be mentioned in the docs?
If this is not the recommended method it could explain why.

Gromacs GPU build

Unintentionally, I pushed some changes to the

software-packages/gromacs.rst

page straight into the repository with a PR.

There are two new modules

gromacs/2020
gromacs-gpu/2020

The first is described by the existing stuff; the second is the GPU build which has a new section.

Let me know if you have any suggestions for improvements to this.

mpt mpiexec_mpt runes wrong

The options for hpe mpt/2.18 differ from those in versions <2.18, notably -ppn must come before -n.

Since 2.18 is the default, the docs & examples need updating.

Hardware page missing

On the Introduction page, there is the following text:

Hardware

Details of the Cirrus hardware are available in the ../hardware page:

That page doesn't seem to exist.

Add SYCL docs

Add the incantation required to compile/run SYCL on Cirrus.

module load oneapi
module load compiler

Cleaning up Jupyter files

After running a jupyter notebook (or lab) there are sometimes some lingering kernel-*.json, nbserver-*.json, nbserver-*.html and *_cookie_secret files, depending on how the session has been terminated. Is it worth noting that these can be safely deleted once the notebook session has ended?

Update GPU documentation

Following the update to 460 and the appearance of nvhpc, the GPU page requires an update.

  • NVIDIA modules
  • CUDA
  • Using CUDA with Intel
  • OpenACC
  • CUDA Fortran

It would be useful to add at least minimal primer on

  • pytorch

Reservation QoS

The Running jobs on Cirrus section says:

To submit jobs to a reservation, you need to add --reservation=<reservation ID> and --qos=reservation options to your job submission script or Slurm job submission command.

But --qos=reservation is not needed, otherwise the job submission script fails.

sbatch: error: Batch job submission failed: Invalid qos specification

SLURM 22

We need to take a sweep of the documentation to account for the changes in moving from SLURM 21.x to 22.x.

The main issue to be addressed is the change in the behaviour of #SBATCH --cpus-per-task and possible requirement for SRUN_CPUS_PER_TASK=$SLURM_CPUS_PER_TASK or --cpus-per-task at srun stage.

The following sections should be checked

  • user-guide/batch/
  • user-guide/singularity/
  • user-guide/python/
  • user-guide/gpu/ (cannot and could not specify SBATCH --cpus-per-task)
  • software-packages/castep/
  • software-packages/cp2k/
  • software-packages/elements
  • software-packages/flacs
  • software-packages/gaussian
  • software-packages/gromacs
  • software-packages/helyx
  • software-packages/lammps
  • software-packages/MATLAB
  • software-packages/namd
  • software-packages/openfoam
  • software-packages/orca
  • software-packages/qe
  • software-packages/starccm+
  • software-packages/vasp
  • software-packages/specfem3d
  • software-libraries
  • software-tools/ddt
  • software-tools/scalasca
  • software-tools/intel-vtune

I have a branch feature-slurm-22 for these updates.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.