### Getting Started Guide Source: https://docs.isambard.ac.uk/user-documentation/applications A foundational guide for new users of Isambard, covering initial setup, account creation, and basic system navigation. ```markdown ## Getting Started Welcome to Isambard! This guide will help you get started with the system. ### Account Creation If you do not yet have an account, please follow the 'Applying for Access' section. ### Initial Login Once your account is active, you can log in using SSH: ```bash ssh your_username@isambard.ac.uk ``` ### Understanding Your Environment * **Home Directory**: Your personal storage space (`/home/your_username`). * **Project Directories**: Shared storage for collaborative work. * **Modules**: Use `module avail`, `module load`, and `module unload` to manage software environments. ### First Steps * Explore your home directory. * Try loading a common module, like Python: `module load python`. * Review the Slurm Job Management guide to submit your first job. ``` -------------------------------- ### Application Installation Guides Source: https://docs.isambard.ac.uk/user-documentation/faqs Information on the self-service model for application installation on Isambard, with links to guides for Conda, Spack, and Containers. ```APIDOC Application Installation: Model: Self-service. Guides available for: - Conda and Python: [link](https://docs.isambard.ac.uk/user-documentation/guides/python/) - Spack: [link](https://docs.isambard.ac.uk/user-documentation/guides/spack/) - Containers: [link](https://docs.isambard.ac.uk/user-documentation/guides/containers/) Information for specific applications is also provided, and PIs can invite additional users for support. ``` -------------------------------- ### Installing and Managing Software Guides Source: https://docs.isambard.ac.uk/user-documentation/guides Guides for installing and managing software on the Isambard system, covering package managers, containers, and compilers. ```markdown * **[Python](https://docs.isambard.ac.uk/user-documentation/guides/python/) * **[Spack](https://docs.isambard.ac.uk/user-documentation/guides/spack/) * **[Containers](https://docs.isambard.ac.uk/user-documentation/guides/containers/) * **[Modules and Compilers](https://docs.isambard.ac.uk/user-documentation/guides/modules/) ``` -------------------------------- ### Methods to Install Your Software Source: https://docs.isambard.ac.uk/user-documentation/applications Offers guides on installing software from various sources on BriCS facilities, covering Python, Spack, Containers, and Modules/Compilers. ```markdown * **[Python](https://docs.isambard.ac.uk/user-documentation/guides/python/) * **[Spack](https://docs.isambard.ac.uk/user-documentation/guides/spack/) * **[Containers](https://docs.isambard.ac.uk/user-documentation/guides/containers/) * **[Modules and Compilers](https://docs.isambard.ac.uk/user-documentation/guides/modules/)** ``` -------------------------------- ### Spack Setup Prerequisites and Guide Source: https://docs.isambard.ac.uk/user-documentation/guides/spack Details the prerequisites for setting up Spack, assuming familiarity with modules, MPI, and system specifications. It also provides a link to a dedicated guide for the Spack setup process, including initial configuration for compilers and libraries. ```APIDOC Spack Setup Prerequisites: - Modules: https://docs.isambard.ac.uk/user-documentation/guides/modules/ - MPI documentation: https://docs.isambard.ac.uk/user-documentation/guides/mpi/ - System specifications: https://docs.isambard.ac.uk/specs/ (interconnect details) Spack Setup Guide: - Setting up Spack: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup/ Notes for Isambard-AI and Isambard 3: - HPE Cray systems with Slingshot 11 (SS11) interconnect. - Use relevant dependencies for optimal latency and bandwidth when building software. ``` -------------------------------- ### Containers Installation Guide Reference Source: https://docs.isambard.ac.uk/user-documentation/faqs References a guide for using containers on BriCS facilities, which is an alternative method for installing software like CUDA. ```APIDOC Containers: URL: https://docs.isambard.ac.uk/user-documentation/guides/containers/ Description: This guide provides instructions on how to use container technologies on the BriCS facilities, including information relevant to Nvidia GPU Cloud (NGC) containers. ``` -------------------------------- ### Spack Setup Guide Source: https://docs.isambard.ac.uk/user-documentation/guides/spack This section details the steps required to set up Spack on the Isambard system. It covers environment variables and initial configuration. ```bash # Example Spack setup commands (conceptual) source /path/to/spack/share/spack/setup-env.sh spack --version ``` -------------------------------- ### Verify Software Installation Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup Checks if the installed application is accessible from the command line after activating the environment. This example verifies the `osu_latency` executable. ```bash $ which./myenv/.spack-env/view/libexec/osu-micro-benchmarks/mpi/pt2pt/osu_latency ``` -------------------------------- ### Isambard HPC Setup Guide Source: https://docs.isambard.ac.uk/user-documentation/tutorials/setup This section outlines the steps required to set up your account and access the Isambard HPC system. It covers logging in, accepting policies, and choosing a UNIX username. Potential issues like incorrect email addresses or browser problems are also addressed. ```APIDOC Setup Guide: Step 1: Log into the portal - University Login (MyAccessID) - Other Login (IdP of last resort) - Potential issues: Wrong email address, Pending invitation, Browser issues Step 2: Accepting Policies Step 3: Accepting the Invitation Step 4: Choosing a UNIX username What's next? ``` -------------------------------- ### Singularity Container Operations Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/singularity Guides for interacting with Singularity containers on Isambard, including pulling and building images, running containers, using shell, GPU support, rootless mode with --fakeroot, and multi-node containers. Includes examples for starting a root shell and building from a definition file. ```bash singularity pull docker://ubuntu singularity build my_container.sif ubuntu singularity run my_container.sif singularity shell my_container.sif singularity exec my_container.sif ls singularity run --nv my_container.sif singularity build --fakeroot my_container.sif my_definition_file.def singularity run --fakeroot my_container.sif ``` -------------------------------- ### Conda Installation Guide Reference Source: https://docs.isambard.ac.uk/user-documentation/faqs References a guide for using Conda on BriCS facilities, which is an alternative method for installing software like CUDA. ```APIDOC Python and Conda: URL: https://docs.isambard.ac.uk/user-documentation/guides/python/ Description: This guide covers the usage of Conda on the BriCS facilities, including instructions relevant to installing packages and managing environments. ``` -------------------------------- ### Spack Package Manager Setup Source: https://docs.isambard.ac.uk/user-documentation/applications Instructions on setting up and using the Spack package manager for installing and managing software on Isambard. Spack allows for flexible and reproducible software environments. ```markdown ## Spack Setup This guide covers the initial setup and basic usage of the Spack package manager. ### Installing Spack Clone the Spack repository: ```bash git clone -c feature.manyFiles=true https://github.com/spack/spack.git ``` Initialize Spack: ```bash source spack/share/spack/setup-env.sh ``` ### Installing Software with Spack Search for a package: ```bash spack search ``` Install a package: ```bash spack install @ ^@ ``` Load an installed package: ```bash spack load ``` ``` -------------------------------- ### Python Package Installation Guide Reference Source: https://docs.isambard.ac.uk/user-documentation/faqs References a guide for installing Python packages on Arm architecture (aarch64), highlighting potential modifications needed for build recipes and compatibility. ```APIDOC Python and Conda: installing Python Packages: URL: https://docs.isambard.ac.uk/user-documentation/guides/python/#installing-python-packages-for-arm-64-on-linux-aarch64 Description: This section of the documentation provides specific guidance on how to install Python packages, including considerations for the Arm (aarch64) architecture. ``` -------------------------------- ### Software and Application Usage Source: https://docs.isambard.ac.uk/user-documentation/faqs Guides on using applications and software on Isambard, including installing custom applications, managing CUDA versions, and using non-native architecture packages. ```markdown Can you install my application for me? How can I use a different version of Cuda? How can I use a package that is not built for Arm architecture (aarch64)? ``` -------------------------------- ### Create and Activate Python Virtual Environment (venv) Source: https://docs.isambard.ac.uk/user-documentation/guides/python Guides through creating a directory for virtual environments, creating a virtual environment named 'test2', activating it, and installing packages like 'scipy' using 'python3 -m pip'. It also shows how to check the Python executable path and list installed packages. ```bash $ mkdir# Create folder for virtual environments $ python3 -m venv $HOME/.virtualenvs/test2 $ source $HOME/.virtualenvs/test2/bin/activate (test2) $ which$HOME/.virtualenvs/test2/bin/python3 (test2) $ python3 (test2) $ python3 -m pip install scipy (test2) $ python3 -m pip list ``` -------------------------------- ### Install VS Code CLI Source: https://docs.isambard.ac.uk/user-documentation/guides/vscode This snippet shows how to download and install the VS Code standalone CLI on a compute node. It involves connecting via SSH, downloading the CLI archive, extracting it, and placing the binary in a directory. The example demonstrates the commands to achieve this. ```bash curl"https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-arm64" mkdir ``` ```bash $ ~/opt/vscode_cli/codecode 1.91.1 (commit f1e16e1e6214d7c44d078b1f0607b2388f29d729) ``` -------------------------------- ### Spack Setup Source: https://docs.isambard.ac.uk/user-documentation/guides/mobaxterm Instructions for setting up and using Spack, a package manager for high-performance computing, on Isambard. This allows for flexible installation and management of scientific software. ```en Setting up Spack This guide covers the installation and basic usage of Spack for managing software dependencies on Isambard. Spack simplifies the process of building and deploying complex software stacks. ``` -------------------------------- ### Isambard User Documentation - FAQs Source: https://docs.isambard.ac.uk/user-documentation/faqs This section provides answers to frequently asked questions regarding Isambard systems and access, getting started, general use, software, job execution, and data storage. ```APIDOC Systems and Access: How do I access Isambard? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-access-isambard Description: Information on how to gain access to the Isambard supercomputing service. What is Isambard 3 MACS? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#what-is-isambard-3-macs Description: Explanation of the Isambard 3 MACS system. What is a NHR? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#what-is-a-nhr Description: Definition and explanation of Node Hour (NHR) units. How do I estimate my node hour (NHR) requirements for my project? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-estimate-my-node-hour-nhr-requirements-for-my-project Description: Guidance on estimating NHR requirements for projects. How can I invite someone to my project? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-can-i-invite-someone-to-my-project Description: Instructions for inviting collaborators to a project. Getting Started: My invitation doesn't work? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#my-invitation-doesnt-work Description: Troubleshooting steps for invitation issues. How do I log in via SSH? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-log-in-via-ssh Description: Guide on logging into Isambard using SSH. Where do I find Clifton? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#where-do-i-find-clifton Description: Information on locating the Clifton component of Isambard. How do I get SSH access to my new project? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-get-ssh-access-to-my-new-project Description: Steps to obtain SSH access for new projects. How do I set my short name? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-set-my-short-name Description: Instructions for setting a user's short name. How do I submit a helpdesk ticket? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-submit-a-helpdesk-ticket Description: Procedure for submitting support tickets. General Use and Software: Can you install my application for me? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#can-you-install-my-application-for-me Description: Information on application installation requests. How can I use a different version of CUDA? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-can-i-use-a-different-version-of-cuda Description: Guidance on managing CUDA versions. How can I use a package that is not built for Arm architecture (aarch64)? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-can-i-use-a-package-that-is-not-built-for-arm-architecture-aarch64 Description: Strategies for using non-native packages. How do I set the timezone? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-set-the-timezone Description: Instructions for setting the system timezone. Can I have access to sudo? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#can-i-have-access-to-sudo Description: Information regarding sudo privileges. Running Jobs and Limits: How does node hour (NDR) accounting work on Isambard-AI or Isambard3? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-does-node-hour-ndr-accounting-work-on-isambard-ai-or-isambard3 Description: Explanation of node hour accounting mechanisms. Can I get more node hours (NHRs) added to my project? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#can-i-get-more-node-hours-nhrs-added-to-my-project Description: Process for requesting additional NHRs. What happens when my project runs out of node hours NHRs? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#what-happens-when-my-project-runs-out-of-node-hours-nhrs Description: Consequences of exceeding NHR limits. How long is the maximum job run time? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-long-is-the-maximum-job-run-time Description: Information on the maximum allowed job execution time. Can you relax resource limits so my team can run more and/or larger jobs? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#can-you-relax-resource-limits-so-i-team-can-run-more-andor-larger-jobs Description: Policy on relaxing resource limits for teams. Data and Storage: How do I copy files to and from the Isambard supercomputers? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-do-i-copy-files-to-and-from-the-isambard-supercomputers Description: Methods for transferring files to and from Isambard. How can I transfer data between projects? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-can-i-transfer-data-between-projects Description: Procedures for moving data between different projects. How can I share data between projects? URL: https://docs.isambard.ac.uk/user-documentation/faqs/#how-can-i-share-data-between-projects Description: Methods for sharing data across projects. ``` -------------------------------- ### GitHub Actions Workflow for Building Wheels Source: https://docs.isambard.ac.uk/user-documentation/guides/python An example of a GitHub Actions workflow that sets up Python and builds a wheel for a package. This demonstrates how CI/CD pipelines specify build targets and can be inspected for architecture support. ```yaml jobs: build: runs-on:ubuntu-latest steps: -name:Set up Python uses:actions/setup-python@v2 with: python-version:"3.8" -name:Build wheel run:python3 setup.py bdist_wheel ``` -------------------------------- ### Podman-HPC: Building and Pushing Images Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/podman-hpc Provides an example of building a container image from a Dockerfile and pushing it to a container registry. This is useful for custom application deployments. ```bash # Assuming you have a Dockerfile in the current directory podman build -t my-custom-image:latest . podman push my-custom-image:latest ``` -------------------------------- ### Spack Package Manager Setup Source: https://docs.isambard.ac.uk/user-documentation/information Instructions on setting up and using Spack, a flexible package manager for high-performance computing. This allows users to easily install and manage software dependencies and compiler toolchains. ```shell # Example of installing a package with Spack spack install gcc@11.2.0 spack load gcc@11.2.0 spack install openmpi spack load openmpi ``` -------------------------------- ### Install Software in Spack Environment Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup Installs the concretized software package into the Spack environment. The software is installed in a dedicated directory within `spack/opt/spack/`, and a 'view' is created for easy command-line access. ```bash $ spack... ``` -------------------------------- ### List Installed Packages in Spack Environment Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup Uses `spack find` to list all packages installed within the current Spack environment, including their versions, compilers, and build configurations. It shows both root specifications and all installed packages. ```bash $ spack==> In environment ./myenv ==> 1 root specs [+] osu-micro-benchmarks -- linux-sles15-neoverse_v2 / gcc@12.3.0 ------------------------ cray-mpich@8.1.29 glibc@2.31 gnuconfig@2024-07-27 gcc-runtime@12.3.0 gmake@4.2.1 osu-micro-benchmarks@7.5 ==> 6 installed packages ==> 0 concretized packages to be installed (show with `spack find -c`) ``` -------------------------------- ### Running osu-micro-benchmarks with Podman-HPC Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/podman-hpc-multi-node This section details how to execute the osu-micro-benchmarks using Podman-HPC across multiple nodes. It covers the necessary setup and commands to initiate the benchmark suite. ```bash # Example: Running osu-micro-benchmarks with Podman-HPC # (Specific commands would be detailed here, referencing Podman-HPC multi-node execution) ``` -------------------------------- ### Podman-HPC Flags and Entrypoint Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/podman-hpc-multi-node Explains the Podman-HPC flags `--mpich` and `--openmpi-pmix` and how they modify the container's entrypoint to execute `/host/adapt.sh` for environment setup. It also covers how to override the entrypoint. ```APIDOC Podman-HPC Flags: --mpich: Adds NCCL, MPICH, and Cray PMI to the container. --openmpi-pmix: Adds NCCL, OpenMPI, and PMIx to the container. Entrypoint Modification: The `--mpich` and `--openmpi-pmix` flags modify the container's entrypoint to execute `/host/adapt.sh`. This script sets up the necessary environment variables and mounts host dependencies. Overriding Entrypoint: To prevent the execution of `/host/adapt.sh`, use the `--entrypoint=` flag: `podman-hpc run --entrypoint= ` ``` -------------------------------- ### Access and Account Management Guides Source: https://docs.isambard.ac.uk/user-documentation/guides Guides related to managing user access and accounts, including setting usernames, logging in, and project management. ```markdown * **[Setting your UNIX username](https://docs.isambard.ac.uk/user-documentation/guides/shortname/)** * **[Login (SSH and Clifton)](https://docs.isambard.ac.uk/user-documentation/guides/login/) * **[Managing projects](https://docs.isambard.ac.uk/user-documentation/guides/manage_project/) * **[Accounting](https://docs.isambard.ac.uk/user-documentation/guides/accounting/) ``` -------------------------------- ### Running nccl-tests with Podman-HPC Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/podman-hpc-multi-node Provides an example of running NCCL tests using Podman-HPC, highlighting the adaptation of containers for MPICH and NCCL workloads on specific nodes. ```bash Isambard-AI. Container adapted and running to run MPICH and NCCL on nid001004. https://docs.isambard.ac.uk/user-documentation/guides/containers/ Isambard-AI. Container adapted and running to run MPICH and NCCL on nid001005. https://docs.isambard.ac.uk/user-documentation/guides/containers/ ``` -------------------------------- ### Using Cray Python Module Source: https://docs.isambard.ac.uk/user-documentation/guides/python Demonstrates how to list available modules, locate the Cray Python executable, and run the Python interpreter. Includes an example of exiting the Python interpreter. ```bash $ module list available modules ... $ module$ which/opt/cray/pe/python/3.11.5/bin/python3 $ python3 Python 3.11.5 (main, Nov 29 2023, 20:19:53) [GCC 12.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() ``` -------------------------------- ### User Documentation Guides Source: https://docs.isambard.ac.uk/user-documentation/guides Provides links to various how-to guides and walkthroughs for BriCS services and facilities. Covers common tasks and workflows for users. ```markdown * [ Access and account management ](https://docs.isambard.ac.uk/user-documentation/guides/#access-and-account-management) * [ Running and managing workloads ](https://docs.isambard.ac.uk/user-documentation/guides/#running-and-managing-workloads) * [ Installing and managing software ](https://docs.isambard.ac.uk/user-documentation/guides/#installing-and-managing-software) ``` -------------------------------- ### Spack Setup and Configuration Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup This section details the steps for setting up Spack, including downloading the Spack archive, making it executable, and performing initial configuration. It also covers creating, initializing, and configuring Spack environments, which involves adding repositories and software. Finally, it explains how to deactivate an environment. ```bash # Downloading Spack git clone https://github.com/spack/spack.git # Making Spack available . spack/share/spack/setup-env.sh # Initial configuration spack config --scope site add discover:modules:default: all: prefix: "/usr/share/modules" # Creating an environment spack env create -d myenv # Initializing the environment cd myenv spack env activate . # Configuring your environment # Adding a repository spack repo add /path/to/my/repo # Adding software spack add # Deactivating an environment spack env deactivate ``` -------------------------------- ### Installing Python Packages with Conda and Virtual Environments Source: https://docs.isambard.ac.uk/user-documentation/guides/python This guide explains how to install Python packages using Conda (Miniforge) and manage dependencies with virtual environments. It is crucial for maintaining isolated and reproducible Python environments on the HPC system. ```python # Example of using Conda to create and activate a virtual environment # conda create --name myenv python=3.9 # conda activate myenv # Example of installing a package using pip within an activated environment # pip install numpy ``` -------------------------------- ### Isambard Tutorials Overview Source: https://docs.isambard.ac.uk/user-documentation/tutorials This section outlines the available tutorials for Isambard users. It includes introductory guides for first-time login, interactive chatbot tutorials, and advanced topics like distributed PyTorch training. ```markdown # Tutorials In this section you will find hands-on tutorials designed to help you learn to make effective use of BriCS services and facilities. * **[Setup](https://docs.isambard.ac.uk/user-documentation/tutorials/setup/)** * * * First time login through the portal. * **[Introducing Isambard-AI](https://docs.isambard.ac.uk/user-documentation/tutorials/interactive-ml/)** * * * Interactive Chatbot tutorial ## Advanced * **[Distributed PyTorch Training](https://docs.isambard.ac.uk/user-documentation/tutorials/distributed-training/) * * * PyTorch training on multiple nodes. ``` -------------------------------- ### Install Miniforge Conda Source: https://docs.isambard.ac.uk/user-documentation/guides/python Installs the latest version of Miniforge Conda by downloading and executing the installer script. It also includes steps to clean up the downloaded script. ```bash $ cd$HOME $ curl"https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname).sh" $ bash$(uname)-$(uname).sh $ rm$(uname)-$(uname).sh ``` -------------------------------- ### Build 'Hello, World!' Container Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/podman-hpc Demonstrates how to create a simple 'Hello, World!' container using a Containerfile and build it with Podman-HPC. It includes the FROM and ENTRYPOINT instructions. ```dockerfile FROM docker.io/ubuntu:latest ENTRYPOINT["echo","Hello, World!"] ``` -------------------------------- ### Isambard HPC Guides Source: https://docs.isambard.ac.uk/user-documentation/tutorials/setup This section offers guides on essential user tasks and system features. Topics include managing projects, accounting, file transfer, connecting via MobaXterm, using modules and compilers, Spack package management, containerization with Podman and Singularity, and development tools like Jupyter notebooks and VS Code. ```APIDOC Guides: Setting your UNIX username Login (SSH and Clifton) File Transfer Connect using MobaXterm Managing projects Accounting Follow-on projects Python Slurm Job Management Modules and Compilers Spack: - Setting up Spack Containers: - Podman-HPC - Singularity - Podman-HPC Multi-node - Singularity Multi-node Jupyter Notebooks Visual Studio Code (VS Code) MPI ``` -------------------------------- ### Download Spack Repository Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup This snippet shows how to clone the Spack repository, specifying a particular release version for stability. It's recommended for beginners to use a stable numbered version. ```bash $ git clone -c advice.detachedHead=false --depth 1 -b releases/v0.23 https://github.com/spack/spack.git cd spack ``` -------------------------------- ### AlphaFold Application Guide Source: https://docs.isambard.ac.uk/user-documentation/applications Information on how to use the AlphaFold application on Isambard for protein structure prediction. This guide likely covers installation, input preparation, and running predictions. ```markdown ## AlphaFold This guide provides instructions for using AlphaFold on Isambard. ### Loading AlphaFold Module If AlphaFold is available as a module: ```bash module load alphafold ``` ### Running AlphaFold AlphaFold typically requires input sequences and configuration files. The exact command will depend on the installation and desired settings. A common workflow involves: 1. **Preparing input FASTA files**. 2. **Configuring parameters** (e.g., model presets, databases). 3. **Submitting a job** using Slurm, specifying the AlphaFold execution command. Example (conceptual): ```bash sbatch run_alphafold.sh --fasta_input=my_protein.fasta --output_dir=./results ``` Refer to the specific AlphaFold documentation or any provided scripts for detailed usage. ``` -------------------------------- ### Jupyter Notebook Setup Source: https://docs.isambard.ac.uk/user-documentation/tutorials/interactive-ml Instructions for setting up the Jupyter notebook environment for the Isambard-AI chatbot tutorial. This includes downloading the notebook or copying content and selecting the correct kernel. ```Shell Download and copy the Jupyter notebook [isambot-tutorial.ipynb](https://docs.isambard.ac.uk/user-documentation/tutorials/interactive-ml/isambot-tutorial.ipynb) to your home directory on Isambard-AI and execute the cells one-by-one. Alternatively, the tutorial material is available in the following shared directory on Isambard-AI: `/projects/public/brics/tutorials/isambot-tutorial.ipynb` ``` -------------------------------- ### Setting up Spack Source: https://docs.isambard.ac.uk/user-documentation/faqs Instructions for setting up the Spack package manager on the Isambard system. Spack allows for flexible installation of software packages and their dependencies. ```bash source /etc/profile.d/spack.sh ``` -------------------------------- ### Make Spack Available Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup This command sources the Spack setup script, making the Spack environment and its commands available in the current shell session. After running this, you can use Spack commands like `spack arch`. ```bash . share/spack/setup-env.sh ``` -------------------------------- ### Start Interactive JupyterLab Session Source: https://docs.isambard.ac.uk/user-documentation/guides/jupyter This guide explains how to start an interactive JupyterLab session on a compute node. It typically involves using Slurm commands to allocate resources and launch the JupyterLab server. ```bash # Example: Submit a Slurm job to start JupyterLab sbatch < ``` -------------------------------- ### Create and Activate Conda Environment Source: https://docs.isambard.ac.uk/user-documentation/guides/python Demonstrates how to create a new Conda environment named 'test' with Python 3.10 installed, and then activate it. It also shows how to install packages like 'scipy' within the activated environment. ```bash (base) $ condatestpython=3.10 (base) $ condatest (test) $ conda install scipy ``` -------------------------------- ### Dockerfile Configuration for Isambard AC UK Source: https://docs.isambard.ac.uk/user-documentation/applications/alphafold/example-data/colabfold This snippet details the Dockerfile used to build the environment for the Isambard AC UK project. It includes the base image, package installations, environment variable setup, and the execution script. ```dockerfile Bootstrap: docker From: nvcr.io/nvidia/jax:24.04-py3 %post python3 -m pip install tensorflow jax[cuda12] python3 -m pip install --no-warn-conflicts 'colabfold[alphafold] @ git+https://github.com/sokrypton/ColabFold' %environment export PATH=${HOME}/.local/bin:$PATH unset XLA_FLAGS %runscript conda deactivate >/dev/null 2>&1 || true exec /bin/bash -i ``` -------------------------------- ### Visual Studio Code (VS Code) Setup Source: https://docs.isambard.ac.uk/user-documentation/applications Instructions for setting up and using Visual Studio Code (VS Code) for development on Isambard. This may include remote development capabilities. ```markdown ## Visual Studio Code (VS Code) This guide explains how to use VS Code for development on Isambard, potentially via remote connections. ### Remote Development To use VS Code with Isambard, you can leverage the Remote - SSH extension. 1. **Install the Remote - SSH extension** in your local VS Code. 2. **Configure your SSH connection** in VS Code's SSH configuration file (`~/.ssh/config`) to point to Isambard. 3. **Connect to Isambard** using the Remote - SSH extension. Once connected, you can open folders on Isambard directly within VS Code and utilize its features for editing, debugging, and running code. ``` -------------------------------- ### Starting a Root Shell in a Singularity Container Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/singularity Demonstrates how to start a root shell within a Singularity container using the --fakeroot flag, allowing root-level operations inside the container. This is useful for tasks requiring administrative privileges, such as package installation. ```singularity singularity exec --fakeroot ubuntu.sif bash Singularity> whoami root ``` -------------------------------- ### Clifton Connection Guide Source: https://docs.isambard.ac.uk/user-documentation/guides/login Steps to connect to the Isambard system using Clifton, including installation and authentication procedures. ```APIDOC Clifton Connection: Install: - Download and install the Clifton client. Authenticate: - Follow on-screen prompts to authenticate your session. Connect: - Use the command: clifton connect @clifton.isambard.ac.uk ``` -------------------------------- ### Isambard HPC Tutorials Source: https://docs.isambard.ac.uk/user-documentation/tutorials/setup This section provides tutorials for various advanced functionalities on the Isambard HPC system. It includes guides for distributed PyTorch training and an introduction to the Isambard-AI interactive chatbot. ```APIDOC Tutorials: Distributed PyTorch Training Introducing Isambard-AI: Interactive Chatbot tutorial ``` -------------------------------- ### Research Software Applications and Libraries Source: https://docs.isambard.ac.uk/user-documentation/applications Provides links to guides for installing specific research software, including Machine Learning Packages and Alphafold. ```markdown * 🤗 **[Machine Learning Packages](https://docs.isambard.ac.uk/user-documentation/applications/ML-packages/)** * **[Alphafold](https://docs.isambard.ac.uk/user-documentation/applications/alphafold/)** ``` -------------------------------- ### Running and Managing Workloads Guides Source: https://docs.isambard.ac.uk/user-documentation/guides Guides for executing and managing computational workloads, including Slurm job management, file transfer, and using development tools like Jupyter and VS Code. ```markdown * **[Slurm Job Management](https://docs.isambard.ac.uk/user-documentation/guides/slurm/) * **[File Transfer](https://docs.isambard.ac.uk/user-documentation/guides/file_transfer/) * **[Jupyter Notebooks](https://docs.isambard.ac.uk/user-documentation/guides/jupyter/) * **[Visual Studio Code](https://docs.isambard.ac.uk/user-documentation/guides/vscode/) ``` -------------------------------- ### Create and Activate Spack Environment Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup Creates a new, independent Spack environment in the current directory and provides the command to activate it. ```shell $ spack==> Created independent environment in: ./myenv ==> Activate with: spack env activate ./myenv ``` -------------------------------- ### Build and Run Container with Podman-HPC Source: https://docs.isambard.ac.uk/user-documentation/guides/containers/podman-hpc Shows the command-line steps to build a container from a Containerfile using `podman-hpc build` and then run it. It also demonstrates how to list built images. ```shell $ podman-hpc STEP 1/3: FROM ubuntu:latest STEP 2/3: ENV "PODMANHPC_MODULES_DIR"="/etc/podman_hpc/modules.d" --> 13a3c609ddd STEP 3/3: ENTRYPOINT ["echo", "Hello, World!"] COMMIT my_container --> 4265376f573 Successfully tagged localhost/my_container:latest 4265376f5735af8eab16f06d204edb8be4d89bc1a520f3fcf13ab38569a03eb2 $ podman-hpc REPOSITORY TAG IMAGE ID CREATED SIZE R/O localhost/my_container latest 4265376f5735 18 seconds ago 103 MB false $ podman-hpc Hello, World! ``` -------------------------------- ### Python Package Installation for Arm 64 (aarch64) on Linux Source: https://docs.isambard.ac.uk/user-documentation/guides/python This section details the process of installing Python packages specifically for the Arm 64 architecture on Linux systems. It highlights considerations for compilers and build systems like setup.py and pyproject.toml, which are essential for compiling native extensions. ```python # Example of checking platform information # import sys # print(sys.platform) # import platform # print(platform.machine()) # Example of a setup.py file structure for a package with C extensions # from setuptools import setup, Extension # # module1 = Extension('modulename', sources=['sourcefile.c']) # # setup(name='PackageName', # version='1.0', # description='Description', # ext_modules=[module1]) ``` -------------------------------- ### Python Environment Setup Source: https://docs.isambard.ac.uk/user-documentation/faqs Information on setting up and managing Python environments on Isambard, likely using modules or virtual environments. ```python # Example using a virtual environment python -m venv myenv source myenv/bin/activate pip install ``` -------------------------------- ### VS Code Server Output Example Source: https://docs.isambard.ac.uk/user-documentation/guides/vscode This is an example of the output file generated by the VS Code Server when a code tunnel job starts. It includes information about authentication, a device code for GitHub login, and a link to access the VS Code server in a browser. ```shell * * Visual Studio Code Server * * By using the software, you agree to * the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and * the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement). * [Timestamp] info Using GitHub for authentication, run `code tunnel user login --provider ` option to change this. To grant access to the server, please log into https://github.com/login/device and use code ABC1-DEF2 Open this link in your browser https://vscode.dev/tunnel/{your-tunnel-name}/lus/lfs1aip1/home/{your-project}/{your-user-name} ``` -------------------------------- ### List and Deactivate Conda Environments Source: https://docs.isambard.ac.uk/user-documentation/guides/python Provides commands to list installed packages within a Conda environment and to deactivate the current environment. ```bash conda list conda deactivate ``` -------------------------------- ### Distributed PyTorch Training Source: https://docs.isambard.ac.uk/user-documentation/information/system-storage A guide focused on setting up and executing distributed PyTorch training jobs on the Isambard cluster. This would cover necessary configurations and code examples for multi-node training. ```python # Example: Basic distributed PyTorch setup (conceptual) # import torch.distributed as dist # dist.init_process_group(backend='nccl') # ... model and data parallel logic ... ``` -------------------------------- ### List Available Compilers Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup Displays the compilers available within the current Spack environment, categorized by compiler type and operating system. ```shell $ spack==> Available compilers -- cce sles15-aarch64 ------------------------------------------- cce@18.0.0 -- gcc sles15-aarch64 ------------------------------------------- gcc@13.2.0 gcc@12.3.0 -- nvhpc sles15-any --------------------------------------------- nvhpc@23.9 ``` ```shell $ spack==> Available compilers -- cce sles15-aarch64 ------------------------------------------- cce@19.0.0 cce@18.0.0 -- gcc sles15-aarch64 ------------------------------------------- gcc@14.2.0 gcc@13.3.0 gcc@12.3.0 -- nvhpc sles15-any --------------------------------------------- nvhpc@24.11 ``` ```shell $ spack==> Available compilers -- cce sles15-aarch64 ------------------------------------------- cce@18.0.0 -- gcc sles15-aarch64 ------------------------------------------- gcc@13.2.0 gcc@12.3.0 -- nvhpc sles15-any --------------------------------------------- nvhpc@24.5 ``` ```shell $ spack==> Available compilers -- cce sles15-x86_64 -------------------------------------------- cce@17.0.1 -- gcc sles15-x86_64 -------------------------------------------- gcc@13.2.0 gcc@12.3.0 -- nvhpc sles15-any --------------------------------------------- nvhpc@24.5 ``` -------------------------------- ### Add Spack Repository Source: https://docs.isambard.ac.uk/user-documentation/guides/spack/setup Adds an alternative Spack repository, which can provide additional packages or fixes not available in the default Spack catalog. The example shows adding a repository with the namespace 'isamrepo'. ```shell $ spack==> Added repo with namespace 'isamrepo'. ``` -------------------------------- ### Isambard HPC User Documentation Structure Source: https://docs.isambard.ac.uk/user-documentation/guides/follow_on_project This outlines the hierarchical structure of the Isambard HPC user documentation, covering various aspects from getting started to specific applications and system information. ```APIDOC User Documentation: Getting Started: - Setup Tutorials: - Setup - Distributed PyTorch Training - Introducing Isambard-AI: Interactive Chatbot tutorial Guides: - Setting your UNIX username - Login (SSH and Clifton) - File Transfer - Connect using MobaXterm - Managing projects - Accounting - Follow-on projects - Additional Node Hours - New Project - Python - Slurm Job Management - Modules and Compilers - Spack - Setting up Spack - Containers - Podman-HPC - Singularity - Podman-HPC Multi-node - Singularity Multi-node - Jupyter Notebooks - Visual Studio Code (VS Code) - MPI Information: - Project Policies - Storage spaces - Job scheduling Applications: - ML Packages - AlphaFold Frequently Asked Questions: - Isambard-AI Phase 2 Frequently Asked Questions System Specifications: Service Status: - Known Issues - Planned Maintenance Training: - Isambard-AI workshop at Bristol Data Week 2025 ```