Skip to content

Commit c851110

Browse files
bcummingmsimberg
andauthored
Refactor for ML discoverability (#246)
Co-authored-by: Mikael Simberg <[email protected]>
1 parent c85918c commit c851110

File tree

34 files changed

+381
-184
lines changed

34 files changed

+381
-184
lines changed

.github/actions/spelling/allow.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ opls
230230
osts
231231
osu
232232
papi
233+
paraview
233234
parmetis
234235
petsc
235236
pme

docs/build-install/index.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,51 @@
22
# Building and Installing Software
33

44
CSCS provides commonly used software and tools on Alps, however many use cases will require first installing software on a system before you can start working.
5+
Modern HPC applications and software stacks are often very complicated, and there is no one-size-fits-all method for building and installing them.
56

67
<div class="grid cards" markdown>
78

8-
- :fontawesome-solid-earth-americas: __[Unsupported software][ref-software-installation-guides]__ – guides on how to install commonly requested or difficult to install software.
9+
- :fontawesome-solid-earth: [__Programming Environments__][ref-software-prgenvs]
910

10-
</div>
11+
Programming environments are your first option if you want to install an application (and its dependencies) from source, or set up a Python/Julia environment.
1112

12-
Modern HPC applications and software stacks are often very complicated, and there is no one-size-fits-all method for building and installing them.
13+
CSCS provides the following uenv:
1314

14-
<div class="grid cards" markdown>
15+
[:octicons-arrow-right-24: prgenv-gnu][ref-uenv-prgenv-gnu]
16+
17+
[:octicons-arrow-right-24: prgenv-nvfortran][ref-uenv-prgenv-nvfortran]
18+
19+
[:octicons-arrow-right-24: linalg][ref-uenv-linalg]
20+
21+
[:octicons-arrow-right-24: julia][ref-uenv-julia]
1522

16-
- :fontawesome-solid-earth-americas: __[uenv][ref-uenv]__ – uenv provide isolated software environments for applications and developers.
23+
And containers are used to deploy:
24+
25+
[:octicons-arrow-right-24: Cray Programming Environment][ref-cpe]
1726

1827
</div>
1928

2029
<div class="grid cards" markdown>
2130

22-
- :fontawesome-brands-docker: __[Podman][ref-build-containers]__ – for building software in containers.
31+
- :fontawesome-solid-truck-fast: __Packaging and Deployment__
32+
33+
How to create containers or uenv, and how to share them with your colleagues and community.
34+
35+
[:octicons-arrow-right-24: build containers with podman][ref-build-containers]
36+
37+
[:octicons-arrow-right-24: use the uenv build service][ref-uenv-build]
2338

2439
</div>
2540

2641
<div class="grid cards" markdown>
2742

28-
- :fontawesome-brands-python: __[Python][ref-build-python]__ – create a virtual environment using python in a uenv.
43+
- :fontawesome-solid-hammer: __Software Building Guides__
44+
45+
How to create containers or uenv, and how to share them with your colleagues and community.
46+
47+
[:octicons-arrow-right-24: building software using uenv][ref-build-uenv]
48+
49+
Coming soon: how to install Python software stacks.
2950

3051
</div>
3152

docs/build-install/pip.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

docs/build-install/uenv.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[](){#ref-building-uenv}
1+
[](){#ref-build-uenv}
22
# Building with uenv
33

44
Uenv are user environments that provide scientific applications, libraries and tools on [Alps][ref-alps].
@@ -7,7 +7,7 @@ This article explains how to use them to build software.
77
For more documentation on how to find, download and use uenv in your workflow,
88
see the [uenv documentation][ref-uenv].
99

10-
[](){#ref-building-uenv-spack}
10+
[](){#ref-build-uenv-spack}
1111
## Building software using Spack
1212

1313
Each uenv is tightly coupled with [Spack] and can be used as an upstream [Spack] instance, because

docs/clusters/daint.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ To build images, see the [guide to building container images on Alps][ref-build-
9898

9999
CSCS will continue to support and update uenv and container engine, and users are encouraged to update their workflows to use these methods at the first opportunity.
100100

101-
The CPE is still installed on Daint, however it will receive no support or updates, and will be replaced with a container in a future update.
101+
The CPE is still installed on Daint, however it will receive no support or updates, and will be [replaced with a container][ref-cpe] in a future update.
102102

103103
## Running jobs on Daint
104104

docs/clusters/eiger.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ To build images, see the [guide to building container images on Alps][ref-build-
122122

123123
CSCS will continue to support and update uenv and the Container Engine, and users are encouraged to update their workflows to use these methods at the first opportunity.
124124

125-
The CPE is deprecated and will be removed completely at a future date.
125+
The CPE is still installed on Eiger, however it will receive no support or updates, and will be [replaced with a container][ref-cpe] in a future update.
126126

127127
## Running jobs on Eiger
128128

docs/contributing/index.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,3 +514,27 @@ For example, to include the recommended NCCL environment variables, do the follo
514514
```bash title="Recommended NCCL environment variables"
515515
--8<-- "docs/software/communication/nccl_env_vars"
516516
```
517+
518+
## Documentation structure
519+
520+
Here we describe a high-level overview of the documentation layout and organisation.
521+
522+
!!! under-construction
523+
This section is mostly incomplete, and will be expanded over time.
524+
525+
Note that the directory layout, where markdown files are stored in the repository, does not strictly reflect the section of the documentation where the content is displayed because:
526+
527+
* the URL of a page is decided by its location in the directory tree, not in the table of contents.
528+
If a page is moved in the ToC, we are conservative about moving the file, so that urls don't break.
529+
* pages can be included in multiple locations in the ToC (not a feature that we use very often).
530+
531+
### Tutorials
532+
533+
All tutorials are stored in the `/docs/tutorials` directory.
534+
Currently we only have ML tutorials in `/docs/tutorials/ml`.
535+
536+
There is no top level "Tutorials" section, instead tutorial content can be included directly in the docs where most appropriate.
537+
The ML tutorials, for example, are alongside the PyTorch documentation in the Applications and Frameworks material.
538+
539+
!!! note "rationale"
540+
Group all tutorial content together in the directory structure so that the url of specific tutorials won't change when they are moved around.

docs/environments/index.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Alps environments
2+
3+
Once you have logged into a [cluster][ref-alps-clusters] on Alps, you will want to set up your environment and find the software and tools provided by CSCS.
4+
This part of the documentation will give guidance on how to set up your shell, and how to access software in uenv and container environments.
5+
6+
<div class="grid cards" markdown>
7+
8+
- :fontawesome-solid-layer-group: __Set up your login environment__
9+
10+
A good spot to start is to read our guide on configuring your shell.
11+
12+
[:octicons-arrow-right-24: Using the terminal][ref-platform-hpcp]
13+
14+
</div>
15+
16+
<div class="grid cards" markdown>
17+
18+
- :fontawesome-solid-layer-group: __Setting up your development and simulation environments__
19+
20+
CSCS provides two ways to access software, and create the environment used to develop and run.
21+
22+
Scientific HPC workloads are a good fit for uenv -- a tool developed by CSCS to deliver scientific software stacks on Alps.
23+
24+
[:octicons-arrow-right-24: uenv][ref-uenv]
25+
26+
The container engine runtime is recommended for machine learning workflows.
27+
It can also be a very good choice for Python environments installed using pip, uv and conda.
28+
29+
[:octicons-arrow-right-24: container engine][ref-container-engine]
30+
31+
</div>
32+
33+
34+
CSCS provides ready to use environments in uenv and containers:
35+
36+
* [Programming environments][ref-software-prgenvs];
37+
* [Applications and software][ref-software].

docs/index.md

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
11
# CSCS Documentation
22

3-
<div class="grid cards" markdown>
4-
- <p style="text-align:center">Visit <a href="https://status.cscs.ch/">status.cscs.ch</a> for the status of Alps systems, and the latest announcements.</p>
5-
</div>
6-
7-
The Alps Research infrastructure hosts multiple platforms and clusters targeting different communities
3+
The Alps Research Infrastructure hosts multiple platforms and clusters targeting different communities.
4+
A good spot to get started is with the documentation for the platform that your project is running on.
85

96
<div class="grid cards" markdown>
107

118
- :fontawesome-solid-layer-group: __Platforms__
129

1310
Projects at CSCS are granted access to [clusters][ref-alps-clusters], which are managed by platforms.
14-
Start by finding the platform for the cluster that you want to use.
1511

16-
[:octicons-arrow-right-24: Platforms overview][ref-alps-platforms]
12+
[:octicons-arrow-right-24: HPC Platform (__Daint__, __Eiger__)][ref-platform-hpcp]
13+
14+
[:octicons-arrow-right-24: Machine Learning Platform (__Clariden__, __Bristen__)][ref-platform-mlp]
1715

18-
Go straight to the documentation for the platform that hosts your project:
16+
[:octicons-arrow-right-24: Climate and Weather Platform (__Santis__)][ref-platform-cwp]
1917

20-
[:octicons-arrow-right-24: HPC Platform (Daint, Eiger)][ref-platform-hpcp]
18+
For an overview of the different platforms:
2119

22-
[:octicons-arrow-right-24: Machine Learning Platform (Clariden)][ref-platform-mlp]
20+
[:octicons-arrow-right-24: Platforms overview][ref-alps-platforms]
2321

24-
[:octicons-arrow-right-24: Climate and Weather Platform (Santis)][ref-platform-cwp]
22+
</div>
23+
24+
Alps is a general-purpose compute and data Research Infrastructure (RI) open to the broad community of researchers in Switzerland and the rest of the world.
25+
Find out more about Alps...
26+
27+
<div class="grid cards" markdown>
2528

2629
- :fontawesome-solid-mountain-sun: __Alps__
2730

@@ -37,19 +40,13 @@ The Alps Research infrastructure hosts multiple platforms and clusters targeting
3740

3841
[:octicons-arrow-right-24: Alps Storage](alps/storage.md)
3942

40-
- :fontawesome-solid-layer-group: __Accounts and Projects__
41-
42-
The first step is to get an account and a project
43-
44-
[:octicons-arrow-right-24: Accounts and Projects][ref-account-management]
45-
4643
- :fontawesome-solid-key: __Logging In__
4744

48-
Once you have an account, you can set up multi factor authentication
45+
Once you have an account, you can set up multi factor authentication:
4946

5047
[:octicons-arrow-right-24: Setting up MFA][ref-mfa]
5148

52-
Then access CSCS services
49+
Then access CSCS services:
5350

5451
[:octicons-arrow-right-24: Accessing CSCS Web Services][ref-access-web]
5552

@@ -58,6 +55,20 @@ The Alps Research infrastructure hosts multiple platforms and clusters targeting
5855
[:octicons-arrow-right-24: FirecREST API][ref-firecrest]
5956

6057
</div>
58+
<div class="grid cards" markdown>
59+
60+
- :fontawesome-solid-layer-group: __Accounts and Projects__
61+
62+
If you are a new user, or working on a project for the first time:
63+
64+
[:octicons-arrow-right-24: Accounts and Projects][ref-account-management]
65+
66+
</div>
67+
68+
<div class="grid cards" markdown>
69+
- <p style="text-align:center">Visit <a href="https://status.cscs.ch/">status.cscs.ch</a> for the status of Alps systems, and the latest announcements.</p>
70+
</div>
71+
6172

6273
## Tutorials and Guides
6374

@@ -78,8 +89,6 @@ Learn by doing with our guides and tutorials.
7889

7990
[:octicons-arrow-right-24: Accessing internet and external services][ref-guides-internet-access]
8091

81-
[:octicons-arrow-right-24: Using and configuring the terminal][ref-guides-terminal]
82-
8392
</div>
8493

8594
## Tools and Services

docs/patchref

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# to replace all instances of ref-index-page with ref-index
2+
# patchref ref-index-page ref-index
3+
4+
value=$1
5+
patch=$2
6+
echo "replacing $value in"
7+
for f in $(rg "$value" -l)
8+
do
9+
echo " $f"
10+
done
11+
for f in $(rg "$value" -l)
12+
do
13+
sed -i '' "s|$value|$patch|g" $f
14+
done

0 commit comments

Comments
 (0)