Skip to content

Commit e2112b8

Browse files
committed
wip on README
1 parent b1e09c8 commit e2112b8

1 file changed

Lines changed: 39 additions & 3 deletions

File tree

README.md

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,50 @@ We will again host a [Julia for HPC BoF at SC24](https://github.com/JuliaParalle
2828
## Running Gray Scott reaction diffusion model on NERSC
2929

3030

31-
## Running notebooks with JupyterLab
31+
## Special Considerations for Running on NERSC
32+
33+
NERSC has about 10000 users, therefore the system-wide configurations are
34+
pretty bare-bones. On single-user systems (like your local workstation, laptop,
35+
or even the cloud), we've fallen into the habbit of making the system-wide
36+
configurations our own. Sadly we can't do that on a shared system like NERSC's
37+
Perlmutter supercomputer -- just imagine the pandemonium for thousands of users
38+
customizing YOUR shell.
39+
40+
The solution presented here is to install all necessary Julia packages using
41+
the `install.sh` script. This script also generates `activate.sh` which
42+
activates any customizations to the user shell environment.
43+
44+
## Running Notebooks with JupyterLab
45+
46+
<details>
47+
<summary>
48+
Running the notebooks on Perlmutter
49+
</summary>
3250

3351
### On NERSC
3452

35-
We will post instructions on how to use this repo's Jupyter Kernel at NERSC
53+
Jupyter on HPC is a little different from running it locally or in the cloud.
54+
These instructiosn are based on NERSC's
55+
[official documentation for Jupyter](https://docs.nersc.gov/services/jupyter/)
56+
The key difference is that you need to use the `install.sh` script to put the
57+
Jupyer kernel specs in the location that JupyterHub expects
58+
(`~/.local/share/jupyter/kernels`). The `install.sh` script is fairly involved
59+
because it tries to streamline the process by:
60+
61+
1. Gernerating a single-threaded and a multi-threaded kernel (the multi-threaded
62+
kernel is different form the single-threaded case because sets the
63+
`JULIA_NUM_THREADS` environment variable) from a template
64+
(`nersc/jupyter/template`)
65+
66+
2. Generating a `activate.sh` script which activates any customizations to the
67+
user shell environment
68+
69+
</details>
3670

3771
<details>
38-
<summary>Running the notebooks locally if you don't have access to Perlmutter</summary>
72+
<summary>
73+
Running the notebooks locally if you don't have access to Perlmutter
74+
</summary>
3975

4076
### Locally
4177

0 commit comments

Comments
 (0)