Fix some linting issues (#2046)

This commit is contained in:
Nara
2023-04-14 15:17:21 +02:00
committed by GitHub
parent b81a27c2a2
commit 2de2059feb
29 changed files with 263 additions and 235 deletions

View File

@@ -14,4 +14,4 @@ jobs:
- name: Use markdownlint
uses: actionshub/markdownlint@v3.1.3
with:
filesToIgnoreRegex: "CHANGELOG.md|CONTRIBUTING.md|README.md|packaging_guidelines.md|about.md|quick_start.md|index.md|gpu_os_support.md|magma_install.md|math.md|reference/rocmcc.md|docker.md|hip.md|hip_sdk_install_win.md|all_deploy_options.md|inception_casestudy.md|deep_learning_rocm.md|quick_start_windows.md|tensorflow_install.md|pytorch_install.md|mi250.md|openmp.md|c++_primitives.md|ai_tools.md|computer_vision.md|all.md|compilers.md|management_tools.md|validation_tools.md|installing_linux.md|file_reorg.md|prerequisites.md|quick_start_linux.md|docker_support_matrix.md|gpu_os_support.md|"
filesToIgnoreRegex: CHANGELOG.md

View File

@@ -33,20 +33,23 @@ ROCm documentation adds additional requirements to markdown and rst based files
as follows:
- Level one headers are only used for page titles. There must be only one level
1 header per file for both Markdown and Restructured Text.
1 header per file for both Markdown and Restructured Text.
- Pass [markdownlint](https://github.com/markdownlint/markdownlint) check via
our automated github action on a Pull Request (PR).
our automated github action on a Pull Request (PR).
## Filenames and folder structure
Please use snake case for file names. Our documentation follows pitchfork for
folder structure. All documentation is in /docs except for special files like
the contributing guide in the / folder. All images used in the documentation are
place in the /docs/data folder.
## How do provide feedback for for ROCm documentation?
## How to provide feedback for for ROCm documentation
There are three standard ways to provide feedback for this repository.
### Pull Request
All contributions to ROCm documentation should arrive via the
[GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow)
targetting the develop branch of the repository. If you are unable to contribute
@@ -95,6 +98,7 @@ python3 -mvenv .venv
```
Python versions known to build documentation:
- 3.8
- 3.9
- 3.10
@@ -108,15 +112,15 @@ the PR (`https://github.com/RadeonOpenCompute/ROCm/pull/<pr_number>`) will have
a summary at the bottom. This requires the user be logged in to GitHub.
- There, click `Show all checks` and `Details` of the Read the Docs pipeline. It
will take you to `https://readthedocs.com/projects/advanced-micro-devices-rocm/
builds/<some_build_num>/`
will take you to `https://readthedocs.com/projects/advanced-micro-devices-rocm/
builds/<some_build_num>/`
- The list of commands shown are the exact ones used by CI to produce a render
of the documentation.
of the documentation.
- There, click on the small blue link `View docs` (which is not the same as the
bigger button with the same text). It will take you to the built HTML site with
a URL of the form `https://
advanced-micro-devices-demo--<pr_number>.com.readthedocs.build/projects/alpha/en
/<pr_number>/`.
bigger button with the same text). It will take you to the built HTML site with
a URL of the form `https://
advanced-micro-devices-demo--<pr_number>.com.readthedocs.build/projects/alpha/en
/<pr_number>/`.
### Build the docs using VS Code
@@ -147,12 +151,11 @@ resulting website show up on a locally serving web server.
The settings in order are set for the following reasons:
- Sets the root of the output website for live previews. Must be changed
alongside the `tasks.json` command.
alongside the `tasks.json` command.
- Tells live server to wait with the update to give time for Sphinx to
regenerate site contents and not refresh before all is don. (Empirical value
)
regenerate site contents and not refresh before all is don. (Empirical value)
- Automatic virtual env activation is a nice touch, should you want to build
the site from the integrated terminal.
the site from the integrated terminal.
3. Add the following tasks in `.vscode/tasks.json`
@@ -215,11 +218,11 @@ resulting website show up on a locally serving web server.
```
> (Implementation detail: two problem matchers were needed to be defined,
because VS Code doesn't tolerate some problem information being potentially
absent. While a single regex could match all types of errors, if a capture
group remains empty (the line number doesn't show up in all warning/error
messages) but the `pattern` references said empty capture group, VS Code
discards the message completely.)
> because VS Code doesn't tolerate some problem information being potentially
> absent. While a single regex could match all types of errors, if a capture
> group remains empty (the line number doesn't show up in all warning/error
> messages) but the `pattern` references said empty capture group, VS Code
> discards the message completely.)
4. Configure Python virtual environment (venv)
@@ -241,3 +244,5 @@ resulting website show up on a locally serving web server.
`.vscode/build/html/index.html` and select `Open with Live Server`. The
contents should update on every rebuild without having to refresh the
browser.
<!-- markdownlint-restore -->

View File

@@ -28,6 +28,7 @@ projects that believe markdown is not suitable should contact the documentation
team prior to selecting rst.
### MyST
[Markedly Structured Text (MyST)](https://myst-tools.org/docs/spec) is an extended
flavor of Markdown ([https://commonmark.org/](CommonMark)) influenced by ReStructured
Text (RST) and Sphinx.

View File

@@ -10,8 +10,9 @@ align: center
---
ROCm Compatible Frameworks Flowchart
```
## Frameworks Installation
- [How to Install PyTorch?](pytorch_install/pytorch_install)
- [How to Install Magma?](magma_install/magma_install)
- [How to Install Magma?](tensorflow_install/tensorflow_install)
- [How to Install PyTorch?](pytorch_install/pytorch_install)
- [How to Install Magma?](magma_install/magma_install)
- [How to Install Magma?](tensorflow_install/tensorflow_install)

View File

@@ -26,10 +26,10 @@ For AMDGPU and ROCm installation using the installer script method on Linux
distribution, follow these steps:
1. **Meet prerequisites** Ensure the Prerequisites are met before downloading
and installing the installer using the installer script method.
and installing the installer using the installer script method.
2. **Download and install the installer script** Ensure you download and
install the installer script from the recommended URL.
install the installer script from the recommended URL.
```{tip}
The installer package is updated periodically to resolve known issues and add
@@ -38,7 +38,7 @@ install the installer script from the recommended URL.
```
3. **Use the installer script on Linux distributions** Ensure you execute the
script for installing use cases.
script for installing use cases.
### Download and Install the Installer Script
@@ -351,9 +351,9 @@ The functions of a package manager installation system are:
- Grouping packages based on function
- Extracting package archives
- Ensuring a package is installed with all necessary packages and dependencies
are managed
are managed
- From a remote repository, looking up, downloading, installing, or updating
existing packages
existing packages
- Ensuring the authenticity and integrity of the package
### Installing ROCm on Linux Distributions
@@ -362,27 +362,27 @@ For a fresh ROCm installation using the package manager method on a Linux
distribution, follow the steps below:
1. **Meet prerequisites** Ensure the Prerequisites are met before the ROCm
installation.
installation.
2. **Install kernel headers and development packages** Ensure kernel headers
and development packages are installed on the system.
and development packages are installed on the system.
3. **Select the base URLs for AMDGPU and ROCm stack repository** Ensure the
base URLs for AMDGPU and ROCm stack repositories are selected.
base URLs for AMDGPU and ROCm stack repositories are selected.
4. **Add the AMDGPU stack repository** Ensure the AMDGPU stack repository is
added.
added.
5. **Install the kernel-mode driver and reboot the system** Ensure the
kernel-mode driver is installed and the system is rebooted.
kernel-mode driver is installed and the system is rebooted.
6. **Add ROCm stack repository** Ensure the ROCm stack repository is added.
7. **Install single-version or multiversion ROCm meta-packages** Install the
desired meta-packages.
desired meta-packages.
8. **Verify installation for the applicable distributions** Verify if the
installation is successful.
installation is successful.
```{important}
You cannot install a kernel-mode driver in a Docker container. Refer to the
@@ -428,8 +428,8 @@ To check the `kernel-headers` and `linux-modules-extra` package versions,
follow these steps:
1. For the Ubuntu/Debian environment, execute the following command to verify
the kernel headers and development packages are installed with the respective
versions:
the kernel headers and development packages are installed with the
respective versions:
```shell
sudo dpkg -l | grep linux-headers
@@ -442,7 +442,7 @@ versions:
```
2. Execute the following command to check whether the development packages are
installed:
installed:
```shell
sudo dpkg -l | grep linux-modules-extra
@@ -456,8 +456,8 @@ installed:
```
3. If the supported version installation of Linux headers and development
packages are not installed on the system, execute the following command to
install the packages:
packages are not installed on the system, execute the following command
to install the packages:
```shell
sudo apt install linux-headers-`uname -r` linux-modules-extra-`uname -r`
@@ -492,26 +492,26 @@ install the packages:
To add the AMDGPU stack repository, follow these steps:
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/amdgpu/5.4.3/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/amdgpu/5.4.3/ubuntu jammy main' | sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
:::
::::
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -525,9 +525,9 @@ install the packages:
To add the ROCm repository, use the following steps:
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
for ver in 5.0.2 5.1.4 5.2.5 5.3.3 5.4.3; do
@@ -537,9 +537,9 @@ install the packages:
sudo apt update
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
for ver in 5.0.2 5.1.4 5.2.5 5.3.3 5.4.3; do
@@ -549,8 +549,8 @@ install the packages:
sudo apt update
```
:::
::::
:::
::::
Install packages of your choice in a single-version ROCm install or
in a multi-version ROCm install fashion. For more information on what
@@ -596,7 +596,7 @@ To check the kernel headers and `linux-modules-extra` package versions,
follow these steps:
1. To verify you have the supported version of the installed kernel headers,
type the following on the command line:
type the following on the command line:
```shell
sudo yum list installed kernel-headers
@@ -607,15 +607,15 @@ type the following on the command line:
the same versions as the kernel.
2. The following command lists the development packages on your system. Verify
if the listed development package's version number matches the kernel version
number:
if the listed development package's version number matches the kernel
version number:
```shell
sudo yum list installed kernel-devel
```
3. If the supported version installation of kernel headers and development
packages does not exist on the system, execute the command below to install:
packages does not exist on the system, execute the command below to install:
```shell
sudo yum install kernel-headers-`uname -r` kernel-devel-`uname -r`
@@ -631,9 +631,9 @@ packages does not exist on the system, execute the command below to install:
section.
```
::::{tab-set}
:::{tab-item} RHEL 8.6
:sync: RHEL-8.6
::::{tab-set}
:::{tab-item} RHEL 8.6
:sync: RHEL-8.6
```shell
sudo tee --append /etc/yum.repos.d/amdgpu.repo <<EOF
@@ -648,10 +648,10 @@ packages does not exist on the system, execute the command below to install:
sudo yum clean all
```
:::
:::
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
```shell
sudo tee --append /etc/yum.repos.d/amdgpu.repo <<EOF
@@ -666,10 +666,10 @@ packages does not exist on the system, execute the command below to install:
sudo yum clean all
```
:::
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
```shell
sudo tee --append /etc/yum.repos.d/amdgpu.repo <<EOF
@@ -684,8 +684,8 @@ packages does not exist on the system, execute the command below to install:
sudo yum clean all
```
:::
::::
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -758,8 +758,8 @@ To check the `kernel-headers` and `linux-modules-extra` package versions, follow
these steps:
1. Ensure that the correct version of the latest `kernel-default-devel` and
`kernel-default` packages are installed. The following command lists the
installed kernel-default-devel and kernel-default package:
`kernel-default` packages are installed. The following command lists the
installed kernel-default-devel and kernel-default package:
```shell
sudo zypper info kernel-default-devel or kernel-default
@@ -772,7 +772,7 @@ installed kernel-default-devel and kernel-default package:
```
2. If the required version of packages does not exist on the system, install
with the command below:
with the command below:
```shell
sudo zypper install kernel-default-devel or kernel-default
@@ -862,7 +862,7 @@ but are generally useful. Verification of the install is advised.
### Post-install Actions
1. Instruct the system linker where to find the shared objects (`.so` files) for
ROCm applications.
ROCm applications.
```shell
sudo tee --append /etc/ld.so.conf.d/rocm.conf <<EOF

View File

@@ -23,18 +23,18 @@ To upgrade the system with the desired ROCm release using the package manager
method, follow the steps below:
1. **Update the AMDGPU stack repository** Ensure you have updated the AMDGPU
repository.
repository.
2. **Upgrade the kernel-mode driver and reboot the system** Ensure you have
upgraded the kernel-mode driver and rebooted the system.
upgraded the kernel-mode driver and rebooted the system.
3. **Update the ROCm repository** Ensure you have updated the ROCm repository
with the desired ROCm release.
with the desired ROCm release.
4. **Upgrade the ROCm meta-packages** Upgrade the ROCm meta-packages.
5. **Verify the upgrade for the applicable distributions** Verify if the
upgrade is successful.
upgrade is successful.
To upgrade ROCm on different Linux distributions, refer to the sections below
for specific commands.

View File

@@ -72,10 +72,10 @@ installation.
To make installation selections and install, follow these steps:
1. Scroll the window to AMD Display Driver and select the desired install type.
Refer to the section [AMD Display Driver](#amd-display-driver) for more
information on installation types.
Refer to the section [AMD Display Driver](#amd-display-driver) for more
information on installation types.
2. Once selected, click **Install** located in the lower right corner, and skip
to [Installing Components](#installing-components).
to [Installing Components](#installing-components).
#### Deselect All

View File

@@ -1,6 +1,7 @@
# All Reference Material
## ROCm Software Groups
:::::{grid} 1 1 2 2
:gutter: 1

View File

@@ -50,34 +50,42 @@ Figure 1: Structure of a single GCD in the AMD Instinct MI250 accelerator.
:header-rows: 1
:name: mi250-perf
* - Computation and Data Type
*
- Computation and Data Type
- FLOPS/CLOCK/CU
- Peak TFLOPS
* - Matrix FP64
*
- Matrix FP64
- 256
- 90.5
* - Vector FP64
*
- Vector FP64
- 128
- 45.3
* - Matrix FP32
*
- Matrix FP32
- 256
- 90.5
* - Packed FP32
*
- Packed FP32
- 256
- 90.5
* - Vector FP32
*
- Vector FP32
- 128
- 45.3
* - Matrix FP16
*
- Matrix FP16
- 1024
- 362.1
* - Matrix BF16
*
- Matrix BF16
- 1024
- 362.1
* - Matrix INT8
*
- Matrix INT8
- 1024
- 362.1
```
{numref}`mi250-perf` summarizes the aggregated peak performance of the AMD

View File

@@ -1,4 +1,5 @@
# C++ Primitive Libraries
ROCm template libraries for algorithms are as follows:
:::::{grid} 1 1 3 3

View File

@@ -260,6 +260,7 @@ Address Sanitizer is a memory error detector tool utilized by applications to de
- Initialization order bugs
**Features Supported on AMDGPU Platform (amdgcn-amd-amdhsa):**
- Heap buffer overflow
- Global buffer overflow

View File

@@ -18,6 +18,7 @@ The differences are listed in [the table below](rocm-llvm-vs-alt).
:::
For more details, see:
- AMD GPU usage: [llvm.org/docs/AMDGPUUsage.html](https://llvm.org/docs/AMDGPUUsage.html)
- Releases and source: <https://github.com/RadeonOpenCompute/llvm-project>
@@ -153,7 +154,6 @@ to perform this optimization. Users can choose different levels of
aggressiveness with which this optimization can be applied to the application,
with 1 being the least aggressive and 7 being the most aggressive level.
:::{table} -fstruct-layout Values and Their Effects
| -fstruct-layout value | Structure peeling | Pointer size after selective compression of self-referential pointers in structures, wherever safe | Type of structure fields eligible for compression | Whether compression performed under safety check |
| ----------- | ----------- | ----------- | ----------- | ----------- |

View File

@@ -61,7 +61,6 @@ Use Driver Shipped with ROCm
| AMD Radeon™ VII | Vega |Full | gfx906 | Supported | Unsupported |
| AMD Radeon™ R9 Fury | Fiji |Full | gfx803 | Community | Unsupported |
:::
::::
@@ -104,6 +103,7 @@ below:
- HIP SDK includes the HIP Runtime and a selection of GPU libraries for compute.
Please see [article](link) for details of HIP SDK.
- HIP enables the use of the HIP Runtime only.
:::
::::

View File

@@ -94,11 +94,12 @@ from the new location (/opt/rocm-xxx/include) as shown in the example below.
The depreciation plan for backward compatibility wrapper header files is as
follows
- #pragma message announcing deprecation ROCm v5.2 release.
- #pragma message changed to #warning Future release, tentatively ROCm v5.5.
- #warning changed to #error Future release, tentatively ROCm v5.6.
- `#pragma` message announcing deprecation ROCm v5.2 release.
- `#pragma` message changed to `#warning` Future release, tentatively ROCm
v5.5.
- `#warning` changed to `#error` Future release, tentatively ROCm v5.6.
- Backward compatibility wrappers removed Future release, tentatively ROCm
v6.0.
v6.0.
### Executable files
@@ -145,19 +146,19 @@ will be deprecated in a future release. Application have to make sure to include
correct header file and use correct search paths.
1. `#include<header_file.h>` needs to be changed to
`#include <component/header_file.h>`
`#include <component/header_file.h>`
For eg: `#include <hip.h>` needs to change
to `#include <hip/hip.h>`
For eg: `#include <hip.h>` needs to change
to `#include <hip/hip.h>`
2. Any variable in cmake or makefiles pointing to component folder needs to
changed.
changed.
For eg: `VAR1=/opt/rocm/hip` needs to be changed to `VAR1=/opt/rocm`
`VAR2=/opt/rocm/hsa` needs to be changed to `VAR2=/opt/rocm`
For eg: `VAR1=/opt/rocm/hip` needs to be changed to `VAR1=/opt/rocm`
`VAR2=/opt/rocm/hsa` needs to be changed to `VAR2=/opt/rocm`
3. Any reference to `/opt/rocm/<component>/bin` or `/opt/rocm/<component>/lib`
needs to be changed to `/opt/rocm/bin` and `/opt/rocm/lib/` respectively.
needs to be changed to `/opt/rocm/bin` and `/opt/rocm/lib/` respectively.
## References

View File

@@ -26,11 +26,11 @@ It is customary for Linux installers to integrate into the system's package
manager. There are two notable groups of package sources:
- AMD-hosted repositories maintained by AMD available to register on supported
Linux distribution versions. For a complete list of AMD-supported platforms,
refer to the article: [GPU and OS Support](../release/gpu_os_support).
Linux distribution versions. For a complete list of AMD-supported platforms,
refer to the article: [GPU and OS Support](../release/gpu_os_support).
- Distribution-hosted repositories maintained by the developer of said Linux
distribution. These require little to no setup from the user, but aren't tested
by AMD. For support on these installations, contact the relevant maintainers.
distribution. These require little to no setup from the user, but aren't tested
by AMD. For support on these installations, contact the relevant maintainers.
AMD also provides installer scripts for those that wish to drive installations
in a more manual fashion.
@@ -71,12 +71,12 @@ The `amdgpu-install` script streamlines the installation process by:
- Abstracting the distribution-specific package installation logic
- Performing the repository setup
- Allowing you to specify the use case and automating the installation of all
the required packages
the required packages
- Installing multiple ROCm releases simultaneously on a system
- Automating updating local repository information through enhanced
functionality of the amdgpu-install script
functionality of the amdgpu-install script
- Performing post-install checks to verify whether the installation was
completed successfully
completed successfully
- Upgrading the installed ROCm release
- Uninstalling the installed single-version or multiversion ROCm releases
@@ -125,8 +125,8 @@ The single-version ROCm installation refers to the following:
The multiversion installation refers to the following:
- Installation of multiple instances of the ROCm stack on a system. Extending
the package name and its dependencies with the release version adds the ability
to support multiple versions of packages simultaneously.
the package name and its dependencies with the release version adds the
ability to support multiple versions of packages simultaneously.
- Use of versioned ROCm meta-packages.
```{note}

View File

@@ -60,9 +60,9 @@ of required packages and libraries.
**Example:**
- rocm-hip-runtime is used to deploy on supported machines to execute HIP
applications.
applications.
- rocm-hip-sdk contains runtime components to deploy and execute HIP
applications.
applications.
```{figure-md} meta-packages

View File

@@ -18,14 +18,14 @@ kernel version.
Verify the Linux distribution using the following steps:
1. To obtain the Linux distribution information, type the following command on
your system from the Command Line Interface (CLI):
your system from the Command Line Interface (CLI):
```shell
uname -m && cat /etc/*release
```
2. Confirm that the obtained Linux distribution information matches with those
with [System Requirements](/release/gpu_os_support#os-support).
with [System Requirements](/release/gpu_os_support#os-support).
**Example:** Running the command above on an Ubuntu system results in the
following output:
@@ -51,7 +51,7 @@ Verify the kernel version using the following steps:
```
2. Confirm that the obtained kernel version information matches with System
Requirements.
Requirements.
**Example:** The output of the command above lists the kernel version in the
following format:
@@ -97,7 +97,7 @@ To verify that your system has a ROCm-capable GPU, use these steps:
```
2. Verify from the output that the listed product names match with the Product
Id given in the table above.
Id given in the table above.
## Confirm the System Has All the Required Tools and Packages Installed
@@ -125,7 +125,7 @@ GPU resources.
```
3. Use of the video group is recommended for all ROCm-supported operating
systems.
systems.
```{note}
render group is required only for Ubuntu v20.04.

View File

@@ -2,7 +2,16 @@ all
# Extend line length
rule 'MD013', :line_length => 99999
# Use "1. 2. 3."-style numbered lists instead of "1. 1. 1."
rule 'MD029', :style => :ordered
# Allow in-line HTML
exclude_rule 'MD033'
exclude_rule 'MD041'
# False positives, see: https://github.com/markdownlint/markdownlint/issues/374
exclude_rule 'MD005'
# False positives, see: https://github.com/markdownlint/markdownlint/issues/313
exclude_rule 'MD007'