.. _`ris-thpc-quickstart`: ==================== RIS THPC Quick Start ==================== .. contents:: :depth: 2 :local: What is the THPC? ----------------- - THPC stands for traditional high performance computing. It is named as such as a reference to what can be considered a more traditional HPC environment. - THPC uses the module system to establish and load software that users would like to utilize. - It was developed for those more familiar with the module system and not familiar with Docker. - The THPC image is different than other images, because it doesn't install the software directly into the image. - The software is installed in a location that the THPC image can access. - The software is loaded into the image and job via the module system. - This is done to reduce the size of the image and reduce load times. Image Details ------------- - Docker image hosted at ghcr.io/washu-it-ris/ris-thpc Environment Variables --------------------- These variables allow users to define the software release module path to be used in a job session or batch job. .. note :: - Not every combination of variables is valid for a build release. - Only variable combinations aligning with the host micro architecture are compatible. THPC_BUILD ~~~~~~~~~~ RIS software build release formatted as `YYYY.MM`. Current release: 2023.06 View available build releases (can only be run inside a running job where /opt/thpc is mounted, i.e. THPC): .. code:: ls /opt/thpc/ THPC_MICRO ~~~~~~~~~~ Micro architecture of host on which the job should run. Examples: skylake, cascadelake, zen5 View all hosts in a queue with a given micro architecture (ex: skylake in general-interactive queue): .. code:: bhosts -R 'select[cpumicro==skylake]' general-interactive Note that GPU hosts with a given micro architecture in the same queue (ex: skylake in general-interactive queue) may differ: .. code:: bhosts -R 'select[cpumicro==skylake]' general-interactive -gpu Default Values: GUI, Wrapper Scripts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - `THPC_BUILD`: latest released RIS build .. _`ris-thpc-quickstart-cli`: Interactive Command-Line Session -------------------------------- Wrapper Script ~~~~~~~~~~~~~~ `thpc-terminal` script starts a command-line session with default resource values. .. code:: thpc-terminal /bin/bash Basic Job Command ~~~~~~~~~~~~~~~~~ - Insert value for `THPC_BUILD`. - Define `cpumicro` (same as `THPC_MICRO`) only if a specific micro architecture is required, otherwise can remove `-R "select[cpumicro==]"` entirely. .. code:: THPC_BUILD= \ THPC_CONTAINER_OS=linux \ LSF_DOCKER_VOLUMES=/opt/thpc:/opt/thpc bsub -Is -R "select[cpumicro==]" \ -q general-interactive -a 'docker(ghcr.io/washu-it-ris/ris-thpc:runtime)' /bin/bash Non-Interactive Batch Job ------------------------- thpc-batch Wrapper Script ~~~~~~~~~~~~~~~~~~~~~~~~~ `thpc-batch` script starts a batch job with default resource values. Replace `PROGRAM` with the program or script to be run. .. code:: thpc-batch PROGRAM Basic Job Command ~~~~~~~~~~~~~~~~~ - Insert value for `THPC_BUILD`. - Define `cpumicro` (same as `THPC_MICRO`) only if a specific micro architecture is required, otherwise can remove `-R "select[cpumicro==]"` entirely. - Replace `PROGRAM` with the program or script to be run. .. code:: THPC_BUILD= \ THPC_CONTAINER_OS=linux \ LSF_DOCKER_VOLUMES=/opt/thpc:/opt/thpc bsub -R "select[cpumicro==]" \ -q general -a 'docker(ghcr.io/washu-it-ris/ris-thpc:runtime)' PROGRAM Interactive GUI Session ----------------------- - Connect to http://ood.ris.wustl.edu. - Select `Compute RIS Desktop` from the `Interactive Apps` dropdown. - Enter resource requirements and storage/scratch directory mounts. - Select `Launch` to submit job. Additional information: :ref:`RIS Open OnDemand `. Useful Commands --------------- THPC uses `Lmod` to dynamically control the environment through use of module files. See the `official docs `__ for guidance beyond these basic commands. Shorthand exists for these module commands as well. Enter `ml -h` in a job session or see the `official docs `__ for more information. Available Modules ~~~~~~~~~~~~~~~~~ Loading modules without specifying a version will result in the default module being loaded. Default module versions are denoted with `(D)` in the listing if more than one version is available. .. code:: module avail Loaded Modules ~~~~~~~~~~~~~~ .. code:: module list Load/Unload Modules ~~~~~~~~~~~~~~~~~~~ .. code:: module load package1 package2 ... module unload package1 package2 ... Additional Software & Modules, Micro Architecture ------------------------------------------------- Open OnDemand Engineering Modules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - The THPC platform now has access to a build that has applications from the Engineering Group. - These can be loaded by clicking the checkbox in job form in OOD. .. image:: images/engineering.app.select.png - Selecting this option does two things. - The Docker image becomes RHEL based instead of Ubuntu. - Allows access to community modules provided by the Engineering Group. - If a user cannot run a module or encounters an error with a module, contact information for that module is available with the following command. .. code:: module help MODULENAME - Where ``MODULENAME`` is replaced with the name of the module. - Example: .. code:: $ module help keysight ------------------------------------ Module Specific Help for "keysight/2023" ------------------------------------ This module is a THPC community-managed licensed application. Contact Mark Bober at bober@wustl.edu for access. Extend Current/Previous Build Release ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Current and previous build releases will not be globally extended by RIS. Users can, however, install software and modules to their storage1 environment to be used in conjunction with a current or previous build release. Common options for installing software: - Python and :ref:`conda virtual environments `. - `EasyBuild `__ build and installation framework. Include Software, Modules in Upcoming Build Release ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - To request RIS include additional software or modules in an upcoming build release, submit a request with details to the RIS Service Desk using `this form. `__. - RIS intends to open the GitHub code repository to the community, allowing direct requests to add user-owned modules to the official RIS THPC build offerings. While not currently available, a communication will be sent to the RIS compute user community with instruction. New Build Release for Micro Architecture ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RIS does not provide build releases compatible with all micro architectures by default. If the current build release is not available on a necessary micro architecture, submit a request with details to the RIS Service Desk using `this form. `__. Available Versions ------------------ Current Version ~~~~~~~~~~~~~~~ - ghcr.io/washu-it-ris/ris-thpc - runtime Earlier Versions ~~~~~~~~~~~~~~~~ Earlier versions are still available but no longer directly supported by RIS. Please refer to the latest version for direct support. .. toctree:: :maxdepth: 1 deprecated-tools/thpc-deprecated-quickstart