System Module Environment Setup

PREREQUISITES

Admin permissions and the system’s CPE Installation Guide.

Note: The installation guide should be followed, the steps here are a collected summary to give the reader an overview of module environment setup on a system.

OBJECTIVE

This section provides a collected summary of how to setup a module environment for a system. These instructions can be found within the Install HPE Cray Programming Environment section, of a system’s installation guide.

PROCEDURE

The following configuration files are used to customize the current environment module program behavior. Both of these configuration files maybe referred to as “cray-pe-configuration files” for brevity.
  • /opt/clmgr/image/images/<IMAGE_NAME>/etc/cray-pe.d/etc/cray-pe.d/cray-pe-configuration.sh

  • /opt/clmgr/image/images/<IMAGE_NAME>/etc/cray-pe.d/etc/cray-pe.d/cray-pe-configuration.csh

Select environment module program for a system.

Within the Install HPE Cray Programming Environment section, of a system’s installation guide, are details for selecting the environment module program. The environment module programs are mutually exclusive and cannot both run on the same system. The default environment module program is preset to TCL Modules. To select Lmod as the environment module program for the system in the image, an admin needs to modify the cray-pe-configuration files as follows:

Example:

change

set module_prog = environment modules

to

set module_prog = lmod

Customize default module paths and default modules loaded at login

In the cray-pe-configuration files the following can be configured to customize the default paths and modules loaded at login time.

  • Set additional module paths to use as default: Add additional paths as strings to the mpaths variable.

    Example:

    mpaths="</system/modulefiles>"
  • Set the default list of modules to be loaded on login: Add desired module names to the init_module_list variable. Items added can be space or colon separated.

    Example:

    init_module_list="
    $cpe_arch
    craype-network-ofi
    perftools-base
    xpmem
    PrgEnv-$default_prgenv
    "

Set the default programming environment and customize the modules loaded by programming environments

In the cray-pe-configuration files the following can be configured to customize programming environments.

  • Set the default programming environment:

    Cray is the default programming environment. This results in the module PrgEnv-cray loading as part of the default module set. The default programming environment can be change by modifing the value of default_prgenv to a different programming environment.

    Example:

    default_prgenv="cray"
  • Set the default list of modules that the programming environment modules (PrgEnv) will load:

    Items added can be space or colon separated.

    Note: The following modules should not be added to the programming environment modules list: cpe-$env, craype, and compiler modules since these are already added by the PrgEnv module itself.

    Example:

    prgenv_module_list="cray-dsmml cray-mpich cray-libsci"

Automated module script

In the installation guide there are instructions directing the admin to initiate a reboot of node/s. After a node is rebooted and a PE is mounted a script in /etc/cray-pe.d/gen_modulefiles.sh is kicked off to generate third party modules automatically. For more details on third party modules generation see Create Module-files for third-party products.

Ensure that the default set of module-files is loaded.

This step should be completed when verifying the CPE installation.

Example:

admin# ssh nid0001

nid0001# module list

Currently Loaded Modules:

1) craype-x86-rome          5) cce/17.0.0           9) cray-libsci/23.12.5
2) libfabric/1.15.2.0       6) craype/2.7.30       10) PrgEnv-cray/8.5.0
3) craype-network-ofi       7) cray-dsmml/0.2.2
4) perftools-base/23.12.0   8) cray-mpich/8.1.28

Note: See the HPE HPCM release announcement for current CPE release product versions.