Skip to content

Commit 5a94458

Browse files
committed
org: moving dyad to be separate module, and organizing into supplementary section
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
1 parent 770e1a4 commit 5a94458

File tree

12 files changed

+21
-32
lines changed

12 files changed

+21
-32
lines changed

2024-RADIUSS-AWS/JupyterNotebook/docker/jupyter-launcher.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,13 @@
1313
- title: Dyad Notebook Tutorial
1414
description: This is a tutorial for using Dyad
1515
type: jupyterlab-commands
16-
icon: flux-icon.png
1716
source:
1817
- label: Dyad Tutorial
1918
id: 'filebrowser:open-path'
2019
args:
21-
path: dyad_dlio.ipynb
20+
path: supplementary/dyad/dyad_dlio.ipynb
2221
icon: ./flux-icon.png
23-
catalog: Notebook
22+
catalog: Console
2423

2524
- title: Flux Framework Portal
2625
description: Flux Framework portal for projects, releases, and publication.

2024-RADIUSS-AWS/JupyterNotebook/tutorial/01_flux_tutorial.ipynb

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"\n",
3939
"And if you have some extra time and interest, we have supplementary chapters to teach you about advanced (often experimental, or under development) features:\n",
4040
"\n",
41-
"* [Supplementary Chapter 1: Using DYAD to accelerate distributed Deep Learning (DL) training](./dyad_dlio.ipynb)\n",
41+
"* [Supplementary Chapter 1: Using DYAD to accelerate distributed Deep Learning (DL) training](./supplementary/dyad/dyad_dlio.ipynb)\n",
4242
"\n",
4343
"Let's get started! To provide some brief, added background on Flux and a bit more motivation for our tutorial, \"Shift+Enter\" the cell below to watch our YouTube video!"
4444
]
@@ -173,7 +173,9 @@
173173
"tags": []
174174
},
175175
"source": [
176-
"Did you know you can also get help for a specific command? For example, let's run, e.g. `flux help jobs` to get information on a sub-command:"
176+
"<div class=\"alert alert-block alert-info\">\n",
177+
"<span style=\"font-weight:600\">Tip:</span> Did you know you can also get help for a specific command? For example, run, `flux help jobs` to get information on a sub-command.\n",
178+
"</div>"
177179
]
178180
},
179181
{
@@ -1170,7 +1172,7 @@
11701172
},
11711173
{
11721174
"cell_type": "code",
1173-
"execution_count": 28,
1175+
"execution_count": 1,
11741176
"id": "2735b1ca-e761-46be-b509-a86b771628fc",
11751177
"metadata": {},
11761178
"outputs": [
@@ -1180,26 +1182,14 @@
11801182
"text": [
11811183
"flux-job: task(s) exited with exit code 1\n",
11821184
"flux-job: task(s) exited with exit code 1\n",
1183-
"7db0bdd6f967\n",
1184-
"usage: flux-ion-resource.py [-h] [-v]\n",
1185-
" {match,update,info,stats,stats-cancel,cancel,find,status,set-status,set-property,get-property,ns-info,params}\n",
1186-
" ...\n",
1187-
"flux-ion-resource.py: error: argument {match,update,info,stats,stats-cancel,cancel,find,status,set-status,set-property,get-property,ns-info,params}: invalid choice: 'stat' (choose from 'match', 'update', 'info', 'stats', 'stats-cancel', 'cancel', 'find', 'status', 'set-status', 'set-property', 'get-property', 'ns-info', 'params')\n",
1188-
"awk: line 1: syntax error at or near *\n",
1185+
"awk: line 1: syntax error at or near :\n",
1186+
"e8cfed35f636\n",
11891187
"flux-tree-helper: ERROR: Expecting value: line 1 column 160 (char 159)\n",
1190-
"Jul 05 04:27:34.087814 UTC broker.err[0]: rc2.0: flux tree -N1 -c1 --leaf --prefix=tree.1.1 --njobs=1 -- hostname Exited (rc=1) 0.5s\n",
1191-
"usage: flux-ion-resource.py [-h] [-v]\n",
1192-
" {match,update,info,stats,stats-cancel,cancel,find,status,set-status,set-property,get-property,ns-info,params}\n",
1193-
" ...\n",
1194-
"flux-ion-resource.py: error: argument {match,update,info,stats,stats-cancel,cancel,find,status,set-status,set-property,get-property,ns-info,params}: invalid choice: 'stat' (choose from 'match', 'update', 'info', 'stats', 'stats-cancel', 'cancel', 'find', 'status', 'set-status', 'set-property', 'get-property', 'ns-info', 'params')\n",
1195-
"awk: line 1: syntax error at or near *\n",
1196-
"flux-tree-helper: ERROR: Expecting value: line 1 column 157 (char 156)\n",
1197-
"Jul 05 04:27:35.284158 UTC broker.err[0]: rc2.0: flux tree -N1 -c2 --topology=2 --queue-policy=fcfs --prefix=tree.1 --njobs=2 -- hostname Exited (rc=1) 2.3s\n",
1198-
"usage: flux-ion-resource.py [-h] [-v]\n",
1199-
" {match,update,info,stats,stats-cancel,cancel,find,status,set-status,set-property,get-property,ns-info,params}\n",
1200-
" ...\n",
1201-
"flux-ion-resource.py: error: argument {match,update,info,stats,stats-cancel,cancel,find,status,set-status,set-property,get-property,ns-info,params}: invalid choice: 'stat' (choose from 'match', 'update', 'info', 'stats', 'stats-cancel', 'cancel', 'find', 'status', 'set-status', 'set-property', 'get-property', 'ns-info', 'params')\n",
1202-
"awk: line 1: syntax error at or near *\n",
1188+
"Jul 05 05:20:32.333883 UTC broker.err[0]: rc2.0: flux tree -N1 -c1 --leaf --prefix=tree.1.1 --njobs=1 -- hostname Exited (rc=1) 0.6s\n",
1189+
"awk: line 1: syntax error at or near :\n",
1190+
"flux-tree-helper: ERROR: Expecting value: line 1 column 156 (char 155)\n",
1191+
"Jul 05 05:20:33.523886 UTC broker.err[0]: rc2.0: flux tree -N1 -c2 --topology=2 --queue-policy=fcfs --prefix=tree.1 --njobs=2 -- hostname Exited (rc=1) 2.4s\n",
1192+
"awk: line 1: syntax error at or near :\n",
12031193
"flux-tree-helper: ERROR: Expecting value: line 1 column 155 (char 154)\n",
12041194
"cat: ./tree.out: No such file or directory\n"
12051195
]
@@ -1718,7 +1708,7 @@
17181708
"We recommend not running `flux top` in the notebook as it is not designed to display output from a command that runs continuously.\n",
17191709
"\n",
17201710
"## Flux pstree \n",
1721-
"In analogy to `top`, Flux provides `flux pstree`. Try it out in the JupyterLab terminal or here in the notebook.\n",
1711+
"In analogy to `top`, Flux provides `flux pstree`. Try it out in the <button data-commandLinker-command=\"terminal:open\" data-name=\"flux\" href=\"#\">JupyterLab terminal</button> or here in the notebook.\n",
17221712
"\n",
17231713
"## Flux proxy\n",
17241714
"\n",

2024-RADIUSS-AWS/JupyterNotebook/tutorial/02_flux_framework.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"* PMIx (for OpenMPI)\n",
3333
"* An in-memory content store (useful for preloading data into pods on cloud)\n",
3434
"\n",
35-
"When Flux starts, it launches one or more brokers across the resources it manages. By default, Flux will launch one broker per node, but this can be configured (e.g., with the `--test-size` flag to `flux start` shown in [Module 1](./01_flux_tutorial.ipynb)). After launching the brokers, Flux will designate one broker as the \"leader\" and the rest as \"followers\". The leader serves as entrypoint into the Flux instance, and it serves as the starting point for most Flux commands. The distribution of brokers and the \"leader-follower\" designations are shown in the following figure:\n",
35+
"When Flux starts, it launches one or more brokers across the resources it manages. By default, Flux will launch one broker per node, but this can be configured (e.g., with the `--test-size` flag to `flux start` shown in [Chapter 1](./01_flux_tutorial.ipynb)). After launching the brokers, Flux will designate one broker as the \"leader\" and the rest as \"followers\". The leader serves as entrypoint into the Flux instance, and it serves as the starting point for most Flux commands. The distribution of brokers and the \"leader-follower\" designations are shown in the following figure:\n",
3636
"\n",
3737
"<figure>\n",
3838
"<img src=\"img/flux-instance-pre-tbon.png\">\n",
@@ -155,7 +155,7 @@
155155
"source": [
156156
"### flux kvs\n",
157157
"\n",
158-
"One of the core services built into Flux is the key-value store (KVS). It is used in many other services, including most of Flux's resource management services, the `flux archive` service below, and DYAD (which we will explore in [Module 4](./04_dyad_dlio.ipynb)). These services use the KVS to persistantly store information and retrieve it later (potentially after a restart of Flux).\n",
158+
"One of the core services built into Flux is the key-value store (KVS). It is used in many other services, including most of Flux's resource management services, the `flux archive` service below, and DYAD (which we will explore in [Supplementary Chapter 1](./supplementary/dyad/dyad_dlio.ipynb)). These services use the KVS to persistantly store information and retrieve it later (potentially after a restart of Flux).\n",
159159
"\n",
160160
"The `flux kvs` command provides a utility to list and manipulate values of the KVS. As a example of using `flux kvs`, let's use the command to examine information saved by the `resource` service."
161161
]
@@ -264,7 +264,7 @@
264264
"source": [
265265
"Finally, note that `flux archive` was named `flux filemap` in earlier versions of Flux.\n",
266266
"\n",
267-
"`flux kvs` and `flux archive` are two useful, but simple exammples of Flux services. Flux also supports more complex services, including services for runtime data movement, such as DYAD (covered in [Module 4](./04_dyad_dlio.ipynb))."
267+
"`flux kvs` and `flux archive` are two useful, but simple exammples of Flux services. Flux also supports more complex services, including services for runtime data movement, such as DYAD (covered in [Supplementary Chapter 1](./supplementary/dyad/dyad_dlio.ipynb))."
268268
]
269269
},
270270
{
@@ -278,7 +278,7 @@
278278
"2. How to start and stop services in Flux\n",
279279
"3. Two useful services for users of Flux (i.e., `flux kvs` and `flux archive`)\n",
280280
"\n",
281-
"To finish the tutorial, open [Chapter 3](./03_flux_tutorial.ipynb)."
281+
"To finish the tutorial, open [Chapter 3](./03_flux_tutorial_conclusions.ipynb)."
282282
]
283283
}
284284
],

2024-RADIUSS-AWS/JupyterNotebook/tutorial/03_flux_tutorial_conclusions.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"* Explained how to manage services with Flux\n",
2121
"* Showed examples of Flux services\n",
2222
"\n",
23-
"If you are ready for advanced content, you can do the [DYAD and DLIO tutorial](./dyad_dlio.ipynb) and learn about:\n",
23+
"If you are ready for advanced content, you can do the [DYAD and DLIO tutorial](./supplementary/dyad/dyad_dlio.ipynb) and learn about:\n",
2424
"* Describing the design of DYAD, a Flux service for runtime data movement\n",
2525
"* Introducing distributed Deep Learning (DL) training\n",
2626
"* Introducing Argonne National Laboratory's Deep Learning I/O (DLIO) benchmark\n",

2024-RADIUSS-AWS/JupyterNotebook/tutorial/dyad_dlio.ipynb renamed to 2024-RADIUSS-AWS/JupyterNotebook/tutorial/supplementary/dyad/dyad_dlio.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"tags": []
88
},
99
"source": [
10-
"# Module 3: Using DYAD to accelerate distributed Deep Learning (DL) training\n",
10+
"# Using DYAD to accelerate distributed Deep Learning (DL) training\n",
1111
"\n",
1212
"Now that we have seen how Flux enables the management and deployment of services, let's look at an example of using DYAD, an advanced Flux service for runtime data movement, in a real world application. Specifically, we will show how DYAD speeds up distributed Deep Learning (DL) training. In this module, we cover these topics:\n",
1313
"1. Design of DYAD\n",

0 commit comments

Comments
 (0)