Skip to content

Commit 212ead1

Browse files
docs: fix broken links (#3911)
Fixes 4 genuinely dead links (renamed/moved targets) and adds 2 lycheeignore entries for pytorch.org/cppdocs and NNCF autoapi links that 404 for the CI bot but resolve fine for real clients.
1 parent d445c1f commit 212ead1

7 files changed

Lines changed: 113 additions & 4 deletions

‎.lycheeignore‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,13 @@ https://www.uber.com/blog/deep-neuroevolution/
2222
# Ignore localhost links Serving tutorial
2323
http://localhost:8000
2424
http://127.0.0.1:8000
25+
26+
# pytorch.org/cppdocs pages return 404 to the lychee-action CI runner (likely
27+
# bot/rate-limit blocking on pytorch.org's CDN) but resolve fine (HTTP 200)
28+
# for a normal client. Verified manually before adding here — see issue #3911.
29+
https://pytorch\.org/cppdocs/.*
30+
31+
# NNCF autoapi anchors flagged in issue #3911: the base page and both anchors
32+
# (nncf.experimental.torch.fx.OpenVINOQuantizer, .quantize_pt2e) exist and
33+
# render correctly; likely blocked/rate-limited for the CI runner same as above.
34+
https://openvinotoolkit\.github\.io/nncf/autoapi/nncf/experimental/torch/fx/index\.html.*

‎fix-3911-broken-links.patch‎

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
diff --git a/.lycheeignore b/.lycheeignore
2+
index 3c81b5b..aaae477 100644
3+
--- a/.lycheeignore
4+
+++ b/.lycheeignore
5+
@@ -22,3 +22,13 @@ https://www.uber.com/blog/deep-neuroevolution/
6+
# Ignore localhost links Serving tutorial
7+
http://localhost:8000
8+
http://127.0.0.1:8000
9+
+
10+
+# pytorch.org/cppdocs pages return 404 to the lychee-action CI runner (likely
11+
+# bot/rate-limit blocking on pytorch.org's CDN) but resolve fine (HTTP 200)
12+
+# for a normal client. Verified manually before adding here — see issue #3911.
13+
+https://pytorch\.org/cppdocs/.*
14+
+
15+
+# NNCF autoapi anchors flagged in issue #3911: the base page and both anchors
16+
+# (nncf.experimental.torch.fx.OpenVINOQuantizer, .quantize_pt2e) exist and
17+
+# render correctly; likely blocked/rate-limited for the CI runner same as above.
18+
+https://openvinotoolkit\.github\.io/nncf/autoapi/nncf/experimental/torch/fx/index\.html.*
19+
diff --git a/intermediate_source/dist_tuto.rst b/intermediate_source/dist_tuto.rst
20+
index cebc986..0bcd9da 100644
21+
--- a/intermediate_source/dist_tuto.rst
22+
+++ b/intermediate_source/dist_tuto.rst
23+
@@ -37,7 +37,7 @@ In order to get started we need the ability to run multiple processes
24+
simultaneously. If you have access to compute cluster you should check
25+
with your local sysadmin or use your favorite coordination tool (e.g.,
26+
`pdsh <https://linux.die.net/man/1/pdsh>`__,
27+
-`clustershell <https://cea-hpc.github.io/clustershell/>`__, or
28+
+`clustershell <https://clustershell.readthedocs.io/>`__, or
29+
`slurm <https://slurm.schedmd.com/>`__). For the purpose of this
30+
tutorial, we will use a single machine and spawn multiple processes using
31+
the following template.
32+
diff --git a/intermediate_source/monarch_distributed_tutorial.rst b/intermediate_source/monarch_distributed_tutorial.rst
33+
index c6bdf66..8542b7f 100644
34+
--- a/intermediate_source/monarch_distributed_tutorial.rst
35+
+++ b/intermediate_source/monarch_distributed_tutorial.rst
36+
@@ -40,7 +40,7 @@ Prerequisites
37+
We rely on a nightly build of Titan for this tutorial, so please ensure that other Torch libraries are tracking nightly builds:
38+
39+
1. **Monarch nightly installed:**
40+
- `Install script <https://github.com/meta-pytorch/monarch/blob/main/scripts/install_nightly.py>`_
41+
+ `Install instructions <https://meta-pytorch.org/monarch/installation.html>`_
42+
2. **TorchTitan nightly installed:**
43+
`TorchTitan install instructions <https://github.com/pytorch/torchtitan?tab=readme-ov-file#nightly-builds>`_
44+
3. **A valid Titan model config** and **tokenizer** in your working directory
45+
diff --git a/intermediate_source/rpc_param_server_tutorial.rst b/intermediate_source/rpc_param_server_tutorial.rst
46+
index 3243316..8fd1588 100644
47+
--- a/intermediate_source/rpc_param_server_tutorial.rst
48+
+++ b/intermediate_source/rpc_param_server_tutorial.rst
49+
@@ -12,7 +12,7 @@ Prerequisites:
50+
- `PyTorch Distributed Overview <../beginner/dist_overview.html>`__
51+
- `RPC API documents <https://pytorch.org/docs/master/rpc.html>`__
52+
53+
-This tutorial walks through a simple example of implementing a parameter server using PyTorch's `Distributed RPC framework <https://pytorch.org/docs/stable/rpc.html>`_. The parameter server framework is a paradigm in which a set of servers store parameters, such as large embedding tables, and several trainers query the parameter servers in order to retrieve the most up to date parameters. These trainers can run a training loop locally and occasionally synchronize with the parameter server to get the latest parameters. For more reading on the parameter server approach, check out `this paper <https://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf>`_.
54+
+This tutorial walks through a simple example of implementing a parameter server using PyTorch's `Distributed RPC framework <https://pytorch.org/docs/stable/rpc.html>`_. The parameter server framework is a paradigm in which a set of servers store parameters, such as large embedding tables, and several trainers query the parameter servers in order to retrieve the most up to date parameters. These trainers can run a training loop locally and occasionally synchronize with the parameter server to get the latest parameters. For more reading on the parameter server approach, check out `this paper <https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-li_mu.pdf>`_.
55+
56+
Using the Distributed RPC Framework, we'll build an example where multiple trainers use RPC to communicate with the same parameter server and use `RRef <https://pytorch.org/docs/stable/rpc.html#torch.distributed.rpc.RRef>`_ to access states on the remote parameter server instance. Each trainer will launch its dedicated backward pass in a distributed fashion through stitching of the autograd graph across multiple nodes using distributed autograd.
57+
58+
diff --git a/intermediate_source/rpc_tutorial.rst b/intermediate_source/rpc_tutorial.rst
59+
index 791ecf8..93a2259 100644
60+
--- a/intermediate_source/rpc_tutorial.rst
61+
+++ b/intermediate_source/rpc_tutorial.rst
62+
@@ -33,7 +33,7 @@ paradigms. For example:
63+
data between observers and the trainer.
64+
2) Your model might be too large to fit in GPUs on a single machine, and hence
65+
would need a library to help split the model onto multiple machines. Or you
66+
- might be implementing a `parameter server <https://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf>`__
67+
+ might be implementing a `parameter server <https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-li_mu.pdf>`__
68+
training framework, where model parameters and trainers live on different
69+
machines.
70+

‎fix_hidden_nonlinearity.patch‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
--- a/intermediate_source/char_rnn_generation_tutorial.py 2026-08-28 04:35:08.482261349 +0000
2+
+++ b/intermediate_source/char_rnn_generation_tutorial.py 2026-08-28 04:35:05.382874896 +0000
3+
@@ -139,7 +139,10 @@
4+
# letter.
5+
#
6+
# I added a second linear layer ``o2o`` (after combining hidden and
7+
-# output) to give it more muscle to work with. There's also a dropout
8+
+# output) to give it more muscle to work with. The hidden state is also
9+
+# passed through a ``tanh`` non-linearity before being carried to the
10+
+# next time step, since otherwise it would just be a linear combination
11+
+# of the previous hidden state and the current input. There's also a dropout
12+
# layer, which `randomly zeros parts of its
13+
# input <https://arxiv.org/abs/1207.0580>`__ with a given probability
14+
# (here 0.1) and is usually used to fuzz inputs to prevent overfitting.
15+
@@ -162,12 +165,13 @@
16+
self.i2h = nn.Linear(n_categories + input_size + hidden_size, hidden_size)
17+
self.i2o = nn.Linear(n_categories + input_size + hidden_size, output_size)
18+
self.o2o = nn.Linear(hidden_size + output_size, output_size)
19+
+ self.tanh = nn.Tanh()
20+
self.dropout = nn.Dropout(0.1)
21+
self.softmax = nn.LogSoftmax(dim=1)
22+
23+
def forward(self, category, input, hidden):
24+
input_combined = torch.cat((category, input, hidden), 1)
25+
- hidden = self.i2h(input_combined)
26+
+ hidden = self.tanh(self.i2h(input_combined))
27+
output = self.i2o(input_combined)
28+
output_combined = torch.cat((hidden, output), 1)
29+
output = self.o2o(output_combined)

‎intermediate_source/dist_tuto.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ In order to get started we need the ability to run multiple processes
3737
simultaneously. If you have access to compute cluster you should check
3838
with your local sysadmin or use your favorite coordination tool (e.g.,
3939
`pdsh <https://linux.die.net/man/1/pdsh>`__,
40-
`clustershell <https://cea-hpc.github.io/clustershell/>`__, or
40+
`clustershell <https://clustershell.readthedocs.io/>`__, or
4141
`slurm <https://slurm.schedmd.com/>`__). For the purpose of this
4242
tutorial, we will use a single machine and spawn multiple processes using
4343
the following template.

‎intermediate_source/monarch_distributed_tutorial.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Prerequisites
4040
We rely on a nightly build of Titan for this tutorial, so please ensure that other Torch libraries are tracking nightly builds:
4141

4242
1. **Monarch nightly installed:**
43-
`Install script <https://github.com/meta-pytorch/monarch/blob/main/scripts/install_nightly.py>`_
43+
`Install instructions <https://meta-pytorch.org/monarch/installation.html>`_
4444
2. **TorchTitan nightly installed:**
4545
`TorchTitan install instructions <https://github.com/pytorch/torchtitan?tab=readme-ov-file#nightly-builds>`_
4646
3. **A valid Titan model config** and **tokenizer** in your working directory

‎intermediate_source/rpc_param_server_tutorial.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Prerequisites:
1212
- `PyTorch Distributed Overview <../beginner/dist_overview.html>`__
1313
- `RPC API documents <https://pytorch.org/docs/master/rpc.html>`__
1414

15-
This tutorial walks through a simple example of implementing a parameter server using PyTorch's `Distributed RPC framework <https://pytorch.org/docs/stable/rpc.html>`_. The parameter server framework is a paradigm in which a set of servers store parameters, such as large embedding tables, and several trainers query the parameter servers in order to retrieve the most up to date parameters. These trainers can run a training loop locally and occasionally synchronize with the parameter server to get the latest parameters. For more reading on the parameter server approach, check out `this paper <https://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf>`_.
15+
This tutorial walks through a simple example of implementing a parameter server using PyTorch's `Distributed RPC framework <https://pytorch.org/docs/stable/rpc.html>`_. The parameter server framework is a paradigm in which a set of servers store parameters, such as large embedding tables, and several trainers query the parameter servers in order to retrieve the most up to date parameters. These trainers can run a training loop locally and occasionally synchronize with the parameter server to get the latest parameters. For more reading on the parameter server approach, check out `this paper <https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-li_mu.pdf>`_.
1616

1717
Using the Distributed RPC Framework, we'll build an example where multiple trainers use RPC to communicate with the same parameter server and use `RRef <https://pytorch.org/docs/stable/rpc.html#torch.distributed.rpc.RRef>`_ to access states on the remote parameter server instance. Each trainer will launch its dedicated backward pass in a distributed fashion through stitching of the autograd graph across multiple nodes using distributed autograd.
1818

‎intermediate_source/rpc_tutorial.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ paradigms. For example:
3333
data between observers and the trainer.
3434
2) Your model might be too large to fit in GPUs on a single machine, and hence
3535
would need a library to help split the model onto multiple machines. Or you
36-
might be implementing a `parameter server <https://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf>`__
36+
might be implementing a `parameter server <https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-li_mu.pdf>`__
3737
training framework, where model parameters and trainers live on different
3838
machines.
3939

0 commit comments

Comments
 (0)