Evaluation of new environment modules system

November 14, 2014
Carter, Conte, Hansen, Peregrine1, Radon, Rossmann

A new environment modules system, called Lmod, is available for evaluation on ITaP Research Computing clusters. ITaP Researching Computing staff are evaluating Lmod as a replacement for the current environment modules system and are looking for feedback from cluster users. Lmod is used in the same way as the current system but offers much more on top of existing functionality. Lmod is available as an opt-in to all current cluster users.

What is Lmod?

Lmod is a Lua based environment modules system developed by TACC (Texas Advanced Computing Center). This system is used on TACC clusters such as Stampede and Lonestar. Lmod is also used at several other universities and centers. Lmod offers all the same functionality as the current environment modules system and uses the same commands and syntax. However, Lmod offers new and unique functionality that can be leveraged to offer an easier to use and understand software environment on ITaP clusters.

How do I use Lmod?

Currently Lmod is available as an opt-in feature on clusters. To opt-in to using Lmod, you can issue the following command and log out and back in to refresh your environment:

$ touch ~/.uselmod

To stop using lmod, you can issue the following command and log out and back in to refresh your environment:

$ rm ~/.uselmod

To use Lmod just continue using the same module commands as before. To explore some of the new features type just 'module' to see available commands.

Any feedback you have on this new system is welcomed. Your feedback will help shape the direction of the environment modules system. Please send any feedback or problems with Lmod to rcac-help@purdue.edu.

What are the new features of Lmod?

At the moment Lmod is mostly a one for one replacement of the current environment modules system. In the future ITaP will expand on the functionality of Lmod to improve usability of our software stack.

One of the most exciting features of Lmod is the spider command. This command allows you to discover software available on the clusters that you might not otherwise find.

For example, finding the bioinformatics software bowtie2 is not easy. This software is not managed by ITaP and is not in the normal software availability. Nonetheless, it is available to the general cluster public if you happen to know how to find it. Lmod makes finding such software much easier:

$ module spider bowtie2

----------------------------------------------------------------------------
  bowtie2:
----------------------------------------------------------------------------
     Versions:
....
        bowtie2/2.2.3

----------------------------------------------------------------------------
  To find detailed information about bowtie2 please enter the full name.
  For example:

     $ module spider bowtie2/2.2.3
----------------------------------------------------------------------------

$ module spider bowtie2/2.2.3

----------------------------------------------------------------------------
  bowtie2: bowtie2/2.2.3
----------------------------------------------------------------------------

    This module can only be loaded through the following modules:

      bioinfo

With this command you can discover that this software is available by first loading the bioinfo module.

One of the other features lmod offers is the ability to prevent software conflicts. Loading multiple MPI libraries or compilers, for example, may result in conflicting commands and libraries being used. Lmod will not allow the accidental loading of multiple, conflicting software simultaneously. For example:

$ module load intel
$ module load pgi

Lmod has detected the following error: You can only have one compiler module loaded at a time.
You already have intel loaded.
To correct the situation, please enter the following command:

  module swap intel pgi/11.8-0

Please submit a consulting ticket if you require additional assistance.

Originally posted: August 26, 2014  1:44pm