Skip to content

Commit f6c5cc5

Browse files
committed
Deployed 2c3f32c with MkDocs version: 1.6.1
1 parent 70e8c63 commit f6c5cc5

7 files changed

Lines changed: 274 additions & 149 deletions

File tree

2025-LUST/1_Intro/1_04_LUMI_software_stack/index.html

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4670,8 +4670,7 @@ <h2 id="crayenv-and-lumi-modules">CrayEnv and LUMI modules<a class="headerlink"
46704670
software is available to all LUMI users. There might be license and other restrictions.</p>
46714671
<hr />
46724672
<h2 id="the-partition-module">The <code>partition</code> module<a class="headerlink" href="#the-partition-module" title="Permanent link">&para;</a></h2>
4673-
<p>The <code>LUMI</code> module currently supports five partition modules, but that number may
4674-
be reduced in the future:</p>
4673+
<p>The <code>LUMI</code> module currently supports four partition modules:</p>
46754674
<table>
46764675
<thead>
46774676
<tr>
@@ -4704,6 +4703,28 @@ <h2 id="the-partition-module">The <code>partition</code> module<a class="headerl
47044703
</tbody>
47054704
</table>
47064705
<p>All <code>partition</code> modules also load `craype-network-ofi``.</p>
4706+
<p>However, there are four more hidden partition modules that only play a role in configuring
4707+
EasyBuild and shouldn't be used when running software:</p>
4708+
<ul>
4709+
<li>
4710+
<p><code>partition/common</code> to install some software available in all four above partitions.</p>
4711+
<p>Currently only used for some tools compiled with the system compiler, but it could in fact
4712+
be used to store libraries that are not performance-critical and don't need GPUs (so simply
4713+
compiled for zen2).</p>
4714+
</li>
4715+
<li>
4716+
<p><code>partition/container</code> to install modules that wrap containers, as that software usually does
4717+
not depend on a version of the CPE anyway. Those container modules are then available in the <code>CrayEnv</code>
4718+
stack and all of the <code>LUMI</code> stacks.</p>
4719+
</li>
4720+
<li>
4721+
<p><code>partition/system</code> to install some software that is available on all of the system, even just
4722+
after login. That software should only depend on things in the OS!</p>
4723+
</li>
4724+
<li>
4725+
<p><code>partition/CrayEnv</code> to install packages that will be available in CrayEnv.</p>
4726+
</li>
4727+
</ul>
47074728
<hr />
47084729
<p><em><a href="../1_05_terminology/">[next: Terminology]</a></em></p>
47094730

@@ -4726,7 +4747,7 @@ <h2 id="the-partition-module">The <code>partition</code> module<a class="headerl
47264747
<span class="md-icon" title="Last update">
47274748
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
47284749
</span>
4729-
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="April 30, 2025 15:24:47">April 30, 2025</span>
4750+
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="May 23, 2025 15:04:36">May 23, 2025</span>
47304751
</span>
47314752

47324753

2025-LUST/2_Using/2_03_external_modules/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4703,7 +4703,7 @@ <h2 id="easybuild-metadata-for-external-modules">EasyBuild Metadata for external
47034703
and key-value assignments specific to that module.</p>
47044704
<p>The external modules metadata file can be also defined with the corresponding environment variable:
47054705
<div class="highlight"><pre><span></span><code>echo $EASYBUILD_EXTERNAL_MODULES_METADATA
4706-
/apps/common/UES/jenkins/production/easybuild/cpe_external_modules_metadata-21.04.cfg
4706+
/appl/lumi/LUMI-SoftwareStack/easybuild/config/external_modules_metadata-CPE-24.03.cfg
47074707
</code></pre></div></p>
47084708
<p>The following keys are
47094709
<a href="https://docs.easybuild.io/en/latest/Using_external_modules.html#supported-metadata-values">supported by EasyBuild</a>:</p>
@@ -4748,7 +4748,7 @@ <h2 id="easybuild-metadata-for-external-modules">EasyBuild Metadata for external
47484748
<span class="md-icon" title="Last update">
47494749
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
47504750
</span>
4751-
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="May 6, 2025 15:20:25">May 6, 2025</span>
4751+
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="May 23, 2025 15:04:36">May 23, 2025</span>
47524752
</span>
47534753

47544754

2025-LUST/4_EasyBuild_on_LUMI/4_01_managing_software_on_LUMI/index.html

Lines changed: 100 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,15 @@
10551055
</ul>
10561056
</nav>
10571057

1058+
</li>
1059+
1060+
<li class="md-nav__item">
1061+
<a href="#managing-versions-of-dependencies" class="md-nav__link">
1062+
<span class="md-ellipsis">
1063+
Managing versions of dependencies
1064+
</span>
1065+
</a>
1066+
10581067
</li>
10591068

10601069
</ul>
@@ -4719,6 +4728,15 @@
47194728
</ul>
47204729
</nav>
47214730

4731+
</li>
4732+
4733+
<li class="md-nav__item">
4734+
<a href="#managing-versions-of-dependencies" class="md-nav__link">
4735+
<span class="md-ellipsis">
4736+
Managing versions of dependencies
4737+
</span>
4738+
</a>
4739+
47224740
</li>
47234741

47244742
</ul>
@@ -4739,7 +4757,28 @@
47394757

47404758
<h1 id="managing-easybuild-installed-software-on-lumi">Managing EasyBuild-installed software on LUMI<a class="headerlink" href="#managing-easybuild-installed-software-on-lumi" title="Permanent link">&para;</a></h1>
47414759
<h2 id="repositories-and-their-function">Repositories and their function<a class="headerlink" href="#repositories-and-their-function" title="Permanent link">&para;</a></h2>
4742-
<p>TODO</p>
4760+
<p>There are three LUST-maintained repositories with EasyConfig files:</p>
4761+
<ul>
4762+
<li>
4763+
<p><a href="https://github.com/Lumi-supercomputer/LUMI-SoftwareStack">LUMI-SoftwareStack</a>:
4764+
Centrally installed software, but also the whole Lmod configuration and
4765+
special modules, and scripts to manage the software stack</p>
4766+
<p>Documented on <a href="https://lumi-supercomputer.github.io/LUMI-SoftwareStack/">lumi-supercomputer.github.io/LUMI-SoftwareStack</a>,
4767+
automatically generated by a GitHub action</p>
4768+
</li>
4769+
<li>
4770+
<p><a href="https://github.com/Lumi-supercomputer/LUMI-EasyBuild-contrib">LUMI-EasyBuild-contrib</a>: User-installable software</p>
4771+
</li>
4772+
<li>
4773+
<p><a href="https://github.com/Lumi-supercomputer/LUMI-EasyBuild-containers">LUMI-EasyBuild-containers</a>:
4774+
Module wrappers for containers: AMD AI containers and CCPE</p>
4775+
</li>
4776+
</ul>
4777+
<p>Users can have their own repo also. When it is cloned as <code>UserRepo</code> in <code>$EBU_USER_PREFIX</code>,
4778+
it will be used by EasyBuildwhen configured with <code>LUMI-EasyBuild-user</code>.</p>
4779+
<p>There is another repository also,
4780+
<a href="https://github.com/Lumi-supercomputer/LUMI-EasyBuild-docs">LUMI-EasyBuild-docs</a>
4781+
to manage building the LUMI Software Library</p>
47434782
<h2 id="creating-and-installing-a-new-release-of-the-lumi-software-stack">Creating and installing a new release of the LUMI software stack<a class="headerlink" href="#creating-and-installing-a-new-release-of-the-lumi-software-stack" title="Permanent link">&para;</a></h2>
47444783
<p>TODO not complete</p>
47454784
<ul>
@@ -4808,7 +4847,7 @@ <h2 id="creating-and-installing-a-new-release-of-the-lumi-software-stack">Creati
48084847
</ul>
48094848
</li>
48104849
<li>
4811-
<p>Before creating a new release, add the release name (YYYyMMDD) to the
4850+
<p>Before creating a new release, add the release name (YYYYMMDD) to the
48124851
<code>docs/whats_new.md</code> with a description of the changes/additions. This page
48134852
will also appear in the LUMI Software Library.</p>
48144853
</li>
@@ -4822,7 +4861,7 @@ <h3 id="lumi-software-library">LUMI Software Library<a class="headerlink" href="
48224861
The script is very naive when it tries to renumber the title levels. It goes wrong when a
48234862
code block is included that starts on the first column and contains lines starting with <code>#</code>.
48244863
The workaround is to indent such a code block with one space.</p>
4825-
<p>Files stored with the EasyConfig:</p>
4864+
<p>Files stored with the EasyConfigs of a package:</p>
48264865
<ul>
48274866
<li>
48284867
<p><code>USER.md</code>: Optional, extra information for regular users.</p>
@@ -4847,6 +4886,28 @@ <h3 id="lumi-software-library">LUMI Software Library<a class="headerlink" href="
48474886
</ul>
48484887
</li>
48494888
</ul>
4889+
<p>Some interesting examples to look at:</p>
4890+
<ul>
4891+
<li>
4892+
<p><a href="https://lumi-supercomputer.github.io/LUMI-EasyBuild-docs/q/QuantumESPRESSO/">QuantumESPRESSO</a>:
4893+
uses the full range of tricks. Check the <a href="https://github.com/Lumi-supercomputer/LUMI-EasyBuild-contrib/tree/main/easybuild/easyconfigs/q/QuantumESPRESSO">files in the GitHub</a>:
4894+
the pictures are in the 'files' subdirectory</p>
4895+
</li>
4896+
<li>
4897+
<p><a href="https://lumi-supercomputer.github.io/LUMI-EasyBuild-docs/e/ELPA/">ELPA</a> used to be in the
4898+
central stack but was moved out because we needed multiple configurations in a single
4899+
toolchain and also had too many issues to get it to work correctly. </p>
4900+
<p>It has a 'README.md' file in both
4901+
<a href="https://github.com/Lumi-supercomputer/LUMI-SoftwareStack/tree/main/easybuild/easyconfigs/e/ELPA">LUMI-SoftwareStack</a>
4902+
and <a href="https://github.com/Lumi-supercomputer/LUMI-EasyBuild-contrib/tree/main/easybuild/easyconfigs/e/ELPA">LUMI-EasyBuild-contrib</a>
4903+
but as we are phasing the 22.08 toolchain out, that example may have become irrelevant with a dead
4904+
link by the time you read this.</p>
4905+
</li>
4906+
<li>
4907+
<p><a href="https://lumi-supercomputer.github.io/LUMI-EasyBuild-docs/b/buildtools/">buildtools</a>: Made sure that users can
4908+
actually find the included packages through the search box by mentioning them on the page.</p>
4909+
</li>
4910+
</ul>
48504911
<h3 id="lumi-softwarestack-repository">LUMI-SoftwareStack repository<a class="headerlink" href="#lumi-softwarestack-repository" title="Permanent link">&para;</a></h3>
48514912
<p>The repository contains a <code>docs</code> subdirectory with markdown-based documentation. </p>
48524913
<p>The <code>docs/config</code> subdirectory contains the <code>mkdocs.yml</code> file for the documentation,
@@ -4860,6 +4921,41 @@ <h3 id="documenting-the-actual-installation-process-on-lumi-uan06">Documenting t
48604921
<a href="https://wiki.eduuni.fi/spaces/CSCLUST/pages/266410121/Change+log+for+the+software+stack+in+appl+lumi">"Change log for the software stack in /appl/lumi" page in the LUST eduuni wiki</a>.</p>
48614922
<p>This is done <em>before</em> actually doing the installation and has been tested as much as possible on a copy of the software stack
48624923
(currently a personal copy, could be a LUST one in 462000008).</p>
4924+
<h2 id="managing-versions-of-dependencies">Managing versions of dependencies<a class="headerlink" href="#managing-versions-of-dependencies" title="Permanent link">&para;</a></h2>
4925+
<p>When building a new software stack, we often want to change the version of packages to a newer version.
4926+
This implies that all EasyConfigs where the package appears as a dependency, should also change.
4927+
The <code>dependencies</code> parameter is way too complex to tackle with <code>try-amend</code> so we needed another
4928+
approach.</p>
4929+
<p>On LUMI, we declare the version of packages as much as possible through variables, e.g.,
4930+
<code>local_zlib_version</code>. We maintain files with all version variables in
4931+
<a href="https://github.com/Lumi-supercomputer/LUMI-SoftwareStack/tree/main/easybuild/easyconfigs">LUMI-SoftwareStack</a>
4932+
(look vor the <code>versions-yy.MM.txt</code> files) and
4933+
<a href="https://github.com/Lumi-supercomputer/LUMI-EasyBuild-contrib/tree/main/easybuild/easyconfigs">LUMI-EasyBuild-contrib</a>
4934+
(look for the <code>versions-contrib-YY.MM.txt</code> files).
4935+
For Contrib this only makes sense for packages that are likely to be used as a dependency and are typically available
4936+
in only one version (though for, e.g., PLUMED., we simply define separate variables for PLUMED 8.X and 9.X).</p>
4937+
<p>There are two scripts to update toolchains and dependency versions:</p>
4938+
<ul>
4939+
<li>
4940+
<p><a href="https://github.com/Lumi-supercomputer/LUMI-SoftwareStack/blob/main/tools/upgrade-tc.py">upgrade-tc.py</a>
4941+
is a script developed at CSCS to update the toolchain version in an EasyConfig and also adapt its name
4942+
accordingly.</p>
4943+
</li>
4944+
<li>
4945+
<p><a href="https://github.com/Lumi-supercomputer/LUMI-SoftwareStack/blob/main/tools/upgrade-locals.lua">upgrade-locals.lua</a>
4946+
is a script developed by LUST to use the variables in the <code>version-YY.MM.txt</code> files to update the corresponding
4947+
variables in the EasyConfigs. The only downside is that it cannot adapt the name of the EasyConfig. That still has
4948+
to be done manually.</p>
4949+
</li>
4950+
</ul>
4951+
<p>It is easiest to use those scripts through aliases. E.g., Kurt Lust uses the following aliases to adapt EasyConfig files
4952+
for LUMI/24.03:</p>
4953+
<div class="highlight"><pre><span></span><code>alias tc2403=&quot;$installroot/LUMI-SoftwareStack/tools/upgrade-tc.py --metadata $installroot/LUMI-SoftwareStack/easybuild/config/external_modules_metadata-CPE-24.03.cfg --version 24.03 --filenames&quot;
4954+
alias locals2403=&quot;$installroot/LUMI-SoftwareStack/tools/upgrade-locals.lua $installroot/LUMI-SoftwareStack/easybuild/easyconfigs/versions-24.03.txt&quot;
4955+
alias contrib2403=&quot;$installroot/LUMI-SoftwareStack/tools/upgrade-locals.lua $installroot/LUMI-EasyBuild-contrib/easybuild/easyconfigs/versions-contrib-24.03.txt&quot;
4956+
</code></pre></div>
4957+
<p>(with <code>installroot</code> an environment variable pointing to the local installation he uses; you could use <code>/appl/lumi</code> for that but would
4958+
probably like to refer to your own copy of <code>LUMI-EasyBuild-contrib</code>).</p>
48634959
<p><em><a href="../4_02_tips_and_tricks/">[Next: EasyBuild tips &amp; tricks]</a></em></p>
48644960

48654961

@@ -4881,7 +4977,7 @@ <h3 id="documenting-the-actual-installation-process-on-lumi-uan06">Documenting t
48814977
<span class="md-icon" title="Last update">
48824978
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
48834979
</span>
4884-
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="May 14, 2025 09:41:11">May 14, 2025</span>
4980+
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="May 23, 2025 15:04:36">May 23, 2025</span>
48854981
</span>
48864982

48874983

2025-LUST/4_EasyBuild_on_LUMI/4_02_tips_and_tricks/index.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4678,6 +4678,14 @@ <h2 id="long-lists-of-elements-for-preconfigopts-or-options-for-configopts">Long
46784678
There is also plenty of space left on each line to explain why an option is used or what it
46794679
means, to make the job easier for others who may want to update or customise this EasyConfig.</p>
46804680
<h2 id="more-to-follow">More to follow....<a class="headerlink" href="#more-to-follow" title="Permanent link">&para;</a></h2>
4681+
<ul>
4682+
<li>
4683+
<p>Static and shared libraries in CMakeMake packages (and using lib instead of lib64)</p>
4684+
</li>
4685+
<li>
4686+
<p>Copying the license information</p>
4687+
</li>
4688+
</ul>
46814689
<p><em><a href="../../5_00_additional_reading/">[Next: Additional reading]</a></em></p>
46824690

46834691

@@ -4699,7 +4707,7 @@ <h2 id="more-to-follow">More to follow....<a class="headerlink" href="#more-to-f
46994707
<span class="md-icon" title="Last update">
47004708
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
47014709
</span>
4702-
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="May 14, 2025 09:41:11">May 14, 2025</span>
4710+
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="May 23, 2025 15:04:36">May 23, 2025</span>
47034711
</span>
47044712

47054713

search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)