Skip to content

Commit 3c70c37

Browse files
authored
Repoint dead TOSA links from mlplatform.org to their current homes (pytorch#22046)
### Summary The website `www.mlplatform.org` is gone. Its DNS records were removed: the `mlplatform.org` zone is still published and `git.mlplatform.org` still resolves, but neither `www.mlplatform.org` nor the bare `mlplatform.org` has an address record any more, so nothing can connect to the website. This repository links to three pages on that website from 13 places in 11 files, all in the Arm backend and its documentation. The URL linter (`scripts/lint_urls.sh`) reports all 13 as hard failures. Two things break as a result: 1. The nightly whole-tree link check is red every night. 2. `link-check / lint-urls` is a required check, and on a pull request it only extracts URLs from the lines that pull request adds. So any pull request that adds or rewrites one of these 13 link lines cannot merge, even when its actual purpose has nothing to do with links. Editing an unrelated line in the same file is not affected. ### Where the content went It did not disappear, it moved. The last published copies of those three pages say where: * The TOSA software page was an index of repositories on Arm's GitLab. Its "TOSA Serialization Library" entry pointed at `https://gitlab.arm.com/tosa/tosa-serialization`. That repository is itself deprecated now. Its README says it is no longer maintained and names `https://gitlab.arm.com/tosa/tosa-tools` as the new location, and its text still refers readers to the dead site. So these 8 links go to TOSA Tools instead. Arm folded three repositories into TOSA Tools, and serialization is one of them, so the reference is the same one at its current address. `tosa-reference-model` and `tosa-mlir-translator` carry the same deprecation notice. * The TOSA overview and specification pages both name `https://github.com/arm/tosa-specification` as the home of the specification. That repository is public and actively updated. So the links are repointed rather than suppressed: | old (dead) | uses | new | | --- | --- | --- | | `/tosa/software.html` | 8 | `https://gitlab.arm.com/tosa/tosa-tools` | | `/tosa/` and `/tosa/tosa_spec.html` | 3 | `https://github.com/arm/tosa-specification` | | `/tosa/tosa_spec.html#_precision_scaling` | 1 | `.../blob/main/chapters/introduction.adoc#precision-scaling` | | `/tosa/tosa_spec.html#_table` | 1 | `.../blob/main/chapters/ewise_binary.adoc#table` | TOSA Tools is also what this repository already builds against: `.ci/scripts/unittest-linux-cmake.sh` clones `tosa-tools`, and the Arm backend pins the `tosa-tools` package. The last two rows keep their deep link. The old site served a rendered HTML build of the specification, which no longer exists anywhere, but GitHub renders the AsciiDoc sources and generates heading anchors from the section titles, so those two fragments still land on the right sections. The pages under `docs/source/backends/arm-ethos-u` and `docs/source/backends/arm-vgf` are generated from the templates in `backends/arm/scripts/docgen`, so both the template and the generated page are updated. Otherwise the next docgen run would undo this. ### Test plan Ran the linter's whole-tree URL extractor against the tree before and after this change. Both runs find 2011 URLs, and the difference is exactly the 13 expected one for one replacements. No `www.mlplatform.org` reference remains, and no other URL is added, removed, or altered. Checked each of the four new URLs the way the linter checks them, a HEAD request followed by a ranged GET, following redirects. All four answer 200. For `gitlab.arm.com` a 200 does not on its own prove the page exists: that host answers 200 with a sign-in page for any path, including one made up as a control for this check. The GitLab target was therefore confirmed a second way, by fetching its README through the raw file endpoint, which does return 404 for a path that does not exist. `tosa-tools` returns its README, describing the serialization component. The same fetch against `tosa-serialization` is what returned the deprecation notice quoted above. Confirmed that the two section fragments match anchors GitHub actually generates for those two files. ### Note for reviewers All 11 files belong to the Arm backend, so please sanity check the choice of replacement targets. One related link is left alone. `backends/arm/tosa/schemas/README.md` records that the FlatBuffer schema files originate from `https://git.mlplatform.org/tosa/reference_model.git/`. That host still resolves, so it is not failing CI, and it should stay as it is even if that host later goes away. It is a licence provenance statement about where the vendored files came from, not a pointer for a reader to follow, so repointing it at the reference model's current home in `https://gitlab.arm.com/tosa/tosa-tools` would state an origin that never happened. If it ever does start failing the linter, the right edit is to keep the original origin and note the current home beside it.
1 parent ddfd169 commit 3c70c37

11 files changed

Lines changed: 13 additions & 13 deletions

File tree

‎backends/arm/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ In addition, the following deployment paths are supported by this backend:
2121
- Full testing is available in tree using Corstone™ Fixed Virtual Platforms (FVP).
2222
- Linux target support for VGF capable targets, using the executor_runner.
2323

24-
More information on TOSA can be found here: https://www.mlplatform.org/tosa/tosa_spec.html.
24+
More information on TOSA can be found here: https://github.com/arm/tosa-specification.
2525

2626
## Public API Boundary
2727

‎backends/arm/_passes/insert_table_ops.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ def generate_16_bit_table_values(
197197
) -> tuple[torch.Tensor, int]:
198198
"""Compute LUT values for a INT16 TOSA.TABLE with 32 bit output.
199199
In practice the output is 23 bits that should be interpreted as 16 'whole' bits and 7 fractional bits, see
200-
the specification: https://www.mlplatform.org/tosa/tosa_spec.html#_table. This means that the output
200+
the specification: https://github.com/arm/tosa-specification/blob/main/chapters/ewise_binary.adoc#table. This means that the output
201201
will interpreted as 2**7=128 times too large unless accounted for by rescaling down the table output.
202202
203203
Quantization can be either int16 or int32 which means that the op output could be larger than the 23 bits from

‎backends/arm/operators/op_tosa_rescale.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def _compute_multiplier_and_shift(
3131
precision. The RESCALE operator is defined using an integer multiply, add,
3232
and shift. This utility function is for calculating the multiplier and shift
3333
given a scale.
34-
Ref: https://www.mlplatform.org/tosa/tosa_spec.html#_precision_scaling
34+
Ref: https://github.com/arm/tosa-specification/blob/main/chapters/introduction.adoc#precision-scaling
3535
3636
Args:
3737
scales (list[float]): Scale factors to decompose into multiplier and

‎backends/arm/scripts/docgen/ethos-u/backends-arm-ethos-u-overview.md.in‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The Arm® Ethos™-U backend targets Edge/IoT-type AI use-cases by enabling optimal execution of quantized models on
44
[Arm® Ethos™-U55 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55), [Arm® Ethos™-U65 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u65), and
5-
[Arm® Ethos™-U85 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u85), leveraging [TOSA](https://www.mlplatform.org/tosa/) and the
5+
[Arm® Ethos™-U85 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u85), leveraging [TOSA](https://github.com/arm/tosa-specification) and the
66
[ethos-u-vela](https://pypi.org/project/ethos-u-vela/) graph compiler. This document is a technical reference for using the Ethos-U backend, for a top level view with code examples
77
please refer to the [Arm Ethos-U Backend Tutorial](tutorials/ethos-u-getting-started.md). <!-- @lint-ignore -->
88

@@ -24,7 +24,7 @@ All requirements can be downloaded using `examples/arm/setup.sh --i-agree-to-the
2424
```
2525

2626
For the AOT flow, compilation of a model to `.pte` format using the Ethos-U backend, the requirements are:
27-
- [TOSA Serialization Library](https://www.mlplatform.org/tosa/software.html) for serializing the Exir IR graph into TOSA IR.
27+
- [TOSA Serialization Library](https://gitlab.arm.com/tosa/tosa-tools) for serializing the Exir IR graph into TOSA IR.
2828
- [Ethos-U Vela graph compiler](https://pypi.org/project/ethos-u-vela/) for compiling TOSA flatbuffers into an Ethos-U command stream.
2929

3030
And for building and running the example application available in `examples/arm/executor_runner/` through the standalone CMake entry point:

‎backends/arm/scripts/docgen/ethos-u/ethos-u-getting-started-tutorial.md.in‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ To install Ethos-U dependencies, run
4343
./examples/arm/setup.sh --i-agree-to-the-contained-eula
4444
```
4545
This will install:
46-
- [TOSA Serialization Library](https://www.mlplatform.org/tosa/software.html) for serializing the Exir IR graph into TOSA IR.
46+
- [TOSA Serialization Library](https://gitlab.arm.com/tosa/tosa-tools) for serializing the Exir IR graph into TOSA IR.
4747
- [Ethos-U Vela graph compiler](https://pypi.org/project/ethos-u-vela/) for compiling TOSA flatbuffers into a Ethos-U command stream.
4848
- [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) for cross compilation.
4949
- [Corstone SSE-300 FVP](https://developer.arm.com/documentation/100966/1128/Arm--Corstone-SSE-300-FVP) for testing on Ethos-U55 reference design.

‎backends/arm/scripts/docgen/vgf/backends-arm-vgf-overview.md.in‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ All requirements can be downloaded using `examples/arm/setup.sh --enable-mlsdk-d
2121
```
2222

2323
For the AOT flow, compilation of a model to `.pte` format using the VGF backend, the requirements are:
24-
- [TOSA Serialization Library](https://www.mlplatform.org/tosa/software.html) for serializing the Exir IR graph into TOSA IR.
24+
- [TOSA Serialization Library](https://gitlab.arm.com/tosa/tosa-tools) for serializing the Exir IR graph into TOSA IR.
2525
- [ML SDK Model Converter](https://github.com/arm/ai-ml-sdk-model-converter) for converting TOSA flatbuffers to VGF files.
2626

2727
And for building and running your application using the generic executor_runner:

‎backends/arm/scripts/docgen/vgf/vgf-getting-started-tutorial.md.in‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ In addition to this, you need to install a number of SDK dependencies for genera
4848
./examples/arm/setup.sh --i-agree-to-the-contained-eula --disable-ethos-u-deps --enable-mlsdk-deps
4949
```
5050
This will install:
51-
- [TOSA Serialization Library](https://www.mlplatform.org/tosa/software.html) for serializing the Exir IR graph into TOSA IR.
51+
- [TOSA Serialization Library](https://gitlab.arm.com/tosa/tosa-tools) for serializing the Exir IR graph into TOSA IR.
5252
- [ML SDK Model Converter](https://github.com/arm/ai-ml-sdk-model-converter) for converting TOSA flatbuffers to VGF files.
5353
- [Vulkan API](https://www.vulkan.org) should be set up locally for GPU execution support.
5454
- [ML Emulation Layer for Vulkan](https://github.com/arm/ai-ml-emulation-layer-for-vulkan) for testing on Vulkan API.

‎docs/source/backends/arm-ethos-u/arm-ethos-u-overview.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The Arm&reg; Ethos&trade;-U backend targets Edge/IoT-type AI use-cases by enabling optimal execution of quantized models on
44
[Arm&reg; Ethos&trade;-U55 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55), [Arm&reg; Ethos&trade;-U65 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u65), and
5-
[Arm&reg; Ethos&trade;-U85 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u85), leveraging [TOSA](https://www.mlplatform.org/tosa/) and the
5+
[Arm&reg; Ethos&trade;-U85 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u85), leveraging [TOSA](https://github.com/arm/tosa-specification) and the
66
[ethos-u-vela](https://pypi.org/project/ethos-u-vela/) graph compiler. This document is a technical reference for using the Ethos-U backend, for a top level view with code examples
77
please refer to the [Arm Ethos-U Backend Tutorial](tutorials/ethos-u-getting-started.md). <!-- @lint-ignore -->
88

@@ -24,7 +24,7 @@ All requirements can be downloaded using `examples/arm/setup.sh --i-agree-to-the
2424
```
2525

2626
For the AOT flow, compilation of a model to `.pte` format using the Ethos-U backend, the requirements are:
27-
- [TOSA Serialization Library](https://www.mlplatform.org/tosa/software.html) for serializing the Exir IR graph into TOSA IR.
27+
- [TOSA Serialization Library](https://gitlab.arm.com/tosa/tosa-tools) for serializing the Exir IR graph into TOSA IR.
2828
- [Ethos-U Vela graph compiler](https://pypi.org/project/ethos-u-vela/) for compiling TOSA flatbuffers into an Ethos-U command stream.
2929

3030
And for building and running the example application available in `examples/arm/executor_runner/` through the standalone CMake entry point:

‎docs/source/backends/arm-ethos-u/tutorials/ethos-u-getting-started.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ To install Ethos-U dependencies, run
4343
./examples/arm/setup.sh --i-agree-to-the-contained-eula
4444
```
4545
This will install:
46-
- [TOSA Serialization Library](https://www.mlplatform.org/tosa/software.html) for serializing the Exir IR graph into TOSA IR.
46+
- [TOSA Serialization Library](https://gitlab.arm.com/tosa/tosa-tools) for serializing the Exir IR graph into TOSA IR.
4747
- [Ethos-U Vela graph compiler](https://pypi.org/project/ethos-u-vela/) for compiling TOSA flatbuffers into a Ethos-U command stream.
4848
- [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) for cross compilation.
4949
- [Corstone SSE-300 FVP](https://developer.arm.com/documentation/100966/1128/Arm--Corstone-SSE-300-FVP) for testing on Ethos-U55 reference design.

‎docs/source/backends/arm-vgf/arm-vgf-overview.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ All requirements can be downloaded using `examples/arm/setup.sh --enable-mlsdk-d
2121
```
2222

2323
For the AOT flow, compilation of a model to `.pte` format using the VGF backend, the requirements are:
24-
- [TOSA Serialization Library](https://www.mlplatform.org/tosa/software.html) for serializing the Exir IR graph into TOSA IR.
24+
- [TOSA Serialization Library](https://gitlab.arm.com/tosa/tosa-tools) for serializing the Exir IR graph into TOSA IR.
2525
- [ML SDK Model Converter](https://github.com/arm/ai-ml-sdk-model-converter) for converting TOSA flatbuffers to VGF files.
2626

2727
And for building and running your application using the generic executor_runner:

0 commit comments

Comments
 (0)