Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Lmod hierarchical view under modern Cray environments

Open
#197 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Documentation
Clarity
Needs clarification
Activity status
Stale
Domain
documentation

Research direction

The issue names no repository files or tests, so first clarify whether the deliverable is an example or a full tutorial and validate the behavior in a modern Cray PrgEnv with Lmod. Done should document a hierarchical view that leaves the Cray environment unchanged, exposes mutually exclusive products, and switches or reloads the selected product when the custom module is loaded.

Written by the indexing model from the issue text.

Description

I'm looking for either an example or a full blown tutorial showing how to use the Cray PrgEnv to compile products and then expose the products through a hierarchical view.

I wish for the Cray environment to be left untouched. The user should only have to load some modules with a custom name to navigate the hierarchical view. the module exposing the hierarchy, should only change the module path, and not modify the environment in any other way unless exceptional.

i.e:

Hypre was compiled with the PrgEnv-[cray|amd|gcc], this will produce 3 products which I which to expose, never at the same time (mutual exclusion) and only when a particular module is loaded.

$ ml products-cce
$ ml load hypre
$ module li
------------------------- /cce/15.0.0/Core --------------------------
   hypre/2.25.0

-------------------------------------- /Core ---------------------------------------
   products-cce/xxx    products-gcc/xxx     products-rocmcc/xxx    
$ ml products-gcc
<swap modules and automatically reload hypre (under the gcc Core, typical lmod stuff>
Dominant language
Python
Stars
52
Forks
38
Avg merge
7d 23h
Merged PRs (30d)
7

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from spack/spack-tutorial

All issues in spack/spack-tutorial

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.