Skip to content

Commit f9eb29b

Browse files
committed
Various corrections (typos etc.) and minor additions.
1 parent 64694b0 commit f9eb29b

5 files changed

Lines changed: 51 additions & 24 deletions

File tree

docs/2022-CSC_and_LO/1_Intro/1_01_what_is_easybuild.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ By default EasyBuild tries to run tests if the build process of a package provid
9595
functionality, or can run simple tests of its own, and of course these tests will fail if
9696
the host CPU does not support the full instruction set of the target CPU. Secondly, more
9797
and more software has broken build processes where developers thought that it was a good
98-
idea to hard-code options such as ``-march=native`` or ``--xHost`` in a way that EasyBuild
98+
idea to hard-code options such as ``-march=native`` or ``-xHost`` in a way that EasyBuild
9999
cannot easily overwrite those.
100100

101101

docs/2022-CSC_and_LO/1_Intro/1_03_CPE.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ tools and to configure the environment in a flexible way.
1313

1414
---
1515

16-
## Cray PE components
16+
## HPE Cray PE components
1717

1818
### Cray compiler environments
1919

@@ -185,9 +185,7 @@ versions of the library are supported, the finalised LUMI system will only suppo
185185
### DSMML
186186

187187
* Modules: `cray-dsmml`
188-
*
189188
* Manpages: `intro_dsmml`
190-
*
191189
* Website: [https://pe-cray.github.io/cray-dsmml](https://pe-cray.github.io/cray-dsmml)
192190

193191
Distributed Symmetric Memory Management Library (DSMML) is a HPE Cray proprietary memory management library.

docs/2022-CSC_and_LO/1_Intro/1_04_LUMI_software_stack.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ set of target modules after loading the ``CrayEnv`` module.
9898

9999
## The ``partition`` module
100100

101-
The ``LUMI`` module currently supports four partition modules, but that number may
101+
The ``LUMI`` module currently supports five partition modules, but that number may
102102
be reduced in the future:
103103

104104
| Partition | CPU target | Accelerator |

docs/2022-CSC_and_LO/1_Intro/1_08_basic_usage.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -143,18 +143,18 @@ while `eb -S` produces a more concise output.
143143
For example, let's check which easyconfig files are available for OpenFOAM 8 with a `foss` toolchain:
144144

145145
```shell
146-
$ eb --search openfoam-8-foss
147-
* /home/example/.local/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020a.eb
148-
* /home/example/.local/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb
146+
$ eb --search openfoam-9
147+
* /appl/lumi/LUMI-EasyBuild-contrib/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-cpeGNU-21.08.eb
148+
* /appl/lumi/LUMI-EasyBuild-contrib/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-cpeGNU-21.12.eb
149149
```
150150

151151
The output is a bit more condensed when using `eb -S`:
152152

153153
```shell
154-
$ eb -S openfoam-8-foss
155-
CFGS1=/home/example/.local/easybuild/easyconfigs/o/OpenFOAM
156-
* $CFGS1/OpenFOAM-8-foss-2020a.eb
157-
* $CFGS1/OpenFOAM-8-foss-2020b.eb
154+
$ eb -S openfoam-9
155+
CFGS1=/appl/lumi/LUMI-EasyBuild-contrib/easybuild/easyconfigs/o/OpenFOAM
156+
* $CFGS1/OpenFOAM-9-cpeGNU-21.08.eb
157+
* $CFGS1/OpenFOAM-9-cpeGNU-21.12.eb
158158
```
159159

160160
Note that the search is performed *case-insensitive*.
@@ -164,13 +164,17 @@ or other special characters like `^` or `$` to mark the start/end of the filenam
164164
but you need to be careful that `bash` does not expand these before the `eb` command is started,
165165
so it is recommended to wrap the search pattern in single quotes (`'...'`) when using wildcards.
166166

167-
For example, to check which easyconfigs are available to install TensorFlow 2.4.1 with the `2020b` version of a toolchain:
167+
For example, to check which easyconfigs are available to install GROMACS 2021 and subversions with
168+
the `cpeGNU` toolchains:
168169

169170
```shell
170-
$ eb -S '^tensorflow-2.4.1.*2020b'
171-
CFGS1=/home/example/.local/easybuild/easyconfigs/t/TensorFlow
172-
* $CFGS1/TensorFlow-2.4.1-foss-2020b.eb
173-
* $CFGS1/TensorFlow-2.4.1-fosscuda-2020b.eb
171+
$ eb -S '^gromacs-2021.*cpeGNU.*'
172+
CFGS1=/appl/lumi/LUMI-EasyBuild-contrib/easybuild/easyconfigs/g/GROMACS
173+
* $CFGS1/GROMACS-2021-cpeGNU-21.08-PLUMED-2.7.2-CPU.eb
174+
* $CFGS1/GROMACS-2021.3-cpeGNU-21.08-CPU.eb
175+
* $CFGS1/GROMACS-2021.4-cpeGNU-21.12-PLUMED-2.7.4-CPU.eb
176+
* $CFGS1/GROMACS-2021.4-cpeGNU-21.12-PLUMED-2.8.0-CPU.eb
177+
* $CFGS1/GROMACS-2021.5-cpeGNU-21.12-CPU.eb
174178
```
175179

176180
---

docs/2022-CSC_and_LO/2_Using/2_02_creating_easyconfig_files.md

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,24 @@ specific for a certain compiler and don't recognise the Cray compilers.
4444
Reasons to consider implementing a software-specific easyblock rather than using a generic easyblock include:
4545

4646
- 'critical' values for easyconfig parameters required to make installation succeed;
47-
- toolchain-specific aspects of the build and installation procedure (e.g., configure options);
48-
- interactive commands that need to be run;
49-
*For example: The easyblock to [install maple](https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/m/maple.py)
50-
responds to a number of interactive questions.*
51-
- custom (configure) options for dependencies;
47+
*For example, the [easyblock for bowtie2](https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/b/bowtie2.py)
48+
defines a number of variables used in the Makefile are specified on the make command line to ensure that the right
49+
compilers are used.*
50+
- toolchain-specific aspects of the build and installation procedure (e.g., configure options);
51+
*For example, the [easyblock for CP2K](https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/c/cp2k.py)
52+
will add several compiler options when compiling with gcc and gfortran, including the infamous
53+
`-fallow-argument-mismatch` which is required from gfortran 10 on for many older codes.*
54+
- custom (configure) options for dependencies;
5255
*For example, the [easyblock for VMD](https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/v/vmd.py)
5356
will add configure options depending on the dependency list of the package.*
54-
- having to create or adjust specific (configuration) files;
57+
- interactive commands that need to be run;
58+
*For example: The [easyblock for maple](https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/m/maple.py)
59+
responds to a number of interactive questions.*
60+
- having to create or adjust specific (configuration) files;
61+
*For example, the [easyblock for Siesta](https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/s/siesta.py)
62+
edits one of the configuration files through regular expressions.*
5563
- 'hackish' usage of a generic easyblock;
56-
- complex or very non-standard installation procedure;
64+
- complex or very non-standard installation procedure;
5765
*For example, the [easyblock to install the gcc compilers from source](https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/g/gcc.py),
5866
bootstrapping with the system compiler and then re-installing with itself.*
5967

@@ -499,13 +507,30 @@ Or, to try using a different compiler toolchain you can use `--try-toolchain`:
499507
eb example-1.2.3-foss-2020b.eb --try-toolchain cpeCray,21.12
500508
```
501509
510+
There is also a `--try` option to change an arbitrary parameter in an easyconfig:
511+
512+
```shell
513+
eb example-1.2.3-foss-2020b.eb --try-amend versionsuffix='-test'
514+
```
515+
516+
Its general syntax is
517+
518+
```
519+
--try-amend=VAR=VALUE[,VALUE]
520+
```
521+
522+
This option can be used multiple times also to make multiple changes.
523+
502524
It is important to keep in mind the *"try"* aspect here: while easyconfigs that
503525
are generated by EasyBuild via a `--try-*` option often do work fine, there is
504526
no strong guarantee they will. Newer software versions may come with changes to
505527
the installation procedure, additional dependencies that are required, etc.
506528
Using a different compiler toolchain may be as simple as just switching one for
507529
another, but it may require additional changes to be made to configure options, for example.
508530
531+
The easyconfig files modified in this way will be stored in the `easybuild` subdirectory
532+
of the software installation directory and in the easyconfig archive that EasyBuild creates.
533+
509534
## Copying easyconfigs
510535
511536
One additional handy command line option we want to highlight is `--copy-ec`, which can be used to

0 commit comments

Comments
 (0)