Compare commits
159 Commits
docs/5.3.0
...
rocm-5.7.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
365b31728d | ||
|
|
b6c71018a6 | ||
|
|
54177e8b96 | ||
|
|
74f4f86c92 | ||
|
|
74d8f95afb | ||
|
|
50ad3847e5 | ||
|
|
444efec642 | ||
|
|
7d22b96c5d | ||
|
|
35122729b8 | ||
|
|
c98da4a11a | ||
|
|
14e0fae0fe | ||
|
|
13bea6bf4e | ||
|
|
7a5f2eb508 | ||
|
|
fac4843569 | ||
|
|
80d8eb84ef | ||
|
|
c2a4257103 | ||
|
|
fdc2f51b25 | ||
|
|
23aa1eec20 | ||
|
|
0bcf8c03e1 | ||
|
|
a3b2bc3395 | ||
|
|
5c07070e73 | ||
|
|
c9630d82da | ||
|
|
3974c5c1a1 | ||
|
|
3348de77d1 | ||
|
|
1ae743b22a | ||
|
|
e8c2065d7c | ||
|
|
14402ad410 | ||
|
|
3535c43d4e | ||
|
|
75eed2ee3e | ||
|
|
0c3915923f | ||
|
|
d3049169de | ||
|
|
6c0419fb0d | ||
|
|
996064950d | ||
|
|
77e2424f36 | ||
|
|
62c0afd5ba | ||
|
|
d0953efad0 | ||
|
|
f73d941657 | ||
|
|
ddbe4cd38f | ||
|
|
7e097ce72a | ||
|
|
f3d3929f11 | ||
|
|
084ed7f4cb | ||
|
|
7482a8b261 | ||
|
|
f414c30836 | ||
|
|
bf8f0ccc65 | ||
|
|
ed8251872f | ||
|
|
8c01bfbb6e | ||
|
|
b963f7fa05 | ||
|
|
5b0d7bcebd | ||
|
|
eef2937171 | ||
|
|
52d59937d1 | ||
|
|
ee72fbac97 | ||
|
|
5a33e54265 | ||
|
|
ef248c087c | ||
|
|
017d9717e0 | ||
|
|
445432da13 | ||
|
|
f6c439b56b | ||
|
|
c3e8e15e51 | ||
|
|
20ae555e61 | ||
|
|
fa16caba4a | ||
|
|
7c6dede59d | ||
|
|
4813f1f37d | ||
|
|
261530f5f7 | ||
|
|
d11c566fb2 | ||
|
|
14153b9540 | ||
|
|
43601a0755 | ||
|
|
c3b2062c51 | ||
|
|
cced9a7955 | ||
|
|
df0ee5a0ae | ||
|
|
3bfce9c570 | ||
|
|
45505e4912 | ||
|
|
d9376ebfc7 | ||
|
|
31fcc9aafb | ||
|
|
6fb7b9f3b5 | ||
|
|
bd553f263b | ||
|
|
7f8eede7d1 | ||
|
|
0741268fd5 | ||
|
|
61dd65f29f | ||
|
|
343693ed6f | ||
|
|
3c27919a9c | ||
|
|
ea1f2498f7 | ||
|
|
4ab3787abe | ||
|
|
b4d3dde1a2 | ||
|
|
b60afeeafe | ||
|
|
76af020540 | ||
|
|
ebd44bb372 | ||
|
|
e96f137f44 | ||
|
|
4dd5cf1e59 | ||
|
|
fab4379715 | ||
|
|
d17a27ca84 | ||
|
|
ddb77b9dcf | ||
|
|
52f52b7976 | ||
|
|
a35248bb77 | ||
|
|
9d05c49458 | ||
|
|
419f674456 | ||
|
|
e13e1d31c3 | ||
|
|
253f69b445 | ||
|
|
5f546d44b3 | ||
|
|
a9ae111741 | ||
|
|
eb12f3f851 | ||
|
|
524f009280 | ||
|
|
d23a85c707 | ||
|
|
2786b32eea | ||
|
|
2721042eac | ||
|
|
26935408e0 | ||
|
|
2c828465f2 | ||
|
|
58b137d43e | ||
|
|
372a257eed | ||
|
|
12bc633320 | ||
|
|
a144653405 | ||
|
|
85a4eca655 | ||
|
|
bdb527980a | ||
|
|
8e39a2a147 | ||
|
|
72c128f681 | ||
|
|
284d024045 | ||
|
|
da32369db1 | ||
|
|
e70545bcd9 | ||
|
|
3d88626dd4 | ||
|
|
0cfc1e480a | ||
|
|
c71d83207e | ||
|
|
f9aeee3e15 | ||
|
|
6e50a85a93 | ||
|
|
e8fdc582d8 | ||
|
|
4df2273587 | ||
|
|
cd1ec676f0 | ||
|
|
996f4a8c37 | ||
|
|
5bbe13fb75 | ||
|
|
b899a3697c | ||
|
|
d2884f482a | ||
|
|
f655458f87 | ||
|
|
8781a7706d | ||
|
|
3643e8a6c2 | ||
|
|
dce4d58348 | ||
|
|
02d86aa41b | ||
|
|
9eb46f8230 | ||
|
|
5615c90889 | ||
|
|
73986668bb | ||
|
|
6c179479f1 | ||
|
|
5b726ec96c | ||
|
|
21e433e91f | ||
|
|
e72f0dedde | ||
|
|
8bf7cfdddc | ||
|
|
57e2253828 | ||
|
|
e05ce21fb4 | ||
|
|
233d3632b8 | ||
|
|
bbfb18b5de | ||
|
|
6b1fdeab82 | ||
|
|
66dd6c9467 | ||
|
|
503809b74a | ||
|
|
9bc32154d8 | ||
|
|
c1a8c5b030 | ||
|
|
0da29b73cb | ||
|
|
69580ef397 | ||
|
|
7762a8d874 | ||
|
|
014c904c4c | ||
|
|
e8275e7fd3 | ||
|
|
2ec3e537a4 | ||
|
|
51af0be780 | ||
|
|
5e24832f3b | ||
|
|
6757f9dc56 |
50
.github/workflows/linting.yml
vendored
@@ -5,52 +5,16 @@ on:
|
||||
branches:
|
||||
- develop
|
||||
- main
|
||||
- 'docs/*'
|
||||
- 'roc**'
|
||||
pull_request:
|
||||
branches:
|
||||
- develop
|
||||
- main
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.ref }}-${{ github.workflow }}
|
||||
cancel-in-progress: true
|
||||
- 'docs/*'
|
||||
- 'roc**'
|
||||
|
||||
jobs:
|
||||
lint-rest:
|
||||
name: "RestructuredText"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
- name: Install rst-lint
|
||||
run: pip install restructuredtext-lint
|
||||
- name: Lint ResT files
|
||||
run: rst-lint ${{ join(github.workspace, '/docs') }}
|
||||
|
||||
lint-md:
|
||||
name: "Markdown"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
- name: Use markdownlint-cli2
|
||||
uses: DavidAnson/markdownlint-cli2-action@v10.0.1
|
||||
with:
|
||||
globs: '**/*.md'
|
||||
|
||||
spelling:
|
||||
name: "Spelling"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
- name: Fetch config
|
||||
shell: sh
|
||||
run: |
|
||||
curl --silent --show-error --fail --location https://raw.github.com/RadeonOpenCompute/rocm-docs-core/develop/.spellcheck.yaml -O
|
||||
curl --silent --show-error --fail --location https://raw.github.com/RadeonOpenCompute/rocm-docs-core/develop/.wordlist.txt >> .wordlist.txt
|
||||
- name: Run spellcheck
|
||||
uses: rojopolis/spellcheck-github-actions@0.30.0
|
||||
- name: On fail
|
||||
if: failure()
|
||||
run: |
|
||||
echo "Please check for spelling mistakes or add them to '.wordlist.txt' in either the root of this project or in rocm-docs-core."
|
||||
call-workflow-passing-data:
|
||||
name: Documentation
|
||||
uses: RadeonOpenCompute/rocm-docs-core/.github/workflows/linting.yml@develop
|
||||
|
||||
5
.gitignore
vendored
@@ -16,3 +16,8 @@ _readthedocs/
|
||||
docs/contributing.md
|
||||
docs/release.md
|
||||
docs/CHANGELOG.md
|
||||
|
||||
# auto-generated files
|
||||
docs/deploy/linux/installer/install.md
|
||||
docs/deploy/linux/os-native/install.md
|
||||
docs/deploy/linux/quick_start.md
|
||||
|
||||
@@ -6,9 +6,13 @@ version: 2
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
|
||||
formats: [htmlzip, pdf, epub]
|
||||
formats: [htmlzip, pdf]
|
||||
|
||||
python:
|
||||
version: "3.8"
|
||||
install:
|
||||
- requirements: docs/sphinx/requirements.txt
|
||||
|
||||
build:
|
||||
os: ubuntu-20.04
|
||||
tools:
|
||||
python: "3.8"
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# isv_deployment_win
|
||||
ABI
|
||||
# building
|
||||
matchers
|
||||
# file_reorg
|
||||
FHS
|
||||
incrementing
|
||||
Filesystem
|
||||
filesystem
|
||||
rocm
|
||||
# gpu_aware_mpi
|
||||
DMA
|
||||
GDR
|
||||
@@ -15,15 +21,102 @@ PeerDirect
|
||||
RDMA
|
||||
UCX
|
||||
ib_core
|
||||
# isv_deployment_win
|
||||
ABI
|
||||
# linear algebra
|
||||
LAPACK
|
||||
MMA
|
||||
backends
|
||||
cuSOLVER
|
||||
cuSPARSE
|
||||
# mi200_performance_counters
|
||||
ALU
|
||||
Arb
|
||||
CP
|
||||
CPC
|
||||
CPF
|
||||
CSC
|
||||
CSn
|
||||
DW
|
||||
DWORD
|
||||
GDS
|
||||
GMI
|
||||
GPR
|
||||
GRBM
|
||||
IOP
|
||||
LDS
|
||||
MEM
|
||||
MFMA
|
||||
Noncoherently
|
||||
Qcycles
|
||||
RW
|
||||
Req
|
||||
SALU
|
||||
SCA
|
||||
SENDMSG
|
||||
SGPRs
|
||||
SMEM
|
||||
SPI
|
||||
SQs
|
||||
TCA
|
||||
TCC
|
||||
TCI
|
||||
TCIU
|
||||
TCP
|
||||
TCR
|
||||
TrapStatus
|
||||
UC
|
||||
UTCL
|
||||
Uncached
|
||||
VALU
|
||||
VMEM
|
||||
VSkipped
|
||||
Workgroups
|
||||
Writebacks
|
||||
addr
|
||||
alloc
|
||||
cmd
|
||||
coalescable
|
||||
csn
|
||||
endpgm
|
||||
inflight
|
||||
mtypes
|
||||
perfcounter
|
||||
preq
|
||||
req
|
||||
sL
|
||||
sendmsg
|
||||
tagram
|
||||
tg
|
||||
uncached
|
||||
vL
|
||||
workgroups
|
||||
writeback
|
||||
writebacks
|
||||
wrreq
|
||||
# openmp
|
||||
ICV
|
||||
Multithreaded
|
||||
# tuning_guides
|
||||
BMC
|
||||
DGEMM
|
||||
HPCG
|
||||
HPL
|
||||
IOPM
|
||||
# windows
|
||||
SKU
|
||||
SKUs
|
||||
PowerShell
|
||||
UAC
|
||||
# pytorch_install
|
||||
kdb
|
||||
precompiled
|
||||
# gpu_os_support
|
||||
HWE
|
||||
el
|
||||
# using_gpu_sanitizer
|
||||
LSAN
|
||||
deallocation
|
||||
detections
|
||||
tracebacks
|
||||
workgroup
|
||||
|
||||
1266
CHANGELOG.md
237
CONTRIBUTING.md
@@ -2,7 +2,7 @@
|
||||
|
||||
AMD values and encourages the ROCm community to contribute to our code and
|
||||
documentation. This repository is focused on ROCm documentation and this
|
||||
contribution guide describes the recommend method for creating and modifying our
|
||||
contribution guide describes the recommended method for creating and modifying our
|
||||
documentation.
|
||||
|
||||
While interacting with ROCm Documentation, we encourage you to be polite and
|
||||
@@ -13,59 +13,47 @@ itself, refer to
|
||||
[discussions](https://github.com/RadeonOpenCompute/ROCm/discussions) on the
|
||||
GitHub repository.
|
||||
|
||||
For additional information on documentation functionalities,
|
||||
see the user and developer guides for rocm-docs-core
|
||||
at {doc}`rocm-docs-core documentation <rocm-docs-core:index>`.
|
||||
|
||||
## Supported Formats
|
||||
|
||||
Our documentation includes both markdown and rst files. Markdown is encouraged
|
||||
over rst due to the lower barrier to participation. GitHub flavored markdown is preferred
|
||||
for all submissions as it will render accurately on our GitHub repositories. For existing documentation,
|
||||
[MyST](https://myst-parser.readthedocs.io/en/latest/intro.html) markdown
|
||||
is used to implement certain features unsupported in GitHub markdown. This is
|
||||
Our documentation includes both Markdown and RST files. Markdown is encouraged
|
||||
over RST due to the lower barrier to participation. GitHub-flavored Markdown is preferred
|
||||
for all submissions as it renders accurately on our GitHub repositories. For existing documentation,
|
||||
[MyST](https://myst-parser.readthedocs.io/en/latest/intro.html) Markdown
|
||||
is used to implement certain features unsupported in GitHub Markdown. This is
|
||||
not encouraged for new documentation. AMD will transition
|
||||
to stricter use of GitHub flavored markdown with a few caveats. ROCm documentation
|
||||
also uses [sphinx-design](https://sphinx-design.readthedocs.io/en/latest/index.html)
|
||||
in our markdown and rst files. We also will use breathe syntax for doxygen documentation
|
||||
in our markdown files. Other design elements for effective HTML rendering of the documents
|
||||
may be added to our markdown files. Please see
|
||||
to stricter use of GitHub-flavored Markdown with a few caveats. ROCm documentation
|
||||
also uses [Sphinx Design](https://sphinx-design.readthedocs.io/en/latest/index.html)
|
||||
in our Markdown and RST files. We also use Breathe syntax for Doxygen documentation
|
||||
in our Markdown files. See
|
||||
[GitHub](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github)'s
|
||||
guide on writing and formatting on GitHub as a starting point.
|
||||
|
||||
ROCm documentation adds additional requirements to markdown and rst based files
|
||||
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.
|
||||
- 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).
|
||||
See the {doc}`rocm-docs-core linting user guide <rocm-docs-core:user_guide/linting>` for more details.
|
||||
|
||||
## 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 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
|
||||
via the GitHub Flow, feel free to email us. TODO, confirm email address.
|
||||
|
||||
### GitHub Issue
|
||||
|
||||
Issues on existing or absent docs can be filed as [GitHub issues
|
||||
](https://github.com/RadeonOpenCompute/ROCm/issues).
|
||||
|
||||
### Email Feedback
|
||||
Please use snake case (all lower case letters and underscores instead of spaces)
|
||||
for file names. For example, `example_file_name.md`.
|
||||
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
|
||||
placed in the `/docs/data` folder.
|
||||
|
||||
## Language and Style
|
||||
|
||||
Adopting Microsoft CPP-Docs guidelines for [Voice and Tone
|
||||
](https://github.com/MicrosoftDocs/cpp-docs/blob/main/styleguide/voice-tone.md).
|
||||
Adopt Microsoft CPP-Docs guidelines for
|
||||
[Voice and Tone](https://github.com/MicrosoftDocs/cpp-docs/blob/main/styleguide/voice-tone.md).
|
||||
|
||||
ROCm documentation templates to be made public shortly. ROCm templates dictate
|
||||
the recommended structure and flow of the documentation. Guidelines on how to
|
||||
@@ -73,174 +61,11 @@ integrate figures, equations, and tables are all based off
|
||||
[MyST](https://myst-parser.readthedocs.io/en/latest/intro.html).
|
||||
|
||||
Font size and selection, page layout, white space control, and other formatting
|
||||
details are controlled via rocm-docs-core, sphinx extention. Please raise issues
|
||||
in rocm-docs-core for any formatting concerns and changes requested.
|
||||
details are controlled via [rocm-docs-core](https://github.com/RadeonOpenCompute/rocm-docs-core).
|
||||
Raise issues in `rocm-docs-core` for any formatting concerns and changes requested.
|
||||
|
||||
## Building Documentation
|
||||
## More
|
||||
|
||||
While contributing, one may build the documentation locally on the command-line
|
||||
or rely on Continuous Integration for previewing the resulting HTML pages in a
|
||||
browser.
|
||||
|
||||
### Command line documentation builds
|
||||
|
||||
Python versions known to build documentation:
|
||||
|
||||
- 3.8
|
||||
|
||||
To build the docs locally using Python Virtual Environment (`venv`), execute the
|
||||
following commands from the project root:
|
||||
|
||||
```sh
|
||||
python3 -mvenv .venv
|
||||
# Windows
|
||||
.venv/Scripts/python -m pip install -r docs/sphinx/requirements.txt
|
||||
.venv/Scripts/python -m sphinx -T -E -b html -d _build/doctrees -D language=en docs _build/html
|
||||
# Linux
|
||||
.venv/bin/python -m pip install -r docs/sphinx/requirements.txt
|
||||
.venv/bin/python -m sphinx -T -E -b html -d _build/doctrees -D language=en docs _build/html
|
||||
```
|
||||
|
||||
Then open up `_build/html/index.html` in your favorite browser.
|
||||
|
||||
### Pull Requests documentation builds
|
||||
|
||||
When opening a PR to the `develop` branch on GitHub, the page corresponding to
|
||||
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>/`
|
||||
- The list of commands shown are the exact ones used by CI to produce a render
|
||||
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>/`.
|
||||
|
||||
### Build the docs using VS Code
|
||||
|
||||
One can put together a productive environment to author documentation and also
|
||||
test it locally using VS Code with only a handful of extensions. Even though the
|
||||
extension landscape of VS Code is ever changing, here is one example setup that
|
||||
proved useful at the time of writing. In it, one can change/add content, build a
|
||||
new version of the docs using a single VS Code Task (or hotkey), see all errors/
|
||||
warnings emitted by Sphinx in the Problems pane and immediately see the
|
||||
resulting website show up on a locally serving web server.
|
||||
|
||||
#### Configuring VS Code
|
||||
|
||||
1. Install the following extensions:
|
||||
|
||||
- Python (ms-python.python)
|
||||
- Live Server (ritwickdey.LiveServer)
|
||||
|
||||
2. Add the following entries in `.vscode/settings.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"liveServer.settings.root": "/.vscode/build/html",
|
||||
"liveServer.settings.wait": 1000,
|
||||
"python.terminal.activateEnvInCurrentTerminal": true
|
||||
}
|
||||
```
|
||||
|
||||
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.
|
||||
- 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)
|
||||
- Automatic virtual env activation is a nice touch, should you want to build
|
||||
the site from the integrated terminal.
|
||||
|
||||
3. Add the following tasks in `.vscode/tasks.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "Build Docs",
|
||||
"type": "process",
|
||||
"windows": {
|
||||
"command": "${workspaceFolder}/.venv/Scripts/python.exe"
|
||||
},
|
||||
"command": "${workspaceFolder}/.venv/bin/python3",
|
||||
"args": [
|
||||
"-m",
|
||||
"sphinx",
|
||||
"-j",
|
||||
"auto",
|
||||
"-T",
|
||||
"-b",
|
||||
"html",
|
||||
"-d",
|
||||
"${workspaceFolder}/.vscode/build/doctrees",
|
||||
"-D",
|
||||
"language=en",
|
||||
"${workspaceFolder}/docs",
|
||||
"${workspaceFolder}/.vscode/build/html"
|
||||
],
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "sphinx",
|
||||
"fileLocation": "absolute",
|
||||
"pattern": {
|
||||
"regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):(\\d+):\\s+(WARNING|ERROR):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"severity": 3,
|
||||
"message": 4
|
||||
},
|
||||
},
|
||||
{
|
||||
"owner": "sphinx",
|
||||
"fileLocation": "absolute",
|
||||
"pattern": {
|
||||
"regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):{1,2}\\s+(WARNING|ERROR):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"severity": 2,
|
||||
"message": 3
|
||||
}
|
||||
}
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
> (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.)
|
||||
|
||||
4. Configure Python virtual environment (venv)
|
||||
|
||||
- From the Command Palette, run `Python: Create Environment`
|
||||
- Select `venv` environment and the `docs/sphinx/requirements.txt` file.
|
||||
_(Simply pressing enter while hovering over the file from the dropdown is
|
||||
insufficient, one has to select the radio button with the 'Space' key if
|
||||
using the keyboard.)_
|
||||
|
||||
5. Build the docs
|
||||
|
||||
- Launch the default build Task using either:
|
||||
- a hotkey _(default is 'Ctrl+Shift+B')_ or
|
||||
- by issuing the `Tasks: Run Build Task` from the Command Palette.
|
||||
|
||||
6. Open the live preview
|
||||
|
||||
- Navigate to the output of the site within VS Code, right-click on
|
||||
`.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 -->
|
||||
For more topics, such as submitting feedback and ways to build documentation,
|
||||
see the [Contributing Section](https://rocm.docs.amd.com/en/latest/contributing.html)
|
||||
at [rocm.docs.amd.com](https://rocm.docs.amd.com)
|
||||
|
||||
64
README.md
@@ -1,42 +1,38 @@
|
||||
# AMD ROCm™ Platform
|
||||
|
||||
ROCm™ is an open-source stack for GPU computation. ROCm is primarily Open-Source
|
||||
Software (OSS) that allows developers the freedom to customize and tailor their
|
||||
GPU software for their own needs while collaborating with a community of other
|
||||
developers, and helping each other find solutions in an agile, flexible, rapid
|
||||
and secure manner.
|
||||
ROCm is an open-source stack, composed primarily of open-source software (OSS), designed for
|
||||
graphics processing unit (GPU) computation. ROCm consists of a collection of drivers, development
|
||||
tools, and APIs that enable GPU programming from low-level kernel to end-user applications.
|
||||
|
||||
ROCm is a collection of drivers, development tools and APIs enabling GPU
|
||||
programming from the low-level kernel to end-user applications. ROCm is powered
|
||||
by AMD’s Heterogeneous-computing Interface for Portability (HIP), an OSS C++ GPU
|
||||
programming environment and its corresponding runtime. HIP allows ROCm
|
||||
developers to create portable applications on different platforms by deploying
|
||||
code on a range of platforms, from dedicated gaming GPUs to exascale HPC
|
||||
clusters. ROCm supports programming models such as OpenMP and OpenCL, and
|
||||
includes all the necessary OSS compilers, debuggers and libraries. ROCm is fully
|
||||
integrated into ML frameworks such as PyTorch and TensorFlow. ROCm can be
|
||||
deployed in many ways, including through the use of containers such as Docker,
|
||||
Spack, and your own build from source.
|
||||
With ROCm, you can customize your GPU software to meet your specific needs. You can develop,
|
||||
collaborate, test, and deploy your applications in a free, open-source, integrated, and secure software
|
||||
ecosystem. ROCm is particularly well-suited to GPU-accelerated high-performance computing (HPC),
|
||||
artificial intelligence (AI), scientific computing, and computer aided design (CAD).
|
||||
|
||||
ROCm’s goal is to allow our users to maximize their GPU hardware investment.
|
||||
ROCm is designed to help develop, test and deploy GPU accelerated HPC, AI,
|
||||
scientific computing, CAD, and other applications in a free, open-source,
|
||||
integrated and secure software ecosystem.
|
||||
ROCm is powered by AMD’s
|
||||
[Heterogeneous-computing Interface for Portability (HIP)](https://github.com/ROCm-Developer-Tools/HIP),
|
||||
an OSS C++ GPU programming environment and its corresponding runtime. HIP allows ROCm
|
||||
developers to create portable applications on different platforms by deploying code on a range of
|
||||
platforms, from dedicated gaming GPUs to exascale HPC clusters.
|
||||
|
||||
This repository contains the manifest file for ROCm™ releases, changelogs, and
|
||||
release information. The file default.xml contains information for all
|
||||
repositories and the associated commit used to build the current ROCm release.
|
||||
|
||||
The default.xml file uses the repo Manifest format.
|
||||
|
||||
The develop branch of this repository contains content for the next
|
||||
ROCm release.
|
||||
ROCm supports programming models, such as OpenMP and OpenCL, and includes all necessary OSS
|
||||
compilers, debuggers, and libraries. ROCm is fully integrated into machine learning (ML) frameworks,
|
||||
such as PyTorch and TensorFlow.
|
||||
|
||||
## ROCm Documentation
|
||||
|
||||
ROCm Documentation is available online at
|
||||
[rocm.docs.amd.com](https://rocm.docs.amd.com). Source code for the documenation
|
||||
is located in the docs folder of most repositories that are part of ROCm.
|
||||
The ROCm Documentation site is [rocm.docs.amd.com](https://rocm.docs.amd.com).
|
||||
|
||||
Source code for the documentation is located in the docs folder of most repositories that are part of
|
||||
ROCm.
|
||||
|
||||
This repository contains the manifest file for ROCm releases, changelogs, and release information.
|
||||
The file `default.xml` contains information for all repositories and the associated commit used to build
|
||||
the current ROCm release.
|
||||
|
||||
The `default.xml` file uses the repo Manifest Format.
|
||||
|
||||
The develop branch of this repository contains content for the next ROCm release.
|
||||
|
||||
### How to build documentation via Sphinx
|
||||
|
||||
@@ -48,7 +44,7 @@ pip3 install -r sphinx/requirements.txt
|
||||
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
|
||||
```
|
||||
|
||||
## Older ROCm™ Releases
|
||||
## Older ROCm Releases
|
||||
|
||||
For release information for older ROCm™ releases, refer to
|
||||
[CHANGELOG](./CHANGELOG.md).
|
||||
For release information for older ROCm releases, refer to
|
||||
[`CHANGELOG`](./CHANGELOG.md).
|
||||
|
||||
71
RELEASE.md
@@ -15,40 +15,63 @@ The release notes for the ROCm platform.
|
||||
|
||||
-------------------
|
||||
|
||||
## ROCm 5.5.1
|
||||
## ROCm 5.7.1
|
||||
<!-- markdownlint-disable first-line-h1 -->
|
||||
<!-- markdownlint-disable no-duplicate-header -->
|
||||
|
||||
### What's New in This Release
|
||||
|
||||
#### HIP API Change
|
||||
### ROCm Libraries
|
||||
|
||||
The following HIP API is updated in the ROCm v5.5.1 release,
|
||||
#### rocBLAS
|
||||
A new functionality rocblas-gemm-tune and an environment variable ROCBLAS_TENSILE_GEMM_OVERRIDE_PATH are added to rocBLAS in the ROCm 5.7.1 release.
|
||||
|
||||
##### `hipDeviceSetCacheConfig`
|
||||
*rocblas-gemm-tune* is used to find the best-performing GEMM kernel for each GEMM problem set. It has a command line interface, which mimics the --yaml input used by rocblas-bench. To generate the expected --yaml input, profile logging can be used, by setting the environment variable ROCBLAS_LAYER4.
|
||||
|
||||
- The return value for `hipDeviceSetCacheConfig` is updated from `hipErrorNotSupported` to `hipSuccess`
|
||||
For more information on rocBLAS logging, see Logging in rocBLAS, in the [API Reference Guide](https://rocm.docs.amd.com/projects/rocBLAS/en/docs-5.7.1/API_Reference_Guide.html#logging-in-rocblas).
|
||||
|
||||
### Library Changes in ROCM 5.5.1
|
||||
An example input file: Expected output (note selected GEMM idx may differ): Where the far right values (solution_index) are the indices of the best-performing kernels for those GEMMs in the rocBLAS kernel library. These indices can be directly used in future GEMM calls. See rocBLAS/samples/example_user_driven_tuning.cpp for sample code of directly using kernels via their indices.
|
||||
|
||||
If the output is stored in a file, the results can be used to override default kernel selection with the kernels found, by setting the environment variable ROCBLAS_TENSILE_GEMM_OVERRIDE_PATH, where points to the stored file.
|
||||
|
||||
For more details, refer to the [rocBLAS Programmer's Guide.](https://rocm.docs.amd.com/projects/rocBLAS/en/latest/Programmers_Guide.html#rocblas-gemm-tune)
|
||||
|
||||
#### HIP 5.7.1 (for ROCm 5.7.1)
|
||||
|
||||
ROCm 5.7.1 is a point release with several bug fixes in the HIP runtime.
|
||||
|
||||
### Fixed defects
|
||||
The *hipPointerGetAttributes* API returns the correct HIP memory type as *hipMemoryTypeManaged* for managed memory.
|
||||
|
||||
|
||||
|
||||
### Library Changes in ROCM 5.7.1
|
||||
|
||||
| Library | Version |
|
||||
|---------|---------|
|
||||
| hipBLAS | [0.54.0](https://github.com/ROCmSoftwarePlatform/hipBLAS/releases/tag/rocm-5.5.1) |
|
||||
| hipCUB | [2.13.1](https://github.com/ROCmSoftwarePlatform/hipCUB/releases/tag/rocm-5.5.1) |
|
||||
| hipFFT | [1.0.11](https://github.com/ROCmSoftwarePlatform/hipFFT/releases/tag/rocm-5.5.1) |
|
||||
| hipSOLVER | [1.7.0](https://github.com/ROCmSoftwarePlatform/hipSOLVER/releases/tag/rocm-5.5.1) |
|
||||
| hipSPARSE | [2.3.5](https://github.com/ROCmSoftwarePlatform/hipSPARSE/releases/tag/rocm-5.5.1) |
|
||||
| rccl | [2.15.5](https://github.com/ROCmSoftwarePlatform/rccl/releases/tag/rocm-5.5.1) |
|
||||
| rocALUTION | [2.1.8](https://github.com/ROCmSoftwarePlatform/rocALUTION/releases/tag/rocm-5.5.1) |
|
||||
| rocBLAS | [2.47.0](https://github.com/ROCmSoftwarePlatform/rocBLAS/releases/tag/rocm-5.5.1) |
|
||||
| rocFFT | [1.0.22](https://github.com/ROCmSoftwarePlatform/rocFFT/releases/tag/rocm-5.5.1) |
|
||||
| rocPRIM | [2.13.0](https://github.com/ROCmSoftwarePlatform/rocPRIM/releases/tag/rocm-5.5.1) |
|
||||
| rocRAND | [2.10.17](https://github.com/ROCmSoftwarePlatform/rocRAND/releases/tag/rocm-5.5.1) |
|
||||
| rocSOLVER | [3.21.0](https://github.com/ROCmSoftwarePlatform/rocSOLVER/releases/tag/rocm-5.5.1) |
|
||||
| rocSPARSE | [2.5.1](https://github.com/ROCmSoftwarePlatform/rocSPARSE/releases/tag/rocm-5.5.1) |
|
||||
| rocThrust | [2.17.0](https://github.com/ROCmSoftwarePlatform/rocThrust/releases/tag/rocm-5.5.1) |
|
||||
| rocWMMA | [1.0](https://github.com/ROCmSoftwarePlatform/rocWMMA/releases/tag/rocm-5.5.1) |
|
||||
| Tensile | [4.36.0](https://github.com/ROCmSoftwarePlatform/Tensile/releases/tag/rocm-5.5.1) |
|
||||
| hipBLAS | [1.1.0](https://github.com/ROCmSoftwarePlatform/hipBLAS/releases/tag/rocm-5.7.1) |
|
||||
| hipCUB | [2.13.1](https://github.com/ROCmSoftwarePlatform/hipCUB/releases/tag/rocm-5.7.1) |
|
||||
| hipFFT | [1.0.12](https://github.com/ROCmSoftwarePlatform/hipFFT/releases/tag/rocm-5.7.1) |
|
||||
| hipSOLVER | 1.8.1 ⇒ [1.8.2](https://github.com/ROCmSoftwarePlatform/hipSOLVER/releases/tag/rocm-5.7.1) |
|
||||
| hipSPARSE | [2.3.8](https://github.com/ROCmSoftwarePlatform/hipSPARSE/releases/tag/rocm-5.7.1) |
|
||||
| MIOpen | [2.19.0](https://github.com/ROCmSoftwarePlatform/MIOpen/releases/tag/rocm-5.7.1) |
|
||||
| rocALUTION | [2.1.11](https://github.com/ROCmSoftwarePlatform/rocALUTION/releases/tag/rocm-5.7.1) |
|
||||
| rocBLAS | [3.1.0](https://github.com/ROCmSoftwarePlatform/rocBLAS/releases/tag/rocm-5.7.1) |
|
||||
| rocFFT | [1.0.24](https://github.com/ROCmSoftwarePlatform/rocFFT/releases/tag/rocm-5.7.1) |
|
||||
| rocm-cmake | [0.10.0](https://github.com/RadeonOpenCompute/rocm-cmake/releases/tag/rocm-5.7.1) |
|
||||
| rocPRIM | [2.13.1](https://github.com/ROCmSoftwarePlatform/rocPRIM/releases/tag/rocm-5.7.1) |
|
||||
| rocRAND | [2.10.17](https://github.com/ROCmSoftwarePlatform/rocRAND/releases/tag/rocm-5.7.1) |
|
||||
| rocSOLVER | [3.23.0](https://github.com/ROCmSoftwarePlatform/rocSOLVER/releases/tag/rocm-5.7.1) |
|
||||
| rocSPARSE | [2.5.4](https://github.com/ROCmSoftwarePlatform/rocSPARSE/releases/tag/rocm-5.7.1) |
|
||||
| rocThrust | [2.18.0](https://github.com/ROCmSoftwarePlatform/rocThrust/releases/tag/rocm-5.7.1) |
|
||||
| rocWMMA | [1.2.0](https://github.com/ROCmSoftwarePlatform/rocWMMA/releases/tag/rocm-5.7.1) |
|
||||
| Tensile | [4.38.0](https://github.com/ROCmSoftwarePlatform/Tensile/releases/tag/rocm-5.7.1) |
|
||||
|
||||
## Older versions
|
||||
#### hipSOLVER 1.8.2
|
||||
|
||||
The release notes for older versions can be found in [the changelog](./CHANGELOG.md).
|
||||
hipSOLVER 1.8.2 for ROCm 5.7.1
|
||||
|
||||
##### Fixed
|
||||
|
||||
- Fixed conflicts between the hipsolver-dev and -asan packages by excluding
|
||||
hipsolver_module.f90 from the latter
|
||||
|
||||
26
default.xml
@@ -12,7 +12,7 @@ fetch="https://github.com/GPUOpen-ProfessionalCompute-Libraries/" />
|
||||
fetch="https://github.com/GPUOpen-Tools/" />
|
||||
<remote name="KhronosGroup"
|
||||
fetch="https://github.com/KhronosGroup/" />
|
||||
<default revision="refs/tags/rocm-5.5.1"
|
||||
<default revision="refs/tags/rocm-5.7.1"
|
||||
remote="roc-github"
|
||||
sync-c="true"
|
||||
sync-j="4" />
|
||||
@@ -20,38 +20,36 @@ fetch="https://github.com/KhronosGroup/" />
|
||||
<project name="ROCK-Kernel-Driver" />
|
||||
<project name="ROCT-Thunk-Interface" />
|
||||
<project name="ROCR-Runtime" />
|
||||
<project name="amdsmi" />
|
||||
<project name="rocm_smi_lib" />
|
||||
<project name="rocm-core" />
|
||||
<project name="rocm-cmake" />
|
||||
<project name="rocminfo" />
|
||||
<project name="rocm_bandwidth_test" />
|
||||
<project name="rocprofiler" remote="rocm-devtools" />
|
||||
<project name="roctracer" remote="rocm-devtools" />
|
||||
<project name="ROCm-OpenCL-Runtime" />
|
||||
<project path="ROCm-OpenCL-Runtime/api/opencl/khronos/icd" name="OpenCL-ICD-Loader" remote="KhronosGroup" revision="6c03f8b58fafd9dd693eaac826749a5cfad515f8" />
|
||||
<project name="clang-ocl" />
|
||||
<project name="rdc" />
|
||||
<!--HIP Projects-->
|
||||
<project name="HIP" remote="rocm-devtools" />
|
||||
<project name="hipamd" remote="rocm-devtools" />
|
||||
<project name="HIP-Examples" remote="rocm-devtools" />
|
||||
<project name="ROCclr" remote="rocm-devtools" />
|
||||
<project name="clr" remote="rocm-devtools" />
|
||||
<project name="HIPIFY" remote="rocm-devtools" />
|
||||
<project name="HIPCC" remote="rocm-devtools" />
|
||||
<!-- The following projects are all associated with the AMDGPU LLVM compiler -->
|
||||
<project name="llvm-project" />
|
||||
<project name="ROCm-Device-Libs" />
|
||||
<project name="atmi" />
|
||||
<project name="ROCm-CompilerSupport" />
|
||||
<project name="rocr_debug_agent" remote="rocm-devtools" />
|
||||
<project name="rocm_bandwidth_test" />
|
||||
<project name="half" remote="rocm-swplat" revision="37742ce15b76b44e4b271c1e66d13d2fa7bd003e" />
|
||||
<project name="RCP" remote="gpuopen-tools" revision="3a49405a1500067c49d181844ec90aea606055bb" />
|
||||
<!-- gdb projects -->
|
||||
<project name="ROCgdb" remote="rocm-devtools" />
|
||||
<project name="ROCdbgapi" remote="rocm-devtools" />
|
||||
<project name="rocr_debug_agent" remote="rocm-devtools" />
|
||||
<!-- ROCm Libraries -->
|
||||
<project name="rdc" />
|
||||
<project groups="mathlibs" name="rocBLAS" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="Tensile" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="hipTensor" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="hipBLAS" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="rocFFT" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="hipFFT" remote="rocm-swplat" />
|
||||
@@ -61,14 +59,16 @@ fetch="https://github.com/KhronosGroup/" />
|
||||
<project groups="mathlibs" name="hipSOLVER" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="hipSPARSE" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="rocALUTION" remote="rocm-swplat" />
|
||||
<project name="MIOpenGEMM" remote="rocm-swplat" />
|
||||
<project name="MIOpen" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="rccl" remote="rocm-swplat" />
|
||||
<project name="MIVisionX" remote="gpuopen-libs" />
|
||||
<project groups="mathlibs" name="rocThrust" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="hipCUB" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="rocPRIM" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="rocWMMA" remote="rocm-swplat" />
|
||||
<project groups="mathlibs" name="rccl" remote="rocm-swplat" />
|
||||
<project name="rocMLIR" remote="rocm-swplat" />
|
||||
<project name="MIOpen" remote="rocm-swplat" />
|
||||
<project name="composable_kernel" remote="rocm-swplat" />
|
||||
<project name="MIVisionX" remote="gpuopen-libs" />
|
||||
<project name="rpp" remote="gpuopen-libs" />
|
||||
<project name="hipfort" remote="rocm-swplat" />
|
||||
<project name="AMDMIGraphX" remote="rocm-swplat" />
|
||||
<project name="ROCmValidationSuite" remote="rocm-devtools" />
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
# 404 Page Not Found
|
||||
|
||||
Page could not be found.
|
||||
|
||||
Return to [home](./index) or please use the links from the sidebar to find what
|
||||
you are looking for.
|
||||
@@ -5,70 +5,70 @@ Documentation is built using open source toolchains. Contributions to our
|
||||
documentation is encouraged and welcome. As a contributor, please familiarize
|
||||
yourself with our documentation toolchain.
|
||||
|
||||
## ReadTheDocs
|
||||
## `rocm-docs-core`
|
||||
|
||||
[ReadTheDocs](https://docs.readthedocs.io/en/stable/) is our front end for the
|
||||
our documentation. By front end, this is the tool that serves our HTML based
|
||||
documentation to our end users.
|
||||
[rocm-docs-core](https://github.com/RadeonOpenCompute/rocm-docs-core) is an AMD-maintained
|
||||
project that applies customization for our documentation. This
|
||||
project is the tool most ROCm repositories use as part of the documentation
|
||||
build. It is also available as a [pip package on PyPI](https://pypi.org/project/rocm-docs-core/).
|
||||
|
||||
## Doxygen
|
||||
|
||||
[Doxygen](https://www.doxygen.nl/) is the most common inline code documentation
|
||||
standard. ROCm projects are use Doxygen for public API documentation (unless the
|
||||
upstream project is using a different tool).
|
||||
See the user and developer guides for rocm-docs-core at {doc}`rocm-docs-core documentation <rocm-docs-core:index>`.
|
||||
|
||||
## Sphinx
|
||||
|
||||
[Sphinx](https://www.sphinx-doc.org/en/master/) is a documentation generator
|
||||
originally used for python. It is now widely used in the Open Source community.
|
||||
Originally, sphinx supported RST based documentation. Markdown support is now
|
||||
available. ROCm documentation plans to default to markdown for new projects.
|
||||
Existing projects using RST are under no obligation to convert to markdown. New
|
||||
projects that believe markdown is not suitable should contact the documentation
|
||||
originally used for Python. It is now widely used in the Open Source community.
|
||||
Originally, Sphinx supported reStructuredText (RST) based documentation, but
|
||||
Markdown support is now available.
|
||||
ROCm documentation plans to default to Markdown for new projects.
|
||||
Existing projects using RST are under no obligation to convert to Markdown. New
|
||||
projects that believe Markdown is not suitable should contact the documentation
|
||||
team prior to selecting RST.
|
||||
|
||||
## Read the Docs
|
||||
|
||||
[Read the Docs](https://docs.readthedocs.io/en/stable/) is the service that builds
|
||||
and hosts the HTML documentation generated using Sphinx to our end users.
|
||||
|
||||
## Doxygen
|
||||
|
||||
[Doxygen](https://www.doxygen.nl/) is a documentation generator that extracts
|
||||
information from inline code.
|
||||
ROCm projects typically use Doxygen for public API documentation unless the
|
||||
upstream project uses a different tool.
|
||||
|
||||
### Breathe
|
||||
|
||||
[Breathe](https://www.breathe-doc.org/) is a Sphinx plugin to integrate Doxygen
|
||||
content.
|
||||
|
||||
### MyST
|
||||
|
||||
[Markedly Structured Text (MyST)](https://myst-tools.org/docs/spec) is an extended
|
||||
flavor of Markdown ([CommonMark](https://commonmark.org/)) influenced by reStructuredText (RST) and Sphinx.
|
||||
It is integrated via [`myst-parser`](https://myst-parser.readthedocs.io/en/latest/).
|
||||
A cheat sheet that showcases how to use the MyST syntax is available over at [the Jupyter
|
||||
reference](https://jupyterbook.org/en/stable/reference/cheatsheet.html).
|
||||
|
||||
### Sphinx Theme
|
||||
|
||||
ROCm is using the
|
||||
[Sphinx Book Theme](https://sphinx-book-theme.readthedocs.io/en/latest/). This
|
||||
theme is used by Jupyter books. ROCm documentation applies some customization
|
||||
include a header and footer on top of the Sphinx Book Theme. A future custom
|
||||
ROCm theme will be part of our documentation goals.
|
||||
|
||||
### Sphinx Design
|
||||
|
||||
Sphinx Design is an extension for sphinx based websites that add design
|
||||
functionality. Please see the documentation
|
||||
[here](https://sphinx-design.readthedocs.io/en/latest/index.html). ROCm
|
||||
documentation uses sphinx design for grids, cards, and synchronized tabs.
|
||||
Other features may be used in the future.
|
||||
It is integrated into ROCm documentation by the Sphinx extension [`myst-parser`](https://myst-parser.readthedocs.io/en/latest/).
|
||||
A cheat sheet that showcases how to use the MyST syntax is available over at
|
||||
the [Jupyter reference](https://jupyterbook.org/en/stable/reference/cheatsheet.html).
|
||||
|
||||
### Sphinx External TOC
|
||||
|
||||
ROCm uses the
|
||||
[sphinx-external-toc](https://sphinx-external-toc.readthedocs.io/en/latest/intro.html)
|
||||
for our navigation. This tool allows a YAML file based left navigation menu. This
|
||||
tool was selected due to its flexibility that allows scripts to operate on the
|
||||
[Sphinx External Table of Contents (TOC)](https://sphinx-external-toc.readthedocs.io/en/latest/intro.html)
|
||||
is a Sphinx extension used for ROCm documentation navigation. This tool generates a navigation menu on the left
|
||||
based on a YAML file that specifies the table of contents.
|
||||
It was selected due to its flexibility that allows scripts to operate on the
|
||||
YAML file. Please transition to this file for the project's navigation. You can
|
||||
see the `_toc.yml.in` file in this repository in the docs/sphinx folder for an
|
||||
see the `_toc.yml.in` file in this repository in the `docs/sphinx` folder for an
|
||||
example.
|
||||
|
||||
### Breathe
|
||||
### Sphinx Book Theme
|
||||
|
||||
Sphinx uses [Breathe](https://www.breathe-doc.org/) to integrate Doxygen
|
||||
content.
|
||||
[Sphinx Book Theme](https://sphinx-book-theme.readthedocs.io/en/latest/) is a Sphinx theme
|
||||
that defines the base appearance for ROCm documentation.
|
||||
ROCm documentation applies some customization,
|
||||
such as a custom header and footer on top of the Sphinx Book Theme.
|
||||
|
||||
## `rocm-docs-core` pip package
|
||||
### Sphinx Design
|
||||
|
||||
[rocm-docs-core](https://github.com/RadeonOpenCompute/rocm-docs-core) is an AMD
|
||||
maintained project that applies customization for our documentation. This
|
||||
project is the tool most ROCm repositories will use as part of the documentation
|
||||
build.
|
||||
[Sphinx Design](https://sphinx-design.readthedocs.io/en/latest/index.html) is a Sphinx extension that adds design
|
||||
functionality.
|
||||
ROCm documentation uses Sphinx Design for grids, cards, and synchronized tabs.
|
||||
|
||||
126
docs/about/licensing.md
Normal file
@@ -0,0 +1,126 @@
|
||||
# ROCm licensing terms
|
||||
|
||||
ROCm™ is released by Advanced Micro Devices, Inc. and is licensed per component separately.
|
||||
The following table is a list of ROCm components with links to their respective license
|
||||
terms. These components may include third party components subject to
|
||||
additional licenses. Please review individual repositories for more information.
|
||||
The table shows ROCm components, license name, and link to the license terms.
|
||||
The table is ordered to follow ROCm's manifest file.
|
||||
|
||||
<!-- spellcheck-disable -->
|
||||
| Component | License |
|
||||
|:------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------:|
|
||||
| [AMDMIGraphX](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/) | [MIT](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/blob/develop/LICENSE) |
|
||||
| [HIPCC](https://github.com/ROCm-Developer-Tools/HIPCC/blob/develop/LICENSE.txt) | [MIT](https://github.com/ROCm-Developer-Tools/HIPCC/blob/develop/LICENSE.txt) |
|
||||
| [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/) | [MIT](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/amd-staging/LICENSE.txt) |
|
||||
| [HIP](https://github.com/ROCm-Developer-Tools/HIP/) | [MIT](https://github.com/ROCm-Developer-Tools/HIP/blob/develop/LICENSE.txt) |
|
||||
| [MIOpenGEMM](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/) | [MIT](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/blob/master/LICENSE.txt) |
|
||||
| [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen/) | [MIT](https://github.com/ROCmSoftwarePlatform/MIOpen/blob/master/LICENSE.txt) |
|
||||
| [MIVisionX](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/) | [MIT](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/blob/master/LICENSE.txt) |
|
||||
| [RCP](https://github.com/GPUOpen-Tools/radeon_compute_profiler/) | [MIT](https://github.com/GPUOpen-Tools/radeon_compute_profiler/blob/master/LICENSE) |
|
||||
| [ROCK-Kernel-Driver](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/) | [GPL 2.0 WITH Linux-syscall-note](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/blob/master/COPYING) |
|
||||
| [ROCR-Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCR-Runtime/blob/master/LICENSE.txt) |
|
||||
| [ROCT-Thunk-Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/) | [MIT](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/blob/master/LICENSE.md) |
|
||||
| [ROCclr](https://github.com/ROCm-Developer-Tools/ROCclr/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCclr/blob/develop/LICENSE.txt) |
|
||||
| [ROCdbgapi](https://github.com/ROCm-Developer-Tools/ROCdbgapi/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCdbgapi/blob/amd-master/LICENSE.txt) |
|
||||
| [ROCgdb](https://github.com/ROCm-Developer-Tools/ROCgdb/) | [GNU General Public License v2.0](https://github.com/ROCm-Developer-Tools/ROCgdb/blob/amd-master/COPYING) |
|
||||
| [ROCm-CompilerSupport](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/blob/amd-stg-open/LICENSE.txt) |
|
||||
| [ROCm-Device-Libs](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/amd-stg-open/LICENSE.TXT) |
|
||||
| [ROCm-OpenCL-Runtime/api/opencl/khronos/icd](https://github.com/KhronosGroup/OpenCL-ICD-Loader/) | [Apache 2.0](https://github.com/KhronosGroup/OpenCL-ICD-Loader/blob/main/LICENSE) |
|
||||
| [ROCm-OpenCL-Runtime](https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/) | [MIT](https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/blob/develop/LICENSE.txt) |
|
||||
| [ROCmValidationSuite](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/) | [MIT](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/blob/master/LICENSE) |
|
||||
| [Tensile](https://github.com/ROCmSoftwarePlatform/Tensile/) | [MIT](https://github.com/ROCmSoftwarePlatform/Tensile/blob/develop/LICENSE.md) |
|
||||
| [aomp-extras](https://github.com/ROCm-Developer-Tools/aomp-extras/) | [MIT](https://github.com/ROCm-Developer-Tools/aomp-extras/blob/aomp-dev/LICENSE) |
|
||||
| [aomp](https://github.com/ROCm-Developer-Tools/aomp/) | [Apache 2.0](https://github.com/ROCm-Developer-Tools/aomp/blob/aomp-dev/LICENSE) |
|
||||
| [atmi](https://github.com/RadeonOpenCompute/atmi/) | [MIT](https://github.com/RadeonOpenCompute/atmi/blob/master/LICENSE.txt) |
|
||||
| [clang-ocl](https://github.com/RadeonOpenCompute/clang-ocl/) | [MIT](https://github.com/RadeonOpenCompute/clang-ocl/blob/master/LICENSE) |
|
||||
| [flang](https://github.com/ROCm-Developer-Tools/flang/) | [Apache 2.0](https://github.com/ROCm-Developer-Tools/flang/blob/master/LICENSE.txt) |
|
||||
| [half](https://github.com/ROCmSoftwarePlatform/half/) | [MIT](https://github.com/ROCmSoftwarePlatform/half/blob/master/LICENSE.txt) |
|
||||
| [hipBLAS](https://github.com/ROCmSoftwarePlatform/hipBLAS/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/LICENSE.md) |
|
||||
| [hipCUB](https://github.com/ROCmSoftwarePlatform/hipCUB/) | [Custom](https://github.com/ROCmSoftwarePlatform/hipCUB/blob/develop/LICENSE.txt) |
|
||||
| [hipFFT](https://github.com/ROCmSoftwarePlatform/hipFFT/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipFFT/blob/develop/LICENSE.md) |
|
||||
| [hipSOLVER](https://github.com/ROCmSoftwarePlatform/hipSOLVER/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipSOLVER/blob/develop/LICENSE.md) |
|
||||
| [hipSPARSELt](https://github.com/ROCmSoftwarePlatform/hipSPARSELt/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipSPARSELt/blob/develop/LICENSE.md) |
|
||||
| [hipSPARSE](https://github.com/ROCmSoftwarePlatform/hipSPARSE/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipSPARSE/blob/develop/LICENSE.md) |
|
||||
| [hipTensor](https://github.com/ROCmSoftwarePlatform/hipTensor) | [MIT](https://github.com/ROCmSoftwarePlatform/hipTensor/blob/develop/LICENSE) |
|
||||
| [hipamd](https://github.com/ROCm-Developer-Tools/hipamd/) | [MIT](https://github.com/ROCm-Developer-Tools/hipamd/blob/develop/LICENSE.txt) |
|
||||
| [hipfort](https://github.com/ROCmSoftwarePlatform/hipfort/) | [MIT](https://github.com/ROCmSoftwarePlatform/hipfort/blob/master/LICENSE) |
|
||||
| [llvm-project](https://github.com/ROCm-Developer-Tools/llvm-project/) | [Apache](https://github.com/ROCm-Developer-Tools/llvm-project/blob/main/LICENSE.TXT) |
|
||||
| [rccl](https://github.com/ROCmSoftwarePlatform/rccl/) | [Custom](https://github.com/ROCmSoftwarePlatform/rccl/blob/develop/LICENSE.txt) |
|
||||
| [rdc](https://github.com/RadeonOpenCompute/rdc/) | [MIT](https://github.com/RadeonOpenCompute/rdc/blob/master/LICENSE) |
|
||||
| [rocALUTION](https://github.com/ROCmSoftwarePlatform/rocALUTION/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocALUTION/blob/develop/LICENSE.md) |
|
||||
| [rocBLAS](https://github.com/ROCmSoftwarePlatform/rocBLAS/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/LICENSE.md) |
|
||||
| [rocFFT](https://github.com/ROCmSoftwarePlatform/rocFFT/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/LICENSE.md) |
|
||||
| [rocPRIM](https://github.com/ROCmSoftwarePlatform/rocPRIM/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocPRIM/blob/develop/LICENSE.txt) |
|
||||
| [rocRAND](https://github.com/ROCmSoftwarePlatform/rocRAND/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocRAND/blob/develop/LICENSE.txt) |
|
||||
| [rocSOLVER](https://github.com/ROCmSoftwarePlatform/rocSOLVER/) | [BSD-2-Clause](https://github.com/ROCmSoftwarePlatform/rocSOLVER/blob/develop/LICENSE.md) |
|
||||
| [rocSPARSE](https://github.com/ROCmSoftwarePlatform/rocSPARSE/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocSPARSE/blob/develop/LICENSE.md) |
|
||||
| [rocThrust](https://github.com/ROCmSoftwarePlatform/rocThrust/) | [Apache 2.0](https://github.com/ROCmSoftwarePlatform/rocThrust/blob/develop/LICENSE) |
|
||||
| [rocWMMA](https://github.com/ROCmSoftwarePlatform/rocWMMA/) | [MIT](https://github.com/ROCmSoftwarePlatform/rocWMMA/blob/develop/LICENSE.md) |
|
||||
| [rocm-cmake](https://github.com/RadeonOpenCompute/rocm-cmake/) | [MIT](https://github.com/RadeonOpenCompute/rocm-cmake/blob/develop/LICENSE) |
|
||||
| [rocm_bandwidth_test](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocm_bandwidth_test/blob/master/LICENSE.txt) |
|
||||
| [rocm_smi_lib](https://github.com/RadeonOpenCompute/rocm_smi_lib/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocm_smi_lib/blob/master/License.txt) |
|
||||
| [rocminfo](https://github.com/RadeonOpenCompute/rocminfo/) | [The University of Illinois/NCSA](https://github.com/RadeonOpenCompute/rocminfo/blob/master/License.txt) |
|
||||
| [rocprofiler](https://github.com/ROCm-Developer-Tools/rocprofiler/) | [MIT](https://github.com/ROCm-Developer-Tools/rocprofiler/blob/amd-master/LICENSE) |
|
||||
| [rocr_debug_agent](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/) | [The University of Illinois/NCSA](https://github.com/ROCm-Developer-Tools/rocr_debug_agent/blob/master/LICENSE.txt) |
|
||||
| [roctracer](https://github.com/ROCm-Developer-Tools/roctracer/) | [MIT](https://github.com/ROCm-Developer-Tools/roctracer/blob/amd-master/LICENSE) |
|
||||
| rocm-llvm-alt | [AMD Proprietary License](https://www.amd.com/en/support/amd-software-eula)
|
||||
|
||||
Open sourced ROCm components are released via public GitHub
|
||||
repositories, packages on https://repo.radeon.com and other distribution channels.
|
||||
Proprietary products are only available on https://repo.radeon.com. Currently, only
|
||||
one component of ROCm, rocm-llvm-alt is governed by a proprietary license.
|
||||
Proprietary components are organized in a proprietary subdirectory in the package
|
||||
repositories to distinguish from open sourced packages.
|
||||
|
||||
The additional terms and conditions below apply to your use of ROCm technical
|
||||
documentation.
|
||||
|
||||
©2023 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
The information presented in this document is for informational purposes only
|
||||
and may contain technical inaccuracies, omissions, and typographical errors. The
|
||||
information contained herein is subject to change and may be rendered inaccurate
|
||||
for many reasons, including but not limited to product and roadmap changes,
|
||||
component and motherboard version changes, new model and/or product releases,
|
||||
product differences between differing manufacturers, software changes, BIOS
|
||||
flashes, firmware upgrades, or the like. Any computer system has risks of
|
||||
security vulnerabilities that cannot be completely prevented or mitigated. AMD
|
||||
assumes no obligation to update or otherwise correct or revise this information.
|
||||
However, AMD reserves the right to revise this information and to make changes
|
||||
from time to time to the content hereof without obligation of AMD to notify any
|
||||
person of such revisions or changes.
|
||||
|
||||
THIS INFORMATION IS PROVIDED “AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES
|
||||
WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
|
||||
INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD
|
||||
SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
|
||||
MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE
|
||||
LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER
|
||||
CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN,
|
||||
EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
AMD, the AMD Arrow logo, ROCm, and combinations thereof are trademarks of
|
||||
Advanced Micro Devices, Inc. Other product names used in this publication are
|
||||
for identification purposes only and may be trademarks of their respective
|
||||
companies.
|
||||
|
||||
## Package licensing
|
||||
|
||||
```{attention}
|
||||
AQL Profiler and AOCC CPU optimization are both provided in binary form, each
|
||||
subject to the license agreement enclosed in the directory for the binary and is
|
||||
available here: `/opt/rocm/share/doc/rocm-llvm-alt/EULA`. By using, installing,
|
||||
copying or distributing AQL Profiler and/or AOCC CPU Optimizations, you agree to
|
||||
the terms and conditions of this license agreement. If you do not agree to the
|
||||
terms of this agreement, do not install, copy or use the AQL Profiler and/or the
|
||||
AOCC CPU Optimizations.
|
||||
```
|
||||
|
||||
For the rest of the ROCm packages, you can find the licensing information at the
|
||||
following location: `/opt/rocm/share/doc/<component-name>/`
|
||||
|
||||
For example, you can fetch the licensing information of the `_amd_comgr_`
|
||||
component (Code Object Manager) from the `amd_comgr` folder. A file named
|
||||
`LICENSE.txt` contains the license details at:
|
||||
`/opt/rocm-5.4.3/share/doc/amd_comgr/LICENSE.txt`
|
||||
57
docs/conf.py
@@ -5,21 +5,61 @@
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
||||
|
||||
import shutil
|
||||
import jinja2
|
||||
import os
|
||||
|
||||
from rocm_docs import ROCmDocs
|
||||
|
||||
# Environement to process Jinja templates.
|
||||
jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader("."))
|
||||
|
||||
# Jinja templates to render out.
|
||||
templates = [
|
||||
"./deploy/linux/quick_start.md.jinja",
|
||||
"./deploy/linux/installer/install.md.jinja",
|
||||
"./deploy/linux/os-native/install.md.jinja"
|
||||
]
|
||||
|
||||
# Render templates and output files without the last extension.
|
||||
# For example: 'install.md.jinja' becomes 'install.md'.
|
||||
for template in templates:
|
||||
rendered = jinja_env.get_template(template).render()
|
||||
with open(os.path.splitext(template)[0], 'w') as file:
|
||||
file.write(rendered)
|
||||
|
||||
shutil.copy2('../CONTRIBUTING.md','./contributing.md')
|
||||
shutil.copy2('../RELEASE.md','./release.md')
|
||||
# Keep capitalization due to similar linking on GitHub's markdown preview.
|
||||
shutil.copy2('../CHANGELOG.md','./CHANGELOG.md')
|
||||
|
||||
latex_engine = "xelatex"
|
||||
latex_elements = {
|
||||
"fontpkg": r"""
|
||||
\usepackage{tgtermes}
|
||||
\usepackage{tgheros}
|
||||
\renewcommand\ttdefault{txtt}
|
||||
"""
|
||||
}
|
||||
|
||||
# configurations for PDF output by Read the Docs
|
||||
project = "ROCm Documentation"
|
||||
author = "Advanced Micro Devices, Inc."
|
||||
copyright = "Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved."
|
||||
version = "5.7.1"
|
||||
release = "5.7.1"
|
||||
|
||||
setting_all_article_info = True
|
||||
all_article_info_os = ["linux"]
|
||||
all_article_info_os = ["linux", "windows"]
|
||||
all_article_info_author = ""
|
||||
|
||||
# pages with specific settings
|
||||
article_pages = [
|
||||
{
|
||||
"file":"release",
|
||||
"os":["linux", "windows"],
|
||||
"date":"2023-07-27"
|
||||
},
|
||||
|
||||
{"file":"deploy/linux/index", "os":["linux"]},
|
||||
{"file":"deploy/linux/install_overview", "os":["linux"]},
|
||||
{"file":"deploy/linux/prerequisites", "os":["linux"]},
|
||||
@@ -30,7 +70,20 @@ article_pages = [
|
||||
{"file":"deploy/linux/package_manager_integration", "os":["linux"]},
|
||||
{"file":"deploy/docker", "os":["linux"]},
|
||||
|
||||
{"file":"deploy/windows/cli/index", "os":["windows"]},
|
||||
{"file":"deploy/windows/cli/install", "os":["windows"]},
|
||||
{"file":"deploy/windows/cli/uninstall", "os":["windows"]},
|
||||
{"file":"deploy/windows/cli/upgrade", "os":["windows"]},
|
||||
{"file":"deploy/windows/gui/index", "os":["windows"]},
|
||||
{"file":"deploy/windows/gui/install", "os":["windows"]},
|
||||
{"file":"deploy/windows/gui/uninstall", "os":["windows"]},
|
||||
{"file":"deploy/windows/gui/upgrade", "os":["windows"]},
|
||||
{"file":"deploy/windows/index", "os":["windows"]},
|
||||
{"file":"deploy/windows/prerequisites", "os":["windows"]},
|
||||
{"file":"deploy/windows/quick_start", "os":["windows"]},
|
||||
|
||||
{"file":"release/gpu_os_support", "os":["linux"]},
|
||||
{"file":"release/windows_support", "os":["windows"]},
|
||||
{"file":"release/docker_support_matrix", "os":["linux"]},
|
||||
|
||||
{"file":"reference/gpu_libraries/communication", "os":["linux"]},
|
||||
@@ -57,7 +110,7 @@ article_pages = [
|
||||
|
||||
external_toc_path = "./sphinx/_toc.yml"
|
||||
|
||||
docs_core = ROCmDocs("ROCm Documentation Home")
|
||||
docs_core = ROCmDocs("ROCm 5.7.1 Documentation Home")
|
||||
docs_core.setup()
|
||||
|
||||
external_projects_current_project = "rocm"
|
||||
|
||||
165
docs/contribute/building.md
Normal file
@@ -0,0 +1,165 @@
|
||||
# Building Documentation
|
||||
|
||||
While contributing, one may build the documentation locally on the command-line
|
||||
or rely on Continuous Integration for previewing the resulting HTML pages in a
|
||||
browser.
|
||||
|
||||
## Pull Request documentation builds
|
||||
|
||||
When opening a PR to the `develop` branch on GitHub, the page corresponding to
|
||||
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 a URL of the form
|
||||
`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.
|
||||
- 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>/`.
|
||||
|
||||
## Build documentation from the Command Line
|
||||
|
||||
Python versions known to build documentation:
|
||||
|
||||
- 3.8
|
||||
|
||||
To build the docs locally using Python Virtual Environment (`venv`), execute the
|
||||
following commands from the project root:
|
||||
|
||||
```sh
|
||||
python3 -mvenv .venv
|
||||
# Windows
|
||||
.venv/Scripts/python -m pip install -r docs/sphinx/requirements.txt
|
||||
.venv/Scripts/python -m sphinx -T -E -b html -d _build/doctrees -D language=en docs _build/html
|
||||
# Linux
|
||||
.venv/bin/python -m pip install -r docs/sphinx/requirements.txt
|
||||
.venv/bin/python -m sphinx -T -E -b html -d _build/doctrees -D language=en docs _build/html
|
||||
```
|
||||
|
||||
Then open up `_build/html/index.html` in your favorite browser.
|
||||
|
||||
## Build documentation using Visual Studio (VS) Code
|
||||
|
||||
One can put together a productive environment to author documentation and also
|
||||
test it locally using VS Code with only a handful of extensions. Even though the
|
||||
extension landscape of VS Code is ever changing, here is one example setup that
|
||||
proved useful at the time of writing. In it, one can change/add content, build a
|
||||
new version of the docs using a single VS Code Task (or hotkey), see all errors/
|
||||
warnings emitted by Sphinx in the Problems pane and immediately see the
|
||||
resulting website show up on a locally-served web server.
|
||||
|
||||
### Configuring VS Code
|
||||
|
||||
1. Install the following extensions:
|
||||
|
||||
- Python `(ms-python.python)`
|
||||
- Live Server `(ritwickdey.LiveServer)`
|
||||
|
||||
2. Add the following entries in `.vscode/settings.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"liveServer.settings.root": "/.vscode/build/html",
|
||||
"liveServer.settings.wait": 1000,
|
||||
"python.terminal.activateEnvInCurrentTerminal": true
|
||||
}
|
||||
```
|
||||
|
||||
The settings above are used for the following reasons:
|
||||
- `liveServer.settings.root`: Sets the root of the output website for live previews. Must be changed
|
||||
alongside the `tasks.json` command.
|
||||
- `liveServer.settings.wait`: Tells live server to wait with the update to give time for Sphinx to
|
||||
regenerate site contents and not refresh before all is done. (Empirical value)
|
||||
- `python.terminal.activateEnvInCurrentTerminal`: Automatic virtual environment activation is a nice touch,
|
||||
should you want to build the site from the integrated terminal.
|
||||
|
||||
3. Add the following tasks in `.vscode/tasks.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "Build Docs",
|
||||
"type": "process",
|
||||
"windows": {
|
||||
"command": "${workspaceFolder}/.venv/Scripts/python.exe"
|
||||
},
|
||||
"command": "${workspaceFolder}/.venv/bin/python3",
|
||||
"args": [
|
||||
"-m",
|
||||
"sphinx",
|
||||
"-j",
|
||||
"auto",
|
||||
"-T",
|
||||
"-b",
|
||||
"html",
|
||||
"-d",
|
||||
"${workspaceFolder}/.vscode/build/doctrees",
|
||||
"-D",
|
||||
"language=en",
|
||||
"${workspaceFolder}/docs",
|
||||
"${workspaceFolder}/.vscode/build/html"
|
||||
],
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "sphinx",
|
||||
"fileLocation": "absolute",
|
||||
"pattern": {
|
||||
"regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):(\\d+):\\s+(WARNING|ERROR):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"severity": 3,
|
||||
"message": 4
|
||||
},
|
||||
},
|
||||
{
|
||||
"owner": "sphinx",
|
||||
"fileLocation": "absolute",
|
||||
"pattern": {
|
||||
"regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):{1,2}\\s+(WARNING|ERROR):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"severity": 2,
|
||||
"message": 3
|
||||
}
|
||||
}
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
> (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.)
|
||||
|
||||
4. Configure Python virtual environment (`venv`)
|
||||
|
||||
- From the Command Palette, run `Python: Create Environment`
|
||||
- Select `venv` environment and the `docs/sphinx/requirements.txt` file.
|
||||
_(Simply pressing enter while hovering over the file from the drop down is
|
||||
insufficient, one has to select the radio button with the 'Space' key if
|
||||
using the keyboard.)_
|
||||
|
||||
5. Build the docs
|
||||
|
||||
- Launch the default build Task using either:
|
||||
- a hotkey _(default is `Ctrl+Shift+B`)_ or
|
||||
- by issuing the `Tasks: Run Build Task` from the Command Palette.
|
||||
|
||||
6. Open the live preview
|
||||
|
||||
- Navigate to the output of the site within VS Code, right-click on
|
||||
`.vscode/build/html/index.html` and select `Open with Live Server`. The
|
||||
contents should update on every rebuild without having to refresh the
|
||||
browser.
|
||||
27
docs/contribute/feedback.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# How to provide feedback for ROCm documentation
|
||||
|
||||
There are four 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)
|
||||
targeting the develop branch of the repository. If you are unable to contribute
|
||||
via the GitHub Flow, feel free to email us.
|
||||
|
||||
## GitHub Discussions
|
||||
|
||||
To ask questions or view answers to frequently asked questions, refer to
|
||||
[GitHub Discussions](https://github.com/RadeonOpenCompute/ROCm/discussions).
|
||||
On GitHub Discussions, in addition to asking and answering questions,
|
||||
members can share updates, have open-ended conversations,
|
||||
and follow along on via public announcements.
|
||||
|
||||
## GitHub Issue
|
||||
|
||||
Issues on existing or absent docs can be filed as
|
||||
[GitHub Issues](https://github.com/RadeonOpenCompute/ROCm/issues).
|
||||
|
||||
## Email
|
||||
|
||||
Send other feedback or questions to [rocm-feedback@amd.com](rocm-feedback@amd.com)
|
||||
|
Before Width: | Height: | Size: 163 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 407 KiB |
|
Before Width: | Height: | Size: 465 KiB |
|
Before Width: | Height: | Size: 207 KiB |
|
Before Width: | Height: | Size: 461 KiB |
|
Before Width: | Height: | Size: 461 KiB |
|
Before Width: | Height: | Size: 412 KiB |
|
Before Width: | Height: | Size: 68 KiB |
@@ -1 +0,0 @@
|
||||
|
||||
BIN
docs/data/deploy/windows/000-settings-dark.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
docs/data/deploy/windows/000-settings-light.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
BIN
docs/data/deploy/windows/001-about-dark.png
Normal file
|
After Width: | Height: | Size: 114 KiB |
BIN
docs/data/deploy/windows/001-about-light.png
Normal file
|
After Width: | Height: | Size: 110 KiB |
BIN
docs/data/deploy/windows/001-uac-dark.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
docs/data/deploy/windows/001-uac-light.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
docs/data/deploy/windows/002-initializing.png
Normal file
|
After Width: | Height: | Size: 228 KiB |
BIN
docs/data/deploy/windows/003-detecting-system-config.png
Normal file
|
After Width: | Height: | Size: 796 KiB |
BIN
docs/data/deploy/windows/004-installer-window.png
Normal file
|
After Width: | Height: | Size: 310 KiB |
BIN
docs/data/deploy/windows/005-deselect-all.png
Normal file
|
After Width: | Height: | Size: 309 KiB |
BIN
docs/data/deploy/windows/006-component-options-sdk-core.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
docs/data/deploy/windows/007-component-options-libraries.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
docs/data/deploy/windows/008-component-options-rtc.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
docs/data/deploy/windows/009-component-options-rt.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
docs/data/deploy/windows/010-component-options-vs-plugin.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 17 KiB |
BIN
docs/data/deploy/windows/012-install-progress.png
Normal file
|
After Width: | Height: | Size: 789 KiB |
BIN
docs/data/deploy/windows/013-install-complete.png
Normal file
|
After Width: | Height: | Size: 801 KiB |
BIN
docs/data/deploy/windows/014-uninstall-dark.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
docs/data/deploy/windows/014-uninstall-light.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 32 KiB |
74
docs/data/reference/openmp/openmp_toolchain.svg
Normal file
|
After Width: | Height: | Size: 323 KiB |
@@ -21,7 +21,7 @@ Instructions for upgrading an existing ROCm installation.
|
||||
:link: uninstall
|
||||
:link-type: doc
|
||||
|
||||
Steps for removing ROCm packages libraries and tools.
|
||||
Steps for removing ROCm packages, libraries and tools.
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
@@ -1,88 +1,64 @@
|
||||
{%- import "deploy/linux/linux.template.jinja" as linux %}
|
||||
<!-- markdownlint-disable no-duplicate-header blanks-around-headings no-multiple-blanks -->
|
||||
# Installation with install script
|
||||
|
||||
Prior to beginning, please ensure you have the [prerequisites](../prerequisites)
|
||||
installed.
|
||||
|
||||
```{warning}
|
||||
ROCm currently doesn't support integrated graphics. Should your system have an
|
||||
AMD IGP installed, disable it in the BIOS prior to using ROCm. If the driver can
|
||||
enumerate the IGP, the ROCm runtime may crash the system, even if told to omit
|
||||
it via {ref}`hip_visible_devices`.
|
||||
```
|
||||
|
||||
## Download the Installer Script
|
||||
|
||||
To download and install the `amdgpu-install` script on the system, use the
|
||||
following commands based on your distribution.
|
||||
|
||||
::::::{tab-set}
|
||||
:::::{tab-item} Ubuntu
|
||||
:sync: ubuntu
|
||||
{% call(family) linux.for_family_in(linux.supported_family) %}
|
||||
{%- call(os) linux.for_os_in(linux.supported_os) %}
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Ubuntu 20.04
|
||||
:sync: ubuntu-20.04
|
||||
{%- if os.tag == "ubuntu" %}
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
sudo apt update
|
||||
wget https://repo.radeon.com/amdgpu-install/5.5.1/ubuntu/focal/amdgpu-install_5.5.50501-1_all.deb
|
||||
sudo apt install ./amdgpu-install_5.5.50501-1_all.deb
|
||||
wget https://repo.radeon.com/amdgpu-install/{{ family.amdgpu_version }}/ubuntu/{{ version.release }}/amdgpu-install_{{ family.amdgpu_install_version }}_all.deb
|
||||
sudo apt install ./amdgpu-install_{{ family.amdgpu_install_version }}_all.deb
|
||||
```
|
||||
{%- endcall -%}
|
||||
{%- elif os.tag == "rhel" %}
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
:::
|
||||
:::{tab-item} Ubuntu 22.04
|
||||
:sync: ubuntu-22.04
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
sudo apt update
|
||||
wget https://repo.radeon.com/amdgpu-install/5.5.1/ubuntu/jammy/amdgpu-install_5.5.50501-1_all.deb
|
||||
sudo apt install ./amdgpu-install_5.5.50501-1_all.deb
|
||||
sudo yum install https://repo.radeon.com/amdgpu-install/{{ family.amdgpu_version }}/rhel/{{ version.number }}/amdgpu-install-{{ family.amdgpu_install_version }}.{{ version.release | trim("rh") }}.noarch.rpm
|
||||
```
|
||||
{%- endcall -%}
|
||||
{%- elif os.tag == "sle" %}
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
:::::{tab-item} Red Hat Enterprise Linux
|
||||
:sync: RHEL
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} RHEL 8.6
|
||||
:sync: RHEL-8.6
|
||||
:sync: RHEL-8
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
sudo yum install https://repo.radeon.com/amdgpu-install/5.5.1/rhel/8.6/amdgpu-install-5.5.50501-1.el8.noarch.rpm
|
||||
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/{{ family.amdgpu_version }}/sle/{{ version.number }}/amdgpu-install-{{ family.amdgpu_install_version }}.noarch.rpm
|
||||
```
|
||||
{%- endcall -%}
|
||||
{%- endif %}
|
||||
|
||||
:::
|
||||
:::{tab-item} RHEL 8.7
|
||||
:sync: RHEL-8.7
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
sudo yum install https://repo.radeon.com/amdgpu-install/5.5.1/rhel/8.7/amdgpu-install-5.5.50501-1.el8.noarch.rpm
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} RHEL 9.1
|
||||
:sync: RHEL-9.1
|
||||
:sync: RHEL-9
|
||||
|
||||
```shell
|
||||
sudo yum install https://repo.radeon.com/amdgpu-install/5.5.1/rhel/9.1/amdgpu-install-5.5.50501-1.el8.noarch.rpm
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
:::::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Service Pack 4
|
||||
:sync: SLES15-SP4
|
||||
|
||||
```shell
|
||||
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/5.5.1/sle/15.4/amdgpu-install-5.5.50501-1.noarch.rpm
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
::::::
|
||||
{%- endcall -%}
|
||||
{%- endcall %}
|
||||
|
||||
## Use cases
|
||||
|
||||
@@ -145,6 +121,18 @@ To install use cases specific to your requirements, use the installer
|
||||
sudo amdgpu-install --usecase=hiplibsdk,rocm
|
||||
```
|
||||
|
||||
- For graphical workloads using the open-source driver add `graphics`. For example:
|
||||
|
||||
```shell
|
||||
sudo amdgpu-install --usecase=graphics,rocm
|
||||
```
|
||||
|
||||
- For graphical workloads using the proprietary driver add `graphics`. For example:
|
||||
|
||||
```shell
|
||||
sudo amdgpu-install --usecase=workstation,rocm
|
||||
```
|
||||
|
||||
## Single-version ROCm Installation
|
||||
|
||||
By default (without the `--rocmrelease` option)
|
||||
@@ -155,9 +143,9 @@ the installer script will install packages in the single-version layout.
|
||||
For the multi-version ROCm installation you must use the installer script from
|
||||
the latest release of ROCm that you wish to install.
|
||||
|
||||
**Example:** If you want to install ROCm releases 5.3.3 and 5.5.1
|
||||
**Example:** If you want to install ROCm releases 5.5.3, 5.6.1 and {{ linux.supported_family[0].rocm_version }}
|
||||
simultaneously, you are required to download the installer from the latest ROCm
|
||||
release v5.5.1.
|
||||
release {{ linux.supported_family[0].rocm_version }}.
|
||||
|
||||
### Add Required Repositories
|
||||
|
||||
@@ -167,50 +155,37 @@ automatically adds the required repositories for the latest release.
|
||||
|
||||
Run the following commands based on your distribution to add the repositories:
|
||||
|
||||
::::::{tab-set}
|
||||
:::::{tab-item} Ubuntu
|
||||
:sync: ubuntu
|
||||
{% call(family) linux.for_family_in(linux.supported_family) %}
|
||||
{%- call(os) linux.for_os_in(linux.supported_os) %}
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Ubuntu 20.04
|
||||
:sync: ubuntu-20.04
|
||||
{%- if os.tag == "ubuntu" %}
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3; do
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" | sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver {{ version.release }} main" | sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
done
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
sudo apt update
|
||||
```
|
||||
{%- endcall -%}
|
||||
{%- elif os.tag == "rhel" %}
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
:::
|
||||
:::{tab-item} Ubuntu 22.04
|
||||
:sync: ubuntu-22.04
|
||||
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3; do
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver jammy main" | sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
done
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
sudo apt update
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
:::::{tab-item} Red Hat Enterprise Linux
|
||||
:sync: RHEL
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} RHEL 8
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3; do
|
||||
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
|
||||
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
baseurl=https://repo.radeon.com/rocm/rhel8/$ver/main
|
||||
baseurl=https://repo.radeon.com/rocm/{{ version.release }}/$ver/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
@@ -219,37 +194,13 @@ EOF
|
||||
done
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} RHEL 9
|
||||
:sync: RHEL-9
|
||||
|
||||
{%- endcall -%}
|
||||
{%- elif os.tag == "sle" %}
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3; do
|
||||
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
baseurl=https://repo.radeon.com/rocm/rhel9/$ver/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
done
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
:::::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3; do
|
||||
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
|
||||
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/$ver/sle/15.4/main/x86_64
|
||||
baseurl=https://repo.radeon.com/rocm/zyp/$ver/main
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
@@ -257,27 +208,29 @@ EOF
|
||||
done
|
||||
sudo zypper ref
|
||||
```
|
||||
{%- endif %}
|
||||
|
||||
:::::
|
||||
::::::
|
||||
{%- endcall -%}
|
||||
{%- endcall %}
|
||||
|
||||
### Install packages
|
||||
|
||||
Use the installer script as given below:
|
||||
|
||||
```none
|
||||
```shell
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease=<release-number-1>
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease=<release-number-2>
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease=<release-number-3>
|
||||
```
|
||||
|
||||
Following are examples of ROCm multi-version installation. The kernel-mode
|
||||
driver, associated with the ROCm release v5.5.1, will be installed as its latest
|
||||
driver, associated with the ROCm release {{ linux.supported_family[0].rocm_version }}, will be installed as its latest
|
||||
release in the list.
|
||||
|
||||
```none
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease=5.3.3
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease=5.5.1
|
||||
```shell
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease={{ linux.supported_family[0].rocm_version }}
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease=5.6.1
|
||||
sudo amdgpu-install --usecase=rocm --rocmrelease=5.5.3
|
||||
```
|
||||
|
||||
## Additional options
|
||||
120
docs/deploy/linux/linux.template.jinja
Normal file
@@ -0,0 +1,120 @@
|
||||
{%- set supported_family = ([
|
||||
{
|
||||
"tag": "instinct",
|
||||
"name": "Select OS",
|
||||
"amdgpu_version": "5.7.1",
|
||||
"amdgpu_install_version": "5.7.50701-1",
|
||||
"rocm_version": "5.7.1",
|
||||
"rocm_install_version": "5.7.50701-1",
|
||||
}
|
||||
]) -%}
|
||||
|
||||
{%- set supported_os = ([
|
||||
{
|
||||
"tag": "ubuntu",
|
||||
"name": "Ubuntu",
|
||||
"shortname" : "Ubuntu",
|
||||
"version": [
|
||||
{
|
||||
"number": "22.04",
|
||||
"release": "jammy"
|
||||
},
|
||||
{
|
||||
"number": "20.04",
|
||||
"release": "focal"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tag": "rhel",
|
||||
"name": "Red Hat Enterprise Linux",
|
||||
"shortname" : "RHEL",
|
||||
"version": [
|
||||
{
|
||||
"number": "8.8",
|
||||
"release": "rhel8"
|
||||
},
|
||||
{
|
||||
"number": "8.7",
|
||||
"release": "rhel8"
|
||||
},
|
||||
{
|
||||
"number": "8.6",
|
||||
"release": "rhel8"
|
||||
},
|
||||
{
|
||||
"number": "9.2",
|
||||
"release": "rhel9"
|
||||
},
|
||||
{
|
||||
"number": "9.1",
|
||||
"release": "rhel9"
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"tag": "sle",
|
||||
"name": "SUSE Linux Enterprise Server",
|
||||
"shortname" : "SLES",
|
||||
"version": [
|
||||
{
|
||||
"number": "15.5"
|
||||
},
|
||||
{
|
||||
"number": "15.4"
|
||||
},
|
||||
]
|
||||
}
|
||||
]) -%}
|
||||
|
||||
{%- macro for_family_in(supported_family) %}
|
||||
::::::::{tab-set}
|
||||
{%- for family in supported_family %}
|
||||
:::::::{tab-item} {{ family.name }}
|
||||
:sync: {{ family.tag }}
|
||||
{{ caller(family) }}
|
||||
|
||||
:::::::
|
||||
{%- endfor %}
|
||||
::::::::
|
||||
{%- endmacro -%}
|
||||
|
||||
{%- macro for_os_in(supported_os) %}
|
||||
::::::{tab-set}
|
||||
{%- for os in supported_os %}
|
||||
:::::{tab-item} {{ os.name }}
|
||||
:sync: {{ os.tag }}
|
||||
{{ caller(os) }}
|
||||
|
||||
:::::
|
||||
{%- endfor %}
|
||||
::::::
|
||||
{%- endmacro -%}
|
||||
|
||||
{%- macro for_version_in(os) %}
|
||||
::::{tab-set}
|
||||
{%- for version in os.version %}
|
||||
:::{tab-item} {{ os.shortname }} {{ version.number }}
|
||||
:sync: {{ os.tag }}-{{ version.number }}
|
||||
{{ caller(version) }}
|
||||
|
||||
:::
|
||||
{%- endfor %}
|
||||
::::
|
||||
{%- endmacro -%}
|
||||
|
||||
{%- macro install(os, argument) %}
|
||||
```shell
|
||||
{%- if os.tag == "ubuntu" %}
|
||||
sudo apt install {{ argument }}
|
||||
{%- elif os.tag == "rhel" %}
|
||||
sudo yum install {{ argument }}
|
||||
{%- elif os.tag == "sle" %}
|
||||
sudo zypper install {{ argument }}
|
||||
{%- endif %}
|
||||
```
|
||||
{%- endmacro -%}
|
||||
|
||||
{%- macro header_anchor(family, os) -%}
|
||||
({{ caller() | lower | replace('#', '') | trim | replace(' ', '-')}}-{{ family.tag }}-{{ os.tag }})= {{ caller() }}
|
||||
{%- endmacro -%}
|
||||
@@ -1,5 +1,14 @@
|
||||
{%- import "deploy/linux/linux.template.jinja" as linux %}
|
||||
<!-- markdownlint-disable no-duplicate-header blanks-around-headings no-multiple-blanks -->
|
||||
# Installation (Linux)
|
||||
|
||||
```{warning}
|
||||
ROCm currently doesn't support integrated graphics. Should your system have an
|
||||
AMD IGP installed, disable it in the BIOS prior to using ROCm. If the driver can
|
||||
enumerate the IGP, the ROCm runtime may crash the system, even if told to omit
|
||||
it via {ref}`hip_visible_devices`.
|
||||
```
|
||||
|
||||
## Understanding the Release-specific AMDGPU and ROCm Repositories on Linux Distributions
|
||||
|
||||
The release-specific repositories consist of packages from a specific release of
|
||||
@@ -12,10 +21,9 @@ installed version by using the multi-version ROCm packages.
|
||||
|
||||
## Step by Step Instructions
|
||||
|
||||
::::::{tab-set}
|
||||
:::::{tab-item} Ubuntu
|
||||
:sync: ubuntu
|
||||
{%- call(os) linux.for_os_in(linux.supported_os) %}
|
||||
|
||||
{%- if os.tag == "ubuntu" %}
|
||||
::::{rubric} 1. Download and convert the package signing key
|
||||
::::
|
||||
|
||||
@@ -46,31 +54,22 @@ section.
|
||||
```
|
||||
|
||||
To add the AMDGPU repository, follow these steps:
|
||||
{% call(version) linux.for_version_in(os) %}
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Ubuntu 20.04
|
||||
:sync: ubuntu-20.04
|
||||
```{important}
|
||||
Instructions for {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
# version
|
||||
ver={{ linux.supported_family[0].amdgpu_version }}
|
||||
|
||||
# amdgpu repository for focal
|
||||
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5.1/ubuntu focal main' \
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$ver/ubuntu {{ version.release }} main" \
|
||||
| sudo tee /etc/apt/sources.list.d/amdgpu.list
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} Ubuntu 22.04
|
||||
:sync: ubuntu-22.04
|
||||
|
||||
```shell
|
||||
# amdgpu repository for jammy
|
||||
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5.1/ubuntu jammy main' \
|
||||
| sudo tee /etc/apt/sources.list.d/amdgpu.list
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
{%- endcall %}
|
||||
|
||||
Install the kernel mode driver and reboot the system using the following
|
||||
commands:
|
||||
@@ -85,38 +84,23 @@ sudo reboot
|
||||
|
||||
To add the ROCm repository, use the following steps:
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Ubuntu 20.04
|
||||
:sync: ubuntu-20.04
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
```{important}
|
||||
Instructions for {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
# ROCm repositories for focal
|
||||
for ver in 5.3.3 5.4.3 5.5.1; do
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" \
|
||||
# ROCm repositories for {{ version.release }}
|
||||
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver {{ version.release }} main" \
|
||||
| sudo tee --append /etc/apt/sources.list.d/rocm.list
|
||||
done
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
|
||||
| sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} Ubuntu 22.04
|
||||
:sync: ubuntu-22.04
|
||||
|
||||
```shell
|
||||
# ROCm repositories for jammy
|
||||
for ver in 5.3.3 5.4.3 5.5.1; do
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver jammy main" \
|
||||
| sudo tee --append /etc/apt/sources.list.d/rocm.list
|
||||
done
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
|
||||
| sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
{%- endcall %}
|
||||
|
||||
::::{rubric} 4. Install packages
|
||||
::::
|
||||
@@ -136,13 +120,9 @@ For a comprehensive list of meta-packages, refer to
|
||||
- Sample Multi-version installation
|
||||
|
||||
```shell
|
||||
sudo apt install rocm-hip-sdk5.5.1 rocm-hip-sdk5.3.3
|
||||
sudo apt install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1 rocm-hip-sdk5.5.3
|
||||
```
|
||||
|
||||
:::::
|
||||
:::::{tab-item} Red Hat Enterprise Linux
|
||||
:sync: RHEL
|
||||
|
||||
{%- elif os.tag == "rhel" %}
|
||||
::::{rubric} 1. Add the AMDGPU Stack Repository and Install the Kernel-mode Driver
|
||||
::::
|
||||
|
||||
@@ -150,17 +130,20 @@ For a comprehensive list of meta-packages, refer to
|
||||
If you have a version of the kernel-mode driver installed, you may skip this
|
||||
section.
|
||||
```
|
||||
{% call(version) linux.for_version_in(os) %}
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} RHEL 8.6
|
||||
:sync: RHEL-8.6
|
||||
:sync: RHEL-8
|
||||
```{important}
|
||||
Instructions for {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
# version
|
||||
ver={{ linux.supported_family[0].amdgpu_version }}
|
||||
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/rhel/8.6/main/x86_64/
|
||||
baseurl=https://repo.radeon.com/amdgpu/$ver/rhel/{{ version.number }}/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
@@ -168,48 +151,7 @@ gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} RHEL 8.7
|
||||
:sync: RHEL-8.7
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/rhel/8.7/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} RHEL 9.1
|
||||
:sync: RHEL-9.1
|
||||
:sync: RHEL-9
|
||||
|
||||
```shell
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/rhel/9.1/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
{%- endcall %}
|
||||
Install the kernel mode driver and reboot the system using the following
|
||||
commands:
|
||||
|
||||
@@ -228,7 +170,7 @@ To add the ROCm repository, use the following steps, based on your distribution:
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3 5.5.1; do
|
||||
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
|
||||
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
@@ -239,6 +181,7 @@ gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
done
|
||||
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
@@ -247,7 +190,7 @@ sudo yum clean all
|
||||
:sync: RHEL-9
|
||||
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3 5.5.1; do
|
||||
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
|
||||
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
@@ -282,13 +225,9 @@ For a comprehensive list of meta-packages, refer to
|
||||
- Sample Multi-version installation
|
||||
|
||||
```shell
|
||||
sudo yum install rocm-hip-sdk5.5.1 rocm-hip-sdk5.3.3
|
||||
sudo yum install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1
|
||||
```
|
||||
|
||||
:::::
|
||||
:::::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
|
||||
{%- elif os.tag == "sle" %}
|
||||
::::{rubric} 1. Add the AMDGPU Repository and Install the Kernel-mode Driver
|
||||
::::
|
||||
|
||||
@@ -296,18 +235,27 @@ For a comprehensive list of meta-packages, refer to
|
||||
If you have a version of the kernel-mode driver installed, you may skip this
|
||||
section.
|
||||
```
|
||||
{% call(version) linux.for_version_in(os) %}
|
||||
|
||||
```{important}
|
||||
Instructions for {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
# version
|
||||
ver={{ linux.supported_family[0].amdgpu_version }}
|
||||
|
||||
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/sle/15.4/main/x86_64
|
||||
baseurl=https://repo.radeon.com/amdgpu/$ver/sle/{{ version.number }}/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
sudo zypper ref
|
||||
```
|
||||
{%- endcall %}
|
||||
|
||||
Install the kernel mode driver and reboot the system using the following
|
||||
commands:
|
||||
@@ -323,7 +271,7 @@ sudo reboot
|
||||
To add the ROCm repository, use the following steps:
|
||||
|
||||
```shell
|
||||
for ver in 5.3.3 5.4.3 5.5.1; do
|
||||
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
|
||||
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
@@ -355,14 +303,12 @@ For a comprehensive list of meta-packages, refer to
|
||||
- Sample Multi-version installation
|
||||
|
||||
```shell
|
||||
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk5.5.1 rocm-hip-sdk5.3.3
|
||||
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1
|
||||
```
|
||||
|
||||
:::::
|
||||
::::::
|
||||
{%- endif %}
|
||||
{%- endcall %}
|
||||
|
||||
(post-install-actions-linux)=
|
||||
|
||||
## Post-install Actions and Verification Process
|
||||
|
||||
The post-install actions listed here are optional and depend on your use case,
|
||||
@@ -392,7 +338,8 @@ but are generally useful. Verification of the install is advised.
|
||||
2. Add binary paths to the `PATH` environment variable.
|
||||
|
||||
```shell
|
||||
export PATH=$PATH:/opt/rocm-5.5.1/bin:/opt/rocm-5.5.1/opencl/bin
|
||||
export PATH=$PATH:/opt/rocm-{{ linux.supported_family[0].rocm_version }}/bin:/opt/rocm-{{ linux.supported_family[0].rocm_version }}/opencl/bin
|
||||
|
||||
```
|
||||
|
||||
```{attention}
|
||||
@@ -435,31 +382,18 @@ by both commands, the installation is considered successful:
|
||||
|
||||
To ensure the packages are installed successfully, use the following commands:
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Ubuntu
|
||||
:sync: ubuntu
|
||||
|
||||
{%- call(os) linux.for_os_in(linux.supported_os) %}
|
||||
{%- if os.tag == "ubuntu" %}
|
||||
```shell
|
||||
sudo apt list --installed
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} Red Hat Enterprise Linux
|
||||
:sync: RHEL
|
||||
|
||||
{%- elif os.tag == "rhel" %}
|
||||
```shell
|
||||
sudo yum list installed
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
{%- elif os.tag == "sle" %}
|
||||
```shell
|
||||
sudo zypper search --installed-only
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
{%- endif %}
|
||||
{%- endcall %}
|
||||
@@ -12,8 +12,6 @@ following AMD ROCm programming models:
|
||||
A meta-package is a grouping of related packages and dependencies used to
|
||||
support a specific use case.
|
||||
|
||||
**Example:** Running HIP applications
|
||||
|
||||
All meta-packages exist in both versioned and non-versioned forms.
|
||||
|
||||
- Non-versioned packages – For a single-version installation of the ROCm stack
|
||||
|
||||
@@ -114,8 +114,8 @@ sudo yum autoremove amdgpu-dkms
|
||||
```
|
||||
|
||||
:::::
|
||||
:::::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
:::::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
::::{rubric} Uninstalling Specific Meta-packages
|
||||
::::
|
||||
|
||||
@@ -25,8 +25,12 @@ repository to the new release.
|
||||
:sync: ubuntu-20.04
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
# amdgpu repository for focal
|
||||
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5.1/ubuntu focal main' \
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$version/ubuntu focal main" \
|
||||
| sudo tee /etc/apt/sources.list.d/amdgpu.list
|
||||
sudo apt update
|
||||
```
|
||||
@@ -36,8 +40,12 @@ sudo apt update
|
||||
:sync: ubuntu-22.04
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
# amdgpu repository for jammy
|
||||
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.5.1/ubuntu jammy main' \
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$version/ubuntu jammy main" \
|
||||
| sudo tee /etc/apt/sources.list.d/amdgpu.list
|
||||
sudo apt update
|
||||
```
|
||||
@@ -54,10 +62,14 @@ sudo apt update
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/rhel/8.6/main/x86_64/
|
||||
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/8.6/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
@@ -72,10 +84,36 @@ sudo yum clean all
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/rhel/8.7/main/x86_64/
|
||||
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/8.7/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} RHEL 8.8
|
||||
:sync: RHEL-8.8
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/8.8/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
@@ -90,10 +128,36 @@ sudo yum clean all
|
||||
:sync: RHEL-9
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/rhel/9.1/main/x86_64/
|
||||
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/9.1/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} RHEL 9.2
|
||||
:sync: RHEL-9.2
|
||||
:sync: RHEL-9
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/9.2/main/x86_64/
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
@@ -105,14 +169,22 @@ sudo yum clean all
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
:::::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
:::::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} SLES 15.4
|
||||
:sync: SLES-15.4
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/5.5.1/sle/15.4/main/x86_64
|
||||
baseurl=https://repo.radeon.com/amdgpu/$version/sle/15.4/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
@@ -120,6 +192,28 @@ EOF
|
||||
sudo zypper ref
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} SLES 15.5
|
||||
:sync: SLES-15.5
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/$version/sle/15.5/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
sudo zypper ref
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
::::::
|
||||
|
||||
@@ -147,8 +241,8 @@ sudo reboot
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
sudo zypper --gpg-auto-import-keys install amdgpu-dkms
|
||||
@@ -172,7 +266,11 @@ repository to the new release.
|
||||
:sync: ubuntu-20.04
|
||||
|
||||
```shell
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.5.1 focal main" \
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$version focal main" \
|
||||
| sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
|
||||
| sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
@@ -184,7 +282,11 @@ sudo apt update
|
||||
:sync: ubuntu-22.04
|
||||
|
||||
```shell
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.5.1 jammy main" \
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$version jammy main" \
|
||||
| sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
|
||||
| sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
@@ -202,10 +304,14 @@ sudo apt update
|
||||
:sync: RHEL-8
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
|
||||
[ROCm-5.5.1]
|
||||
name=ROCm5.5.1
|
||||
baseurl=https://repo.radeon.com/rocm/rhel8/5.5.1/main
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
baseurl=https://repo.radeon.com/rocm/rhel8/$version/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
@@ -219,10 +325,14 @@ sudo yum clean all
|
||||
:sync: RHEL-9
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
|
||||
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
|
||||
[ROCm-5.5.1]
|
||||
name=ROCm5.5.1
|
||||
baseurl=https://repo.radeon.com/rocm/rhel9/5.5.1/main
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
baseurl=https://repo.radeon.com/rocm/rhel9/$version/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
@@ -234,15 +344,18 @@ sudo yum clean all
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
:::::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
:::::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
# version
|
||||
version=5.7
|
||||
|
||||
sudo tee /etc/zypp/repos.d/rocm.repo <<EOF
|
||||
[ROCm-5.5.1]
|
||||
name=ROCm5.5.1
|
||||
[ROCm-$ver]
|
||||
name=ROCm$ver
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/zyp/5.5.1/main
|
||||
baseurl=https://repo.radeon.com/rocm/zyp/$version/main
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
@@ -275,8 +388,8 @@ sudo yum update rocm-hip-sdk
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} Suse Linux Enterprise Server 15
|
||||
:sync: SLES15
|
||||
:::{tab-item} Suse Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
sudo zypper --gpg-auto-import-keys update rocm-hip-sdk
|
||||
|
||||
@@ -91,6 +91,7 @@ sudo rpm -ivh epel-release-latest-8.noarch.rpm
|
||||
|
||||
:::
|
||||
:::{tab-item} RHEL 9
|
||||
:sync: RHEL-9
|
||||
|
||||
```shell
|
||||
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||
@@ -110,14 +111,29 @@ sudo crb enable
|
||||
```
|
||||
|
||||
:::::
|
||||
:::::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:::::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
Add the perl languages repository.
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} SLES 15.4
|
||||
:sync: SLES-15.4
|
||||
|
||||
```shell
|
||||
zypper addrepo https://download.opensuse.org/repositories/devel:languages:perl/SLE_15_SP4/devel:languages:perl.repo
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} SLES 15.5
|
||||
:sync: SLES-15.5
|
||||
|
||||
```shell
|
||||
zypper addrepo https://download.opensuse.org/repositories/devel:/languages:/perl/15.5/devel:languages:perl.repo
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
:::::
|
||||
::::::
|
||||
|
||||
|
||||
@@ -1,287 +0,0 @@
|
||||
# Quick Start (Linux)
|
||||
|
||||
## Add Repositories
|
||||
|
||||
::::::{tab-set}
|
||||
:::::{tab-item} Ubuntu
|
||||
:sync: ubuntu
|
||||
|
||||
::::{rubric} 1. Download and convert the package signing key
|
||||
::::
|
||||
|
||||
```shell
|
||||
# Make the directory if it doesn't exist yet.
|
||||
# This location is recommended by the distribution maintainers.
|
||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||
# Download the key, convert the signing-key to a full
|
||||
# keyring required by apt and store in the keyring directory
|
||||
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
|
||||
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
||||
```
|
||||
|
||||
::::{rubric} 2. Add the repositories
|
||||
::::
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Ubuntu 20.04
|
||||
:sync: ubuntu-20.04
|
||||
|
||||
```shell
|
||||
# Kernel driver repository for focal
|
||||
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF'
|
||||
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/latest/ubuntu focal main
|
||||
EOF
|
||||
# ROCm repository for focal
|
||||
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
|
||||
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/debian focal main
|
||||
EOF
|
||||
```
|
||||
|
||||
:::
|
||||
:::{tab-item} Ubuntu 22.04
|
||||
:sync: ubuntu-22.04
|
||||
|
||||
```shell
|
||||
# Kernel driver repository for jammy
|
||||
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF'
|
||||
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/latest/ubuntu jammy main
|
||||
EOF
|
||||
# ROCm repository for jammy
|
||||
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
|
||||
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/debian jammy main
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
EOF
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
::::{rubric} 3. Update the list of packages
|
||||
::::
|
||||
|
||||
```shell
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
:::::
|
||||
|
||||
:::::{tab-item} Red Hat Enterprise Linux
|
||||
:sync: RHEL
|
||||
|
||||
::::{rubric} 1. Add the repositories
|
||||
::::
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} RHEL 8.6
|
||||
:sync: RHEL-8.6
|
||||
|
||||
```shell
|
||||
# Add the amdgpu module repository for RHEL 8.6
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/latest/rhel/8.6/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
# Add the rocm repository for RHEL 8
|
||||
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
|
||||
[rocm]
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/rhel8/latest/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} RHEL 8.7
|
||||
:sync: RHEL-8.7
|
||||
|
||||
```shell
|
||||
# Add the amdgpu module repository for RHEL 8.7
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/latest/rhel/8.7/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
# Add the rocm repository for RHEL 8
|
||||
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
|
||||
[rocm]
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/rhel8/latest/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} RHEL 9.1
|
||||
:sync: RHEL-9.1
|
||||
|
||||
```shell
|
||||
# Add the amdgpu module repository for RHEL 9.1
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/latest/rhel/9.1/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
# Add the rocm repository for RHEL 9
|
||||
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
|
||||
[rocm]
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/rhel9/latest/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
::::{rubric} 2. Clean cached files from enabled repositories
|
||||
::::
|
||||
|
||||
```shell
|
||||
sudo yum clean all
|
||||
```
|
||||
|
||||
:::::
|
||||
|
||||
:::::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
::::{rubric} 1. Add the repositories
|
||||
::::
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} SLES 15 SP4
|
||||
:sync: SLES15-SP4
|
||||
|
||||
```shell
|
||||
|
||||
# Add the amdgpu module repository for SLES 15.4
|
||||
sudo tee /etc/zypp/repos.d/amdgpu.repo <<'EOF'
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/latest/sle/15.4/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
# Add the rocm repository for SLES
|
||||
sudo tee /etc/zypp/repos.d/rocm.repo <<'EOF'
|
||||
[rocm]
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/zyp/zypper
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
::::{rubric} 2. Update the new repository
|
||||
::::
|
||||
|
||||
```shell
|
||||
sudo zypper ref
|
||||
```
|
||||
|
||||
:::::
|
||||
::::::
|
||||
|
||||
## Install Drivers
|
||||
|
||||
Install the `amdgpu-dkms` kernel module, aka driver, on your system.
|
||||
|
||||
::::{tab-set}
|
||||
|
||||
:::{tab-item} Ubuntu
|
||||
:sync: ubuntu
|
||||
|
||||
```shell
|
||||
sudo apt install amdgpu-dkms
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} Red Hat Enterprise Linux
|
||||
:sync: RHEL
|
||||
|
||||
```shell
|
||||
sudo yum install amdgpu-dkms
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
sudo zypper install amdgpu-dkms
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
## Install ROCm Runtimes
|
||||
|
||||
Install the `rocm-hip-libraries` meta-package. This contains dependencies for most
|
||||
common ROCm applications.
|
||||
|
||||
::::{tab-set}
|
||||
:::{tab-item} Ubuntu
|
||||
:sync: ubuntu
|
||||
|
||||
```console shell
|
||||
sudo apt install rocm-hip-libraries
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} Red Hat Enterprise Linux
|
||||
:sync: RHEL
|
||||
|
||||
```console shell
|
||||
sudo yum install rocm-hip-libraries
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```console shell
|
||||
sudo zypper install rocm-hip-libraries
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
## Reboot the system
|
||||
|
||||
Loading the new driver requires a reboot of the system.
|
||||
|
||||
```shell
|
||||
sudo reboot
|
||||
```
|
||||
161
docs/deploy/linux/quick_start.md.jinja
Normal file
@@ -0,0 +1,161 @@
|
||||
{%- import "deploy/linux/linux.template.jinja" as linux %}
|
||||
<!-- markdownlint-disable no-duplicate-header blanks-around-headings no-multiple-blanks -->
|
||||
# Quick Start (Linux)
|
||||
|
||||
## Add Repositories
|
||||
{% call(family) linux.for_family_in(linux.supported_family) %}
|
||||
|
||||
{%- if family.tag == "instinct" %}
|
||||
|
||||
{%- call(os) linux.for_os_in(linux.supported_os) %}
|
||||
|
||||
{%- if os.tag == "ubuntu" %}
|
||||
::::{rubric} 1. Download and convert the package signing key
|
||||
::::
|
||||
|
||||
```shell
|
||||
# Make the directory if it doesn't exist yet.
|
||||
# This location is recommended by the distribution maintainers.
|
||||
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||
# Download the key, convert the signing-key to a full
|
||||
# keyring required by apt and store in the keyring directory
|
||||
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
|
||||
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
||||
```
|
||||
|
||||
::::{rubric} 2. Add the repositories
|
||||
::::
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
# Kernel driver repository for {{ version.release }}
|
||||
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF'
|
||||
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/{{ family.amdgpu_version }}/ubuntu {{ version.release }} main
|
||||
EOF
|
||||
# ROCm repository for {{ version.release }}
|
||||
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
|
||||
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/debian {{ version.release }} main
|
||||
EOF
|
||||
# Prefer packages from the rocm repository over system packages
|
||||
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
||||
```
|
||||
|
||||
{%- endcall %}
|
||||
|
||||
::::{rubric} 3. Update the list of packages
|
||||
::::
|
||||
|
||||
```shell
|
||||
sudo apt update
|
||||
```
|
||||
{%- elif os.tag == "rhel" %}
|
||||
::::{rubric} 1. Add the repositories
|
||||
::::
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
# Add the amdgpu module repository for RHEL {{ version.number }}
|
||||
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/{{ family.amdgpu_version }}/rhel/{{ version.number }}/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
# Add the rocm repository for {{ version.release | upper }}
|
||||
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
|
||||
[rocm]
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/{{ version.release }}/latest/main
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
```
|
||||
|
||||
{%- endcall %}
|
||||
|
||||
::::{rubric} 2. Clean cached files from enabled repositories
|
||||
::::
|
||||
|
||||
```shell
|
||||
sudo yum clean all
|
||||
```
|
||||
{%- elif os.tag == "sle" %}
|
||||
::::{rubric} 1. Add the repositories
|
||||
::::
|
||||
{%- call(version) linux.for_version_in(os) %}
|
||||
|
||||
```{important}
|
||||
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
|
||||
```
|
||||
|
||||
```shell
|
||||
# Add the amdgpu module repository for SLES {{ version.number }}
|
||||
sudo tee /etc/zypp/repos.d/amdgpu.repo <<'EOF'
|
||||
[amdgpu]
|
||||
name=amdgpu
|
||||
baseurl=https://repo.radeon.com/amdgpu/{{ family.amdgpu_version }}/sle/{{ version.number }}/main/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
# Add the rocm repository for SLES
|
||||
sudo tee /etc/zypp/repos.d/rocm.repo <<'EOF'
|
||||
[rocm]
|
||||
name=rocm
|
||||
baseurl=https://repo.radeon.com/rocm/zyp/zypper
|
||||
enabled=1
|
||||
priority=50
|
||||
gpgcheck=1
|
||||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
EOF
|
||||
```
|
||||
|
||||
{%- endcall %}
|
||||
|
||||
::::{rubric} 2. Update the new repository
|
||||
::::
|
||||
|
||||
```shell
|
||||
sudo zypper ref
|
||||
```
|
||||
{%- endif %}
|
||||
{%- endcall -%}
|
||||
{%- endif %}
|
||||
{%- endcall %}
|
||||
|
||||
## Install drivers
|
||||
|
||||
Install the `amdgpu-dkms` kernel module, aka driver, on your system.
|
||||
|
||||
{%- call(os) linux.for_os_in(linux.supported_os) %}
|
||||
{{ linux.install(os, "amdgpu-dkms")}}
|
||||
{%- endcall %}
|
||||
|
||||
## Install ROCm runtimes
|
||||
|
||||
Install the `rocm-hip-libraries` meta-package. This contains dependencies for most
|
||||
common ROCm applications.
|
||||
|
||||
{%- call(os) linux.for_os_in(linux.supported_os) %}
|
||||
{{ linux.install(os, "rocm-hip-libraries")}}
|
||||
{%- endcall %}
|
||||
|
||||
## Reboot the system
|
||||
|
||||
Loading the new driver requires a reboot of the system.
|
||||
|
||||
```shell
|
||||
sudo reboot
|
||||
```
|
||||
31
docs/deploy/windows/cli/index.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Command Line Installation
|
||||
|
||||
::::{grid} 2 3 3 3
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} Install
|
||||
:link: install
|
||||
:link-type: doc
|
||||
|
||||
How to install ROCm?
|
||||
:::
|
||||
|
||||
:::{grid-item-card} Upgrade
|
||||
:link: upgrade
|
||||
:link-type: doc
|
||||
|
||||
Instructions for upgrading an existing ROCm installation.
|
||||
:::
|
||||
|
||||
:::{grid-item-card} Uninstall
|
||||
:link: uninstall
|
||||
:link-type: doc
|
||||
|
||||
Steps for removing ROCm packages and libraries.
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
## See Also
|
||||
|
||||
- {doc}`/release/gpu_os_support`
|
||||
56
docs/deploy/windows/cli/install.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Installation Using the Command Line Interface
|
||||
|
||||
The steps to install the HIP SDK for Windows are described in this document.
|
||||
|
||||
## System Requirements
|
||||
|
||||
The HIP SDK is supported on Windows 10 and 11. The HIP SDK may be installed on a
|
||||
system without AMD GPUs to use the build toolchains. To run HIP applications, a
|
||||
compatible GPU is required. Please see the supported GPU guide for more details.
|
||||
|
||||
## HIP SDK Installation
|
||||
|
||||
The command line installer is the same executable which is used by the graphical
|
||||
front-end. Download the installer from the
|
||||
[HIP-SDK download page](https://www.amd.com/en/developer/rocm-hub/hip-sdk.html).
|
||||
The options supported by the command line interface are summarized in
|
||||
{numref}`hip-sdk-cli-options`.
|
||||
|
||||
```{table} HIP SDK Command Line Options
|
||||
:name: hip-sdk-cli-options
|
||||
| **Install Option** | **Description** |
|
||||
|:------------------:|:---------------:|
|
||||
| `-install` | Command used to install packages, both driver and applications. No output to the screen. |
|
||||
| `-install -boot` | Silent install with auto reboot. |
|
||||
| `-install -log <absolute path>` | Write install result code to the specified log file. The specified log file must be on a local machine. Double quotes are needed if there are spaces in the log file path. |
|
||||
| `-uninstall` | Command to uninstall all packages installed by this installer on the system. There is no option to specify which packages to uninstall. |
|
||||
| `-uninstall -boot` | Silent uninstall with auto reboot. |
|
||||
| `/?` or /help | Shows a brief description of all switch commands. |
|
||||
```
|
||||
|
||||
```{note}
|
||||
Unlike the graphical installer, the command line interface doesn't support
|
||||
selectively installing parts of the SDK bundle. It's all or nothing.
|
||||
```
|
||||
|
||||
### Launching the Installer From the Command Line
|
||||
|
||||
The installer is still a graphical application with a `WinMain` entry point, even
|
||||
when called on the command line. This means that the application lifetime is
|
||||
tied to a window, even on headless systems where that window may not be visible.
|
||||
To launch the installer from PowerShell that will block until the installer
|
||||
exits, one may use the following pattern:
|
||||
|
||||
```pwsh
|
||||
Start-Process $InstallerExecutable -ArgumentList $InstallerArgs -NoNewWindow -Wait
|
||||
```
|
||||
|
||||
```{important}
|
||||
Running the installer requires Administrator Privileges.
|
||||
```
|
||||
|
||||
For example, installing all components and
|
||||
|
||||
```pwsh
|
||||
Start-Process ~\Downloads\Setup.exe -ArgumentList '-install','-log',"${env:USERPROFILE}\installer_log.txt" -NoNewWindow -Wait
|
||||
```
|
||||
48
docs/deploy/windows/cli/uninstall.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Uninstallation Using the Command Line Interface
|
||||
|
||||
The steps to uninstall the HIP SDK for Windows are described in this document.
|
||||
|
||||
## HIP SDK Uninstallation
|
||||
|
||||
The command line installer is the same executable which is used by the graphical
|
||||
front-end. The options supported by the command line interface are summarized in
|
||||
{numref}`hip-sdk-cli-options`.
|
||||
|
||||
```{table} HIP SDK Command Line Options
|
||||
:name: hip-sdk-cli-options
|
||||
| **Install Option** | **Description** |
|
||||
|:------------------:|:---------------:|
|
||||
| `-install` | Command used to install packages, both driver and applications. No output to the screen. |
|
||||
| `-install -boot` | Silent install with auto reboot. |
|
||||
| `-install -log <absolute path>` | Write install result code to the specified log file. The specified log file must be on a local machine. Double quotes are needed if there are spaces in the log file path. |
|
||||
| `-uninstall` | Command to uninstall all packages installed by this installer on the system. There is no option to specify which packages to uninstall. |
|
||||
| `-uninstall -boot` | Silent uninstall with auto reboot. |
|
||||
| `/?` or /help | Shows a brief description of all switch commands. |
|
||||
```
|
||||
|
||||
```{note}
|
||||
Unlike the graphical installer, the command line interface doesn't support
|
||||
selectively installing parts of the SDK bundle. It's all or nothing.
|
||||
```
|
||||
|
||||
### Launching the Installer From the Command Line
|
||||
|
||||
The installer is still a graphical application with a `WinMain` entry point, even
|
||||
when called on the command line. This means that the application lifetime is
|
||||
tied to a window, even on headless systems where that window may not be visible.
|
||||
To launch the installer from PowerShell that will block until the installer
|
||||
exits, one may use the following pattern:
|
||||
|
||||
```pwsh
|
||||
Start-Process $InstallerExecutable -ArgumentList $InstallerArgs -NoNewWindow -Wait
|
||||
```
|
||||
|
||||
```{important}
|
||||
Running the installer requires Administrator Privileges.
|
||||
```
|
||||
|
||||
For example, uninstalling all components and
|
||||
|
||||
```pwsh
|
||||
Start-Process ~\Downloads\Setup.exe -ArgumentList '-uninstall' -NoNewWindow -Wait
|
||||
```
|
||||
14
docs/deploy/windows/cli/upgrade.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Upgrading Using the Graphical Interface
|
||||
|
||||
The steps to uninstall the HIP SDK for Windows are described in this document.
|
||||
|
||||
## HIP SDK Upgrade
|
||||
|
||||
To upgrade an existing installation of the HIP SDK without preserving the
|
||||
previous version, first uninstall it, then install the new version following the
|
||||
instructions in {doc}`/deploy/windows/cli/uninstall` and
|
||||
{doc}`/deploy/windows/cli/install` using the old and new installers
|
||||
respectively.
|
||||
|
||||
To upgrade by installing both versions side-by-side, just run the installer of
|
||||
the newer version.
|
||||
31
docs/deploy/windows/gui/index.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Graphical Installation
|
||||
|
||||
::::{grid} 2 3 3 3
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} Install
|
||||
:link: install
|
||||
:link-type: doc
|
||||
|
||||
How to install ROCm?
|
||||
:::
|
||||
|
||||
:::{grid-item-card} Upgrade
|
||||
:link: upgrade
|
||||
:link-type: doc
|
||||
|
||||
Instructions for upgrading an existing ROCm installation.
|
||||
:::
|
||||
|
||||
:::{grid-item-card} Uninstall
|
||||
:link: uninstall
|
||||
:link-type: doc
|
||||
|
||||
Steps for removing ROCm packages and libraries.
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
## See Also
|
||||
|
||||
- {doc}`/release/gpu_os_support`
|
||||
163
docs/deploy/windows/gui/install.md
Normal file
@@ -0,0 +1,163 @@
|
||||
# Installation Using the Graphical Interface
|
||||
|
||||
The steps to install the HIP SDK for Windows are described in this document.
|
||||
|
||||
## System Requirements
|
||||
|
||||
The HIP SDK is supported on Windows 10 and 11. The HIP SDK may be installed on a
|
||||
system without AMD GPUs to use the build toolchains. To run HIP applications, a
|
||||
compatible GPU is required. Please see the supported GPU guide for more details.
|
||||
|
||||
## HIP SDK Installation
|
||||
|
||||
### Download the installer
|
||||
|
||||
Download the installer from the
|
||||
[HIP-SDK download page](https://www.amd.com/en/developer/rocm-hub/hip-sdk.html).
|
||||
|
||||
### Launching the installer
|
||||
|
||||
To launch the AMD HIP SDK Installer, click the **Setup** icon shown in
|
||||
{numref}`setup-icon`.
|
||||
|
||||
```{figure} /data/deploy/windows/000-setup-icon.png
|
||||
:name: setup-icon
|
||||
:alt: Icon with AMD arrow logo and User Access Control Shield overlayed.
|
||||
Setup Icon
|
||||
```
|
||||
|
||||
The installer requires Administrator Privileges, so you may be greeted with a
|
||||
User Access Control (UAC) pop-up. Click Yes.
|
||||
|
||||
```{figure} /data/deploy/windows/001-uac-dark.png
|
||||
:name: uac-dark
|
||||
:class: only-dark
|
||||
:alt: User Access Control pop-up
|
||||
User Access Control pop-up
|
||||
```
|
||||
|
||||
```{figure} /data/deploy/windows/001-uac-light.png
|
||||
:name: uac-light
|
||||
:class: only-light
|
||||
:alt: User Access Control pop-up
|
||||
User Access Control pop-up
|
||||
```
|
||||
|
||||
The installer executable will temporarily extract installer packages to `C:\AMD`
|
||||
which it will remove after installation completes. This extraction is signified
|
||||
by the "Initializing install" window in {numref}`init-install`.
|
||||
|
||||
```{figure} /data/deploy/windows/002-initializing.png
|
||||
:name: init-install
|
||||
:alt: Window with AMD arrow logo, futuristic background and progress counter.
|
||||
Installer initialization window
|
||||
```
|
||||
|
||||
The installer will then detect your system configuration as per
|
||||
{numref}`detecting-system-components` to decide, which installable components
|
||||
are applicable to your system.
|
||||
|
||||
```{figure} /data/deploy/windows/003-detecting-system-config.png
|
||||
:name: detecting-system-components
|
||||
:alt: Window with AMD arrow logo, futuristic background and activity indicator.
|
||||
Installer initialization window.
|
||||
```
|
||||
|
||||
### Customizing the install
|
||||
|
||||
When the installer launches, it displays a window that lets the user customize
|
||||
the installation. By default, all components are selected for installation.
|
||||
Refer to {numref}`installer-window` for an instance when the Select All option
|
||||
is turned on.
|
||||
|
||||
```{figure} /data/deploy/windows/004-installer-window.png
|
||||
:name: installer-window
|
||||
:alt: Window with AMD arrow logo, futuristic background and activity indicator.
|
||||
Installer initialization window.
|
||||
```
|
||||
|
||||
#### HIP SDK Installer
|
||||
|
||||
The HIP SDK installation options are listed in {numref}`hip-sdk-options`.
|
||||
|
||||
```{table} HIP SDK Components for Installation
|
||||
:name: hip-sdk-options
|
||||
| **HIP Components** | **Install Type** | **Additional Options** |
|
||||
|:------------------:|:----------------:|:----------------------:|
|
||||
| HIP SDK Core | 5.5.0 | Install location |
|
||||
| HIP Libraries | Full, Partial, None | Runtime, Development (Libs and headers) |
|
||||
| HIP Runtime Compiler | Full, Partial, None | Runtime, Development (Headers) |
|
||||
| HIP Ray Tracing | Full, Partial, None | Runtime, Development (Headers) |
|
||||
| Visual Studio Plugin | Full, Partial, None | Visual Studio 2017, 2019, 2022 Plugin |
|
||||
```
|
||||
|
||||
```{note}
|
||||
The Select/DeSelect All option only applies to the installation of HIP SDK
|
||||
components. To install the bundled AMD Display Driver, manually select the
|
||||
install type.
|
||||
```
|
||||
|
||||
```{tip}
|
||||
Should you only wish to install a few select components,
|
||||
DeSelecting All and then picking the individual components may be more
|
||||
convenient.
|
||||
```
|
||||
|
||||
#### AMD Display Driver
|
||||
|
||||
The HIP SDK installer bundles an AMD Radeon Software PRO 23.10 installer. The
|
||||
supported install options are summarized by
|
||||
{numref}`display-driver-install-options`:
|
||||
|
||||
```{table} AMD Display Driver Install Options
|
||||
:name: display-driver-install-options
|
||||
| **Install Option** | **Description** |
|
||||
|:------------------:|:---------------:|
|
||||
| Install Location | Location on disk to store driver files. |
|
||||
| Install Type | The breadth of components to be installed. Refer to {numref}`display-driver-install-types` for details. |
|
||||
| Factory Reset (Optional) | A Factory Reset will remove all prior versions of AMD HIP SDK and drivers. You will not be able to roll back to previously installed drivers. |
|
||||
```
|
||||
|
||||
```{table} AMD Display Driver Install Types
|
||||
:name: display-driver-install-types
|
||||
| **Install Type** | **Description** |
|
||||
|:----------------:|:---------------:|
|
||||
| Full Install | Provides all AMD Software features and controls for gaming, recording, streaming, and tweaking the performance on your graphics hardware. |
|
||||
| Minimal Install | Provides only the basic controls for AMD Software features and does not include advanced features such as performance tweaking or recording and capturing content. |
|
||||
| Driver Only | Provides no user interface for AMD Software features. |
|
||||
```
|
||||
|
||||
```{note}
|
||||
You must perform a system restart for a complete installation of the
|
||||
Display Driver.
|
||||
```
|
||||
|
||||
### Installing Components
|
||||
|
||||
Please wait for the installation to complete during as shown in
|
||||
{numref}`install-progress`.
|
||||
|
||||
```{figure} /data/deploy/windows/012-install-progress.png
|
||||
:name: install-progress
|
||||
:alt: Window with AMD arrow logo, futuristic background and progress meter.
|
||||
Installation Progress
|
||||
```
|
||||
|
||||
### Installation Complete
|
||||
|
||||
Once the installation is complete, the installer window may prompt you for a
|
||||
system restart. Click **Restart** at the lower right corner, shown in
|
||||
{numref}`install-complete`
|
||||
|
||||
```{figure} /data/deploy/windows/013-install-complete.png
|
||||
:name: install-complete
|
||||
:alt: Window with AMD arrow logo, futuristic background and completion notice.
|
||||
Installation Complete
|
||||
```
|
||||
|
||||
```{error}
|
||||
Should the installer terminate due to unexpcted circumstances, or the user
|
||||
forcibly terminates the installer, the temporary directory created under
|
||||
`C:\AMD` may be safely removed. Installed components will not depend on this
|
||||
folder (unless the user specifies `C:\AMD` as an install folder explicitly).
|
||||
```
|
||||
27
docs/deploy/windows/gui/uninstall.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Uninstallation Using the Graphical Interface
|
||||
|
||||
The steps to uninstall the HIP SDK for Windows are described in this document.
|
||||
|
||||
## Uninstallation
|
||||
|
||||
All components, except visual studio plug-in should be uninstalled through
|
||||
control panel -> Add/Remove Program. For visual studio extension uninstallation,
|
||||
please refer to
|
||||
<https://github.com/ROCm-Developer-Tools/HIP-VS/blob/master/README.md>.
|
||||
Uninstallation of the HIP SDK components can be done through the Windows
|
||||
Settings app. Navigate to "Apps > Installed apps", click the "..." on the far
|
||||
right next to the component to uninstall, and click "Uninstall".
|
||||
|
||||
```{figure} /data/deploy/windows/014-uninstall-dark.png
|
||||
:name: uninstall-dark
|
||||
:class: only-dark
|
||||
:alt: Installed apps section of the Setting app showing installed HIP SDK components.
|
||||
Removing the SDK via the Setting app
|
||||
```
|
||||
|
||||
```{figure} /data/deploy/windows/014-uninstall-light.png
|
||||
:name: uninstall-light
|
||||
:class: only-light
|
||||
:alt: Installed apps section of the Setting app showing installed HIP SDK components.
|
||||
Removing the SDK via the Setting app
|
||||
```
|
||||
4
docs/deploy/windows/gui/upgrade.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Upgrading Using the Graphical Interface
|
||||
|
||||
The steps to upgrade an existing HIP SDK installation for Windows are described
|
||||
in this document.
|
||||
65
docs/deploy/windows/index.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Install ROCm (HIP SDK) on Windows
|
||||
|
||||
Start with {doc}`/deploy/windows/quick_start` or follow the detailed
|
||||
instructions below.
|
||||
|
||||
## Prepare to Install
|
||||
|
||||
::::{grid} 1 1 2 2
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} Prerequisites
|
||||
:link: prerequisites
|
||||
:link-type: doc
|
||||
|
||||
The prerequisites page lists the required steps to verify that the system
|
||||
supports ROCm.
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
## Choose your install method
|
||||
|
||||
::::{grid} 1 1 2 2
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} Graphical Installation
|
||||
:link: gui/index
|
||||
:link-type: doc
|
||||
|
||||
Use the graphical front-end of the installer.
|
||||
:::
|
||||
|
||||
:::{grid-item-card} Command Line Installation
|
||||
:link: cli/index
|
||||
:link-type: doc
|
||||
|
||||
Use the command line front-end of the installer.
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
## Post Installation
|
||||
|
||||
::::{grid} 1 1 2 2
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} ROCm-Examples
|
||||
:link: https://github.com/amd/rocm-examples
|
||||
:link-type: url
|
||||
|
||||
Learn how to use ROCm with descriptive examples for novice to intermediate users.
|
||||
:::
|
||||
|
||||
:::{grid-item-card} Windows App Deployment Guidelines
|
||||
:link: ../../understand/windows-app-deployment-guidelines
|
||||
:link-type: doc
|
||||
|
||||
Discusses strategies on how to bundle HIP libraries with an end user application.
|
||||
:::
|
||||
|
||||
::::
|
||||
|
||||
## See Also
|
||||
|
||||
- {doc}`/release/gpu_os_support`
|
||||
74
docs/deploy/windows/prerequisites.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Installation Prerequisites (Windows)
|
||||
|
||||
You must perform the following steps before installing ROCm and check if the
|
||||
system meets all the requirements to proceed with the installation.
|
||||
|
||||
## Confirm the System Is Supported
|
||||
|
||||
The ROCm installation is supported only on specific host architectures, Windows
|
||||
Editions and update versions.
|
||||
|
||||
### Check the Windows Editions and Update Version on Your System
|
||||
|
||||
This section discusses obtaining information about the host architecture,
|
||||
Windows Edition and update version.
|
||||
|
||||
#### Command Line Check
|
||||
|
||||
Verify the Windows Edition using the following steps:
|
||||
|
||||
1. To obtain the Linux distribution information, type the following command on
|
||||
your system from a PowerShell Command Line Interface (CLI):
|
||||
|
||||
```pwsh
|
||||
Get-ComputerInfo | Format-Table CsSystemType,OSName,OSDisplayVersion
|
||||
```
|
||||
|
||||
2. Confirm that the obtained information matches with those listed in
|
||||
{ref}`supported_skus`.
|
||||
|
||||
**Example:** Running the command above on a Windows system may result in the
|
||||
following output:
|
||||
|
||||
```output
|
||||
CsSystemType OsName OSDisplayVersion
|
||||
------------ ------ ----------------
|
||||
x64-based PC Microsoft Windows 11 Pro 22H2
|
||||
```
|
||||
|
||||
#### Graphical Check
|
||||
|
||||
1. Open the Setting app.
|
||||
|
||||
```{figure} /data/deploy/windows/000-settings-dark.png
|
||||
:name: settings-dark
|
||||
:class: only-dark
|
||||
:alt: Gear icon of the Windows Settings app
|
||||
Windows Settings app icon
|
||||
```
|
||||
|
||||
```{figure} /data/deploy/windows/000-settings-light.png
|
||||
:name: settings-light
|
||||
:class: only-light
|
||||
:alt: Gear icon of the Windows Settings app
|
||||
Windows Settings app icon
|
||||
```
|
||||
|
||||
2. Navigate to **System > About**.
|
||||
|
||||
```{figure} /data/deploy/windows/001-about-dark.png
|
||||
:name: about-dark
|
||||
:class: only-dark
|
||||
:alt: Settings app panel showing Device and OS information
|
||||
Settings > About page
|
||||
```
|
||||
|
||||
```{figure} /data/deploy/windows/001-about-light.png
|
||||
:name: about-light
|
||||
:class: only-light
|
||||
:alt: Settings app panel showing Device and OS information
|
||||
Settings > About page
|
||||
```
|
||||
|
||||
3. Confirm that the obtained information matches with those listed in
|
||||
{ref}`supported_skus`.
|
||||
187
docs/deploy/windows/quick_start.md
Normal file
@@ -0,0 +1,187 @@
|
||||
# Quick Start (Windows)
|
||||
|
||||
The steps to install the HIP SDK for Windows are described in this document.
|
||||
|
||||
## System Requirements
|
||||
|
||||
The HIP SDK is supported on Windows 10 and 11. The HIP SDK may be installed on a
|
||||
system without AMD GPUs to use the build toolchains. To run HIP applications, a
|
||||
compatible GPU is required. Please see the supported GPU guide for more details.
|
||||
|
||||
## HIP SDK Installation
|
||||
|
||||
### Download the installer
|
||||
|
||||
Download the installer from the
|
||||
[HIP-SDK download page](https://www.amd.com/en/developer/rocm-hub/hip-sdk.html).
|
||||
|
||||
### Launching the installer
|
||||
|
||||
To launch the AMD HIP SDK Installer, click the **Setup** icon shown in
|
||||
{numref}`setup-icon`.
|
||||
|
||||
```{figure} /data/deploy/windows/000-setup-icon.png
|
||||
:name: setup-icon
|
||||
:alt: Icon with AMD arrow logo and User Access Control Shield overlayed.
|
||||
Setup Icon
|
||||
```
|
||||
|
||||
The installer requires Administrator Privileges, so you may be greeted with a
|
||||
User Access Control (UAC) pop-up. Click Yes.
|
||||
|
||||
```{figure} /data/deploy/windows/001-uac-dark.png
|
||||
:name: uac-dark
|
||||
:class: only-dark
|
||||
:alt: User Access Control pop-up
|
||||
User Access Control pop-up
|
||||
```
|
||||
|
||||
```{figure} /data/deploy/windows/001-uac-light.png
|
||||
:name: uac-light
|
||||
:class: only-light
|
||||
:alt: User Access Control pop-up
|
||||
User Access Control pop-up
|
||||
```
|
||||
|
||||
The installer executable will temporarily extract installer packages to `C:\AMD`
|
||||
which it will remove after installation completes. This extraction is signified
|
||||
by the "Initializing install" window in {numref}`init-install`.
|
||||
|
||||
```{figure} /data/deploy/windows/002-initializing.png
|
||||
:name: init-install
|
||||
:alt: Window with AMD arrow logo, futuristic background and progress counter.
|
||||
Installer initialization window
|
||||
```
|
||||
|
||||
The installer will then detect your system configuration as per
|
||||
{numref}`detecting-system-components` to decide, which installable components
|
||||
are applicable to your system.
|
||||
|
||||
```{figure} /data/deploy/windows/003-detecting-system-config.png
|
||||
:name: detecting-system-components
|
||||
:alt: Window with AMD arrow logo, futuristic background and activity indicator.
|
||||
Installer initialization window.
|
||||
```
|
||||
|
||||
### Customizing the install
|
||||
|
||||
When the installer launches, it displays a window that lets the user customize
|
||||
the installation. By default, all components are selected for installation.
|
||||
Refer to {numref}`installer-window` for an instance when the Select All option
|
||||
is turned on.
|
||||
|
||||
```{figure} /data/deploy/windows/004-installer-window.png
|
||||
:name: installer-window
|
||||
:alt: Window with AMD arrow logo, futuristic background and activity indicator.
|
||||
Installer initialization window.
|
||||
```
|
||||
|
||||
#### HIP SDK Installer
|
||||
|
||||
The HIP SDK installation options are listed in {numref}`hip-sdk-options`.
|
||||
|
||||
```{table} HIP SDK Components for Installation
|
||||
:name: hip-sdk-options
|
||||
| **HIP Components** | **Install Type** | **Additional Options** |
|
||||
|:------------------:|:----------------:|:----------------------:|
|
||||
| HIP SDK Core | 5.5.0 | Install location |
|
||||
| HIP Libraries | Full, Partial, None | Runtime, Development (Libs and headers) |
|
||||
| HIP Runtime Compiler | Full, Partial, None | Runtime, Development (Headers) |
|
||||
| HIP Ray Tracing | Full, Partial, None | Runtime, Development (Headers) |
|
||||
| Visual Studio Plugin | Full, Partial, None | Visual Studio 2017, 2019, 2022 Plugin |
|
||||
```
|
||||
|
||||
```{note}
|
||||
The Select/DeSelect All option only applies to the installation of HIP SDK
|
||||
components. To install the bundled AMD Display Driver, manually select the
|
||||
install type.
|
||||
```
|
||||
|
||||
```{tip}
|
||||
Should you only wish to install a few select components,
|
||||
DeSelecting All and then picking the individual components may be more
|
||||
convenient.
|
||||
```
|
||||
|
||||
#### AMD Display Driver
|
||||
|
||||
The HIP SDK installer bundles an AMD Radeon Software PRO 23.10 installer. The
|
||||
supported install options are summarized by
|
||||
{numref}`display-driver-install-options`:
|
||||
|
||||
```{table} AMD Display Driver Install Options
|
||||
:name: display-driver-install-options
|
||||
| **Install Option** | **Description** |
|
||||
|:------------------:|:---------------:|
|
||||
| Install Location | Location on disk to store driver files. |
|
||||
| Install Type | The breadth of components to be installed. Refer to {numref}`display-driver-install-types` for details. |
|
||||
| Factory Reset (Optional) | A Factory Reset will remove all prior versions of AMD HIP SDK and drivers. You will not be able to roll back to previously installed drivers. |
|
||||
```
|
||||
|
||||
```{table} AMD Display Driver Install Types
|
||||
:name: display-driver-install-types
|
||||
| **Install Type** | **Description** |
|
||||
|:----------------:|:---------------:|
|
||||
| Full Install | Provides all AMD Software features and controls for gaming, recording, streaming, and tweaking the performance on your graphics hardware. |
|
||||
| Minimal Install | Provides only the basic controls for AMD Software features and does not include advanced features such as performance tweaking or recording and capturing content. |
|
||||
| Driver Only | Provides no user interface for AMD Software features. |
|
||||
```
|
||||
|
||||
```{note}
|
||||
You must perform a system restart for a complete installation of the
|
||||
Display Driver.
|
||||
```
|
||||
|
||||
### Installing Components
|
||||
|
||||
Please wait for the installation to complete during as shown in
|
||||
{numref}`install-progress`.
|
||||
|
||||
```{figure} /data/deploy/windows/012-install-progress.png
|
||||
:name: install-progress
|
||||
:alt: Window with AMD arrow logo, futuristic background and progress meter.
|
||||
Installation Progress
|
||||
```
|
||||
|
||||
### Installation Complete
|
||||
|
||||
Once the installation is complete, the installer window may prompt you for a
|
||||
system restart. Click **Restart** at the lower right corner, shown in
|
||||
{numref}`install-complete`
|
||||
|
||||
```{figure} /data/deploy/windows/013-install-complete.png
|
||||
:name: install-complete
|
||||
:alt: Window with AMD arrow logo, futuristic background and completion notice.
|
||||
Installation Complete
|
||||
```
|
||||
|
||||
```{error}
|
||||
Should the installer terminate due to unexpcted circumstances, or the user
|
||||
forcibly terminates the installer, the temporary directory created under
|
||||
`C:\AMD` may be safely removed. Installed components will not depend on this
|
||||
folder (unless the user specifies `C:\AMD` as an install folder explicitly).
|
||||
```
|
||||
|
||||
## Uninstallation
|
||||
|
||||
All components, except visual studio plug-in should be uninstalled through
|
||||
control panel -> Add/Remove Program. For visual studio extension uninstallation,
|
||||
please refer to
|
||||
<https://github.com/ROCm-Developer-Tools/HIP-VS/blob/master/README.md>.
|
||||
Uninstallation of the HIP SDK components can be done through the Windows
|
||||
Settings app. Navigate to "Apps > Installed apps", click the "..." on the far
|
||||
right next to the component to uninstall, and click "Uninstall".
|
||||
|
||||
```{figure} /data/deploy/windows/014-uninstall-dark.png
|
||||
:name: uninstall-dark
|
||||
:class: only-dark
|
||||
:alt: Installed apps section of the Setting app showing installed HIP SDK components.
|
||||
Removing the SDK via the Setting app
|
||||
```
|
||||
|
||||
```{figure} /data/deploy/windows/014-uninstall-light.png
|
||||
:name: uninstall-light
|
||||
:class: only-light
|
||||
:alt: Installed apps section of the Setting app showing installed HIP SDK components.
|
||||
Removing the SDK via the Setting app
|
||||
```
|
||||
@@ -3,6 +3,14 @@
|
||||
:::::{grid} 1 1 2 2
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} ROCm using Radeon
|
||||
:link: {doc}`ROCm using Radeon <radeon:index>`
|
||||
:link-type: url
|
||||
ROCm and PyTorch installation processes to pair with the Radeon RX 7900 XTX GPU or the Radeon PRO W7900 GPU,
|
||||
and get started on a fully-functional environment for AI and ML development.
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} Tuning Guides
|
||||
:link: tuning_guides/index
|
||||
:link-type: doc
|
||||
|
||||
@@ -22,7 +22,7 @@ MPI project is an open source implementation of the Message Passing Interface
|
||||
and industry partners.
|
||||
|
||||
Several MPI implementations can be made ROCm-aware by compiling them with
|
||||
[Unified Communication Framework](http://www.openucx.org/) (UCX) support. One
|
||||
[Unified Communication Framework](https://www.openucx.org/) (UCX) support. One
|
||||
notable exception is MVAPICH2: It directly supports AMD GPUs without using UCX,
|
||||
and you can download it [here](http://mvapich.cse.ohio-state.edu/downloads/).
|
||||
Use the latest version of the MVAPICH2-GDR package.
|
||||
@@ -32,7 +32,7 @@ whose goal is to provide a common set of communication interfaces that targets a
|
||||
broad set of network programming models and interfaces. UCX is ROCm-aware, and
|
||||
ROCm technologies are used directly to implement various network operation
|
||||
primitives. For more details on the UCX design, refer to it's
|
||||
[documentation](http://www.openucx.org/documentation).
|
||||
[documentation](https://www.openucx.org/documentation).
|
||||
|
||||
## Building UCX
|
||||
|
||||
@@ -66,11 +66,8 @@ cd ucx
|
||||
./autogen.sh
|
||||
mkdir build
|
||||
cd build
|
||||
../contrib/configure-release -prefix=$UCX_DIR \
|
||||
--with-rocm=/opt/rocm \
|
||||
--without-cuda -enable-optimizations -disable-logging \
|
||||
--disable-debug -disable-assertions \
|
||||
--disable-params-check -without-java
|
||||
../configure -prefix=$UCX_DIR \
|
||||
--with-rocm=/opt/rocm
|
||||
make -j $(nproc)
|
||||
make -j $(nproc) install
|
||||
```
|
||||
@@ -93,9 +90,7 @@ cd ompi
|
||||
mkdir build
|
||||
cd build
|
||||
../configure --prefix=$OMPI_DIR --with-ucx=$UCX_DIR \
|
||||
--with-rocm=/opt/rocm \
|
||||
--enable-mca-no-build=btl-uct --enable-mpi1-compatibility \
|
||||
CC=clang CXX=clang++ FC=flang
|
||||
--with-rocm=/opt/rocm
|
||||
make -j $(nproc)
|
||||
make -j $(nproc) install
|
||||
```
|
||||
@@ -165,7 +160,12 @@ Inter-GPU bandwidth with various payload sizes.
|
||||
Collective Operations on GPU buffers are best handled through the
|
||||
Unified Collective Communication Library (UCC) component in Open MPI.
|
||||
For this, the UCC library has to be configured and compiled with ROCm
|
||||
support. An example for configuring UCC and Open MPI with ROCm support
|
||||
support.
|
||||
|
||||
Please note the compatibility [table](../release/3rd_party_support_matrix.md#communication-libraries)
|
||||
for UCC versions with the various ROCm versions.
|
||||
|
||||
An example for configuring UCC and Open MPI with ROCm support
|
||||
is shown below:
|
||||
|
||||
```shell
|
||||
|
||||
@@ -59,16 +59,7 @@ Follow these steps:
|
||||
|
||||
PyTorch supports the ROCm platform by providing tested wheels packages. To
|
||||
access this feature, refer to
|
||||
[https://pytorch.org/get-started/locally/](https://pytorch.org/get-started/locally/)
|
||||
and choose the "ROCm" compute platform. {numref}`Installation-Matrix-from-Pytorch` is a matrix from <http://pytorch.org/> that illustrates the installation compatibility between ROCm and the PyTorch build.
|
||||
|
||||
```{figure} ../../data/how_to/magma_install/image.006.png
|
||||
:name: Installation-Matrix-from-Pytorch
|
||||
---
|
||||
align: center
|
||||
---
|
||||
Installation Matrix from Pytorch
|
||||
```
|
||||
[https://pytorch.org/get-started/locally/](https://pytorch.org/get-started/locally/). For the correct wheels command, you must select 'Linux', 'Python', 'pip', and 'ROCm' in the matrix.
|
||||
|
||||
To install PyTorch using the wheels package, follow these installation steps:
|
||||
|
||||
@@ -83,7 +74,7 @@ To install PyTorch using the wheels package, follow these installation steps:
|
||||
installation directions in the section
|
||||
[Installation](../../deploy/linux/install.md). ROCm 5.2 is installed in
|
||||
this example, as supported by the installation matrix from
|
||||
<http://pytorch.org/>.
|
||||
<https://pytorch.org/>.
|
||||
|
||||
or
|
||||
|
||||
@@ -405,6 +396,22 @@ Follow these steps:
|
||||
python3 main.py
|
||||
```
|
||||
|
||||
## Using MIOpen kdb files with ROCm PyTorch wheels
|
||||
|
||||
PyTorch uses MIOpen for machine learning primitives. These primitives are compiled into kernels at runtime. Runtime compilation causes a small warm-up phase when starting PyTorch. MIOpen kdb files contain precompiled kernels that can speed up the warm-up phase of an application. More information is available in the {doc}`MIOpeninstallation page <miopen:install>`.
|
||||
|
||||
MIOpen kdb files can be used with ROCm PyTorch wheels. However, the kdb files need to be placed in a specific location with respect to the PyTorch installation path. A helper script simplifies this task for the user. The script takes in the ROCm version and user's GPU architecture as inputs, and works for Ubuntu and CentOS.
|
||||
|
||||
Helper script: [install_kdb_files_for_pytorch_wheels.sh](https://raw.githubusercontent.com/wiki/ROCmSoftwarePlatform/pytorch/files/install_kdb_files_for_pytorch_wheels.sh)
|
||||
|
||||
Usage:
|
||||
|
||||
After installing ROCm PyTorch wheels:
|
||||
|
||||
1. [Optional] `export GFX_ARCH=gfx90a`
|
||||
2. [Optional] `export ROCM_VERSION=5.5`
|
||||
3. `./install_kdb_files_for_pytorch_wheels.sh`
|
||||
|
||||
## References
|
||||
|
||||
C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens and Z. Wojna, "Rethinking the Inception Architecture for Computer Vision," CoRR, p. abs/1512.00567, 2015
|
||||
|
||||
@@ -64,5 +64,4 @@ Debug messages when developing/debugging base ROCm driver. You could enable the
|
||||
|
||||
## PCIe-Debug
|
||||
|
||||
Refer to ROCm PCIe Debug, <a href="https://rocmdocs.amd.com/en/latest/Other_Solutions/PCIe-Debug.html#pcie-debug" target="_blank">https://rocmdocs.amd.com/en/latest/Other_Solutions/PCIe-Debug.html#pcie-debug</a>.
|
||||
For information on how to debug and profile HIP applications, see {doc}`hip:how_to_guides/debugging`
|
||||
|
||||
@@ -9,6 +9,19 @@ training and inference in neural networks. It is one of the most popular and
|
||||
in-demand frameworks and is very active in open source contribution and
|
||||
development.
|
||||
|
||||
:::{warning}
|
||||
ROCm 5.6 and 5.7 deviates from the standard practice of supporting the last three
|
||||
TensorFlow versions. This is due to incompatibilities between earlier TensorFlow
|
||||
versions and changes introduced in the ROCm 5.6 compiler. Refer to the following
|
||||
version support matrix:
|
||||
|
||||
| ROCm | TensorFlow |
|
||||
|:-----:|:----------:|
|
||||
| 5.6.x | 2.12 |
|
||||
| 5.7.0 | 2.12, 2.13 |
|
||||
| Post-5.7.0 | Last three versions at ROCm release. |
|
||||
:::
|
||||
|
||||
### Installing TensorFlow
|
||||
|
||||
The following sections contain options for installing TensorFlow.
|
||||
@@ -33,8 +46,8 @@ Follow these steps:
|
||||
2. Once you have pulled the image, run it by using the command below:
|
||||
|
||||
```bash
|
||||
docker run -it --network=host --device=/dev/kfd --device=/dev/dri
|
||||
--ipc=host --shm-size 16G --group-add video --cap-add=SYS_PTRACE
|
||||
docker run -it --network=host --device=/dev/kfd --device=/dev/dri \
|
||||
--ipc=host --shm-size 16G --group-add video --cap-add=SYS_PTRACE \
|
||||
--security-opt seccomp=unconfined rocm/tensorflow:latest
|
||||
```
|
||||
|
||||
|
||||
@@ -275,7 +275,7 @@ sudo yum install cpupowerutils
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
@@ -453,7 +453,7 @@ sudo yum install rocm-bandwidth-test
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
|
||||
@@ -258,7 +258,7 @@ sudo yum install cpupowerutils
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
@@ -436,7 +436,7 @@ sudo yum install rocm-bandwidth-test
|
||||
|
||||
:::
|
||||
|
||||
:::{tab-item} SUSE Linux Enterprise Server 15
|
||||
:::{tab-item} SUSE Linux Enterprise Server
|
||||
:sync: SLES
|
||||
|
||||
```shell
|
||||
|
||||
@@ -5,11 +5,10 @@
|
||||
|
||||
::::{grid-item}
|
||||
:::{dropdown} [What is ROCm?](rocm)
|
||||
ROCm is an open-source stack for GPU computation. ROCm is primarily
|
||||
Open-Source Software (OSS) that allows developers the freedom to customize and
|
||||
tailor their GPU software for their own needs while collaborating with a
|
||||
community of other developers, and helping each other find solutions in an
|
||||
agile, flexible, rapid and secure manner. [more...](rocm)
|
||||
ROCm is an open-source stack, composed primarily of open-source software (OSS), designed for
|
||||
graphics processing unit (GPU) computation. ROCm consists of a collection of drivers, development
|
||||
tools, and APIs that enable GPU programming from low-level kernel to end-user applications.
|
||||
[more...](rocm)
|
||||
|
||||
::::
|
||||
|
||||
@@ -18,6 +17,7 @@ agile, flexible, rapid and secure manner. [more...](rocm)
|
||||
|
||||
- {doc}`/deploy/linux/index`
|
||||
- {doc}`/deploy/docker`
|
||||
- {doc}`Deploy ROCm using Radeon <radeon:index>`
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
6
docs/license.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# License
|
||||
|
||||
> Note: This license applies to the [ROCm repository](https://github.com/RadeonOpenCompute/ROCm) that contains documentation primarily. For other licensing information, see the [Licensing Terms page](./release/licensing).
|
||||
|
||||
```{include} ../LICENSE
|
||||
```
|
||||
@@ -7,20 +7,26 @@
|
||||
AMD's library for high performance machine learning primitives.
|
||||
|
||||
- {doc}`Documentation <miopen:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/MIOpen)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/MIOpen/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} {doc}`Composable Kernel <composable-kernel:index>`
|
||||
:::{grid-item-card} {doc}`Composable Kernel <composable_kernel:index>`
|
||||
Composable Kernel: Performance Portable Programming Model for Machine Learning Tensor Operators
|
||||
|
||||
- {doc}`Documentation <composable-kernel:index>`
|
||||
- {doc}`Documentation <composable_kernel:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/composable_kernel)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/composable_kernel/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} {doc}`MIGraphX <migraphx:index>`
|
||||
:::{grid-item-card} {doc}`MIGraphX <amdmigraphx:index>`
|
||||
AMD MIGraphX is AMD's graph inference engine that accelerates machine learning model inference.
|
||||
|
||||
- {doc}`Documentation <migraphx:index>`
|
||||
- {doc}`Documentation <amdmigraphx:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -8,8 +8,9 @@
|
||||
:::{grid-item-card} [HIP](./hip)
|
||||
HIP is both AMD's GPU programming language extension and the GPU runtime.
|
||||
|
||||
- {doc}`hip:.doxygen/docBin/html/index`
|
||||
- [Examples](https://github.com/amd/rocm-examples/tree/develop/HIP-Basic)
|
||||
- {doc}`HIP <hip:index>`
|
||||
- [HIP Examples](https://github.com/amd/rocm-examples/tree/develop/HIP-Basic)
|
||||
- {doc}`HIPIFY <hipify:index>`
|
||||
|
||||
:::
|
||||
|
||||
@@ -28,6 +29,7 @@ ROCm template libraries for C++ primitives and algorithms are as follows:
|
||||
- {doc}`rocPRIM <rocprim:index>`
|
||||
- {doc}`rocThrust <rocthrust:index>`
|
||||
- {doc}`hipCUB <hipcub:index>`
|
||||
- {doc}`hipTensor <hiptensor:index>`
|
||||
|
||||
:::
|
||||
|
||||
@@ -42,8 +44,8 @@ Inter and intra-node communication is supported by the following projects:
|
||||
Libraries related to AI.
|
||||
|
||||
- {doc}`MIOpen <miopen:index>`
|
||||
- {doc}`Composable Kernel <composable-kernel:index>`
|
||||
- {doc}`MIGraphX <migraphx:index>`
|
||||
- {doc}`Composable Kernel <composable_kernel:index>`
|
||||
- {doc}`MIGraphX <amdmigraphx:index>`
|
||||
|
||||
:::
|
||||
|
||||
@@ -64,6 +66,7 @@ Computer vision related projects.
|
||||
:::{grid-item-card} [Compilers and Tools](compilers)
|
||||
|
||||
- [ROCmCC](/reference/rocmcc/rocmcc)
|
||||
- {doc}`ROCdbgapi <rocdbgapi:index>`
|
||||
- {doc}`ROCgdb <rocgdb:index>`
|
||||
- {doc}`ROCProfiler <rocprofiler:rocprof>`
|
||||
- {doc}`ROCTracer <roctracer:index>`
|
||||
@@ -72,15 +75,15 @@ Computer vision related projects.
|
||||
|
||||
:::{grid-item-card} [Management Tools](management_tools)
|
||||
|
||||
- AMD SMI
|
||||
- [ROCm SMI](https://rocmdocs.amd.com/projects/rocmsmi/en/latest/)
|
||||
- {doc}`ROCm Datacenter Tool <rdc:index>`
|
||||
- {doc}`AMD SMI <amdsmi:index>`
|
||||
- {doc}`ROCm SMI <rocm_smi_lib:index>`
|
||||
- {doc}`ROCm Data Center Tool <rdc:index>`
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} [Validation Tools](validation_tools)
|
||||
|
||||
- {doc}`ROCm Validation Suite <rocm-validation-suite:index>`
|
||||
- {doc}`ROCm Validation Suite <rocmvalidationsuite:index>`
|
||||
- {doc}`TransferBench <transferbench:index>`
|
||||
|
||||
:::
|
||||
|
||||
@@ -3,42 +3,46 @@
|
||||
:::::{grid} 1 1 2 2
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} ROCmCC
|
||||
:link: /reference/rocmcc/rocmcc
|
||||
:link-type: doc
|
||||
:::{grid-item-card} {doc}`ROCdbgapi <rocdbgapi:index>`
|
||||
The AMD Debugger API is a library that provides all the support necessary for a
|
||||
debugger and other tools to perform low level control of the execution and
|
||||
inspection of execution state of AMD's commercially available GPU architectures.
|
||||
|
||||
- {doc}`Documentation <rocdbgapi:index>`
|
||||
- [GitHub](https://github.com/ROCm-Developer-Tools/ROCdbgapi/)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} [ROCmCC](./rocmcc/rocmcc)
|
||||
ROCmCC is a Clang/LLVM-based compiler. It is optimized for high-performance
|
||||
computing on AMD GPUs and CPUs and supports various heterogeneous programming
|
||||
models such as HIP, OpenMP, and OpenCL.
|
||||
|
||||
- [Documentation](./rocmcc/rocmcc)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} ROCgdb
|
||||
:link: rocgdb:index
|
||||
:link-type: doc
|
||||
:::{grid-item-card} {doc}`ROCgdb <rocgdb:index>`
|
||||
This is ROCgdb, the ROCm source-level debugger for Linux, based on GDB, the GNU source-level debugger.
|
||||
|
||||
- {doc}`Documentation <rocgdb:index>`
|
||||
- [GitHub](https://github.com/ROCm-Developer-Tools/ROCgdb/)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} ROCProfiler
|
||||
:link: rocprofiler:rocprof
|
||||
:link-type: doc
|
||||
:::{grid-item-card} {doc}`ROCProfiler <rocprofiler:rocprof>`
|
||||
ROC profiler library. Profiling with performance counters and derived metrics. Library supports GFX8/GFX9. Hardware specific low-level performance analysis interface for profiling of GPU compute applications. The profiling includes hardware performance counters with complex performance metrics.
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} ROCTracer
|
||||
:link: roctracer:index
|
||||
:link-type: doc
|
||||
Callback/Activity Library for Performance tracing AMD GPU's
|
||||
- {doc}`Documentation <rocprofiler:rocprof>`
|
||||
- [GitHub](https://github.com/ROCm-Developer-Tools/rocprofiler/)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} ROCdbgapi
|
||||
:link: rocdbgapi:index
|
||||
:link-type: doc
|
||||
The AMD Debugger API is a library that provides all the support necessary for a
|
||||
debugger and other tools to perform low level control of the execution and
|
||||
inspection of execution state of AMD's commercially available GPU architectures.
|
||||
:::{grid-item-card} {doc}`ROCTracer <roctracer:index>`
|
||||
Callback/Activity Library for Performance tracing AMD GPUs
|
||||
|
||||
- {doc}`Documentation <roctracer:index>`
|
||||
- [GitHub](https://github.com/ROCm-Developer-Tools/roctracer)
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
MIVisionX toolkit is a set of comprehensive computer vision and machine intelligence libraries, utilities, and applications bundled into a single toolkit. AMD MIVisionX also delivers a highly optimized open-source implementation of the Khronos OpenVX™ and OpenVX™ Extensions.
|
||||
|
||||
- {doc}`Documentation <mivisionx:README>`
|
||||
- [GitHub](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/)
|
||||
- [Changelog](https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/blob/master/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
# Docker
|
||||
@@ -11,6 +11,7 @@ transforms, reductions, scans, etc. It also serves as a common back-end for
|
||||
similar libraries found inside ROCm.
|
||||
|
||||
- {doc}`Documentation <rocprim:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocPRIM/)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocPRIM/blob/develop/CHANGELOG.md)
|
||||
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocPRIM)
|
||||
|
||||
@@ -22,6 +23,7 @@ interface. Their CPU back-ends are identical, while the GPU back-end calls into
|
||||
rocPRIM.
|
||||
|
||||
- {doc}`Documentation <rocthrust:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocThrust)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocThrust/blob/develop/CHANGELOG.md)
|
||||
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocThrust)
|
||||
|
||||
@@ -32,9 +34,20 @@ hipCUB is a template library of algorithm primitives with a CUB-compatible
|
||||
interface. It's back-end is rocPRIM.
|
||||
|
||||
- {doc}`Documentation <hipcub:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipCUB)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipCUB/blob/develop/CHANGELOG.md)
|
||||
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/hipCUB)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} {doc}`hipTensor <hiptensor:index>`
|
||||
hipTensor is AMD's C++ library for accelerating tensor primitives
|
||||
based on the composable kernel library,
|
||||
through general purpose kernel languages, like HIP C++.
|
||||
|
||||
- {doc}`Documentation <hiptensor:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipTensor)
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
|
||||
@@ -10,6 +10,7 @@ The collective operations are implemented using ring and tree algorithms and hav
|
||||
throughput and latency.
|
||||
|
||||
- {doc}`Documentation <rccl:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rccl)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/CHANGELOG.md)
|
||||
- [Examples](https://github.com/ROCmSoftwarePlatform/rccl/tree/develop/tools)
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ ROCm libraries for FFT are as follows:
|
||||
rocFFT is an AMD GPU optimized library for FFT.
|
||||
|
||||
- {doc}`Documentation <rocfft:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocFFT)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -19,6 +20,7 @@ using rocFFT. hipFFT allows for a common interface for other non AMD GPU
|
||||
FFT libraries.
|
||||
|
||||
- {doc}`Documentation <hipfft:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipFFT)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipFFT/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
@@ -9,6 +9,7 @@ ROCm libraries for linear algebra are as follows:
|
||||
`rocBLAS` is an AMD GPU optimized library for BLAS (Basic Linear Algebra Subprograms).
|
||||
|
||||
- {doc}`Documentation <rocblas:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocBLAS)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CHANGELOG.md)
|
||||
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocBLAS)
|
||||
|
||||
@@ -20,6 +21,7 @@ via `rocBLAS` and `rocSOLVER`. `hipBLAS` allows for a common interface for other
|
||||
BLAS libraries.
|
||||
|
||||
- {doc}`Documentation <hipblas:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipBLAS)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -31,6 +33,7 @@ flexible API and extends functionalities beyond traditional BLAS library.
|
||||
optimized generator as a back-end kernel provider.
|
||||
|
||||
- {doc}`Documentation <hipblaslt:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipBLASLt)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipBLASLt/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -41,6 +44,7 @@ fine-grained parallelism on top of AMD's ROCm runtime and toolchains, targeting
|
||||
modern CPU and GPU platforms.
|
||||
|
||||
- {doc}`Documentation <rocalution:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocALUTION)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocALUTION/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -50,6 +54,7 @@ modern CPU and GPU platforms.
|
||||
(MMA) problems into fragments and distributes these over GPU wavefronts.
|
||||
|
||||
- {doc}`Documentation <rocwmma:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocWMMA)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocWMMA/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -58,6 +63,7 @@ modern CPU and GPU platforms.
|
||||
`rocSOLVER` provides a subset of LAPACK (Linear Algebra Package) functionality on the ROCm platform.
|
||||
|
||||
- {doc}`Documentation <rocsolver:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocSOLVER)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocSOLVER/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -67,6 +73,7 @@ modern CPU and GPU platforms.
|
||||
as backends whilst exporting a unified interface.
|
||||
|
||||
- {doc}`Documentation <hipsolver:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipSOLVER)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipSOLVER/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -75,6 +82,7 @@ as backends whilst exporting a unified interface.
|
||||
`rocSPARSE` is a library to provide BLAS for sparse computations.
|
||||
|
||||
- {doc}`Documentation <rocsparse:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocSPARSE)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocSOLVER/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
@@ -84,8 +92,18 @@ as backends whilst exporting a unified interface.
|
||||
supporting both `rocSPARSE` and `cuSPARSE` as backends.
|
||||
|
||||
- {doc}`Documentation <hipsparse:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipSPARSE)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipSOLVER/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} {doc}`hipSPARSELt <hipsparselt:index>`
|
||||
`hipSPARSE` is a marshalling library to provide sparse BLAS functionality,
|
||||
supporting both `rocSPARSELt` and `cuSPARSELt` as backends.
|
||||
|
||||
- {doc}`Documentation <hipsparselt:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipSPARSELt)
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Math Libraries
|
||||
|
||||
AMD provides various math domain and support libraries as part of the ROCm.
|
||||
AMD provides various math domain and support libraries as part of ROCm.
|
||||
|
||||
## rocLIB vs. hipLIB
|
||||
|
||||
@@ -26,6 +26,7 @@ at compile-time of the hipLIB in question. For dynamic dispatch between vendor i
|
||||
- {doc}`hipSOLVER <hipsolver:index>`
|
||||
- {doc}`rocSPARSE <rocsparse:index>`
|
||||
- {doc}`hipSPARSE <hipsparse:index>`
|
||||
- {doc}`hipSPARSELt <hipsparselt:index>`
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
rocRAND is an AMD GPU optimized library for pseudo-random number generators (PRNG).
|
||||
|
||||
- {doc}`Documentation <rocrand:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/rocRAND/)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocRAND/blob/develop/CHANGELOG.md)
|
||||
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocRAND)
|
||||
|
||||
@@ -18,6 +19,7 @@ generation (PRNG) optimized for AMD GPUs using rocRAND. hipRAND allows for a
|
||||
common interface for other non AMD GPU PRNG libraries.
|
||||
|
||||
- {doc}`Documentation <hiprand:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/hipRAND/)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipRAND/blob/develop/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
@@ -12,7 +12,8 @@ page introduces the HIP runtime and other HIP libraries and tools.
|
||||
The HIP Runtime is used to enable GPU acceleration for all HIP language based
|
||||
products.
|
||||
|
||||
- {doc}`hip:.doxygen/docBin/html/index`
|
||||
- {doc}`Documentation <hip:index>`
|
||||
- [GitHub](https://github.com/ROCm-Developer-Tools/HIP)
|
||||
- [Examples](https://github.com/amd/rocm-examples/tree/develop/HIP-Basic)
|
||||
|
||||
:::
|
||||
@@ -28,7 +29,9 @@ products.
|
||||
HIPIFY assists with porting applications from based on CUDA to the HIP Runtime.
|
||||
Supported CUDA APIs are documented here as well.
|
||||
|
||||
- {doc}`Reference Manual <hipify:index>`
|
||||
- {doc}`Documentation <hipify:index>`
|
||||
- [GitHub](https://github.com/ROCm-Developer-Tools/HIPIFY/)
|
||||
- [Changelog](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/amd-staging/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -3,28 +3,29 @@
|
||||
:::::{grid} 1 1 3 3
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} AMD SMI
|
||||
:::{grid-item-card} {doc}`AMD SMI <amdsmi:index>`
|
||||
The AMD System Management Interface Library, or AMD SMI library, is a C library for Linux that provides a user space interface for applications to monitor and control AMD devices.
|
||||
|
||||
- {doc}`Documentation <amdsmi:index>`
|
||||
- [GitHub](https://github.com/RadeonOpenCompute/amdsmi)
|
||||
- [Examples](https://github.com/amd/go_amd_smi#example)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} [ROCm SMI](https://rocmdocs.amd.com/projects/rocmsmi/en/latest/)
|
||||
:::{grid-item-card} {doc}`ROCm SMI LIB <rocm_smi_lib:index>`
|
||||
This tool acts as a command line interface for manipulating and monitoring the AMD GPU kernel, and is intended to replace and deprecate the existing `rocm_smi.py` CLI tool. It uses `ctypes` to call the `rocm_smi_lib` API.
|
||||
|
||||
- [Documentation](https://rocmdocs.amd.com/projects/rocmsmi/en/latest/)
|
||||
- {doc}`Documentation <rocm_smi_lib:index>`
|
||||
- [GitHub](https://github.com/RadeonOpenCompute/rocm_smi_lib)
|
||||
- [Examples](https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/master/python_smi_tools)
|
||||
|
||||
:::
|
||||
|
||||
:::{grid-item-card} {doc}`ROCm Datacenter Tool <rdc:index>`
|
||||
:::{grid-item-card} {doc}`ROCm Data Center Tool <rdc:index>`
|
||||
The ROCm™ Data Center Tool simplifies the administration and addresses key infrastructure challenges in AMD GPUs in cluster and data center environments.
|
||||
|
||||
- {doc}`Documentation <rdc:index>`
|
||||
- [GitHub](https://github.com/RadeonOpenCompute/rdc)
|
||||
- [Changelog](https://github.com/RadeonOpenCompute/rdc/blob/master/CHANGELOG.md)
|
||||
- [Examples](https://github.com/RadeonOpenCompute/rdc/tree/master/example)
|
||||
|
||||
:::
|
||||
|
||||
@@ -11,6 +11,11 @@ OpenMP toolchain, example usage of device offloading, and usage of `rocprof`
|
||||
with OpenMP applications. The GPUs supported are the same as those supported by
|
||||
this ROCm release. See the list of supported GPUs in {doc}`/release/gpu_os_support`.
|
||||
|
||||
The ROCm OpenMP compiler is implemented using LLVM compiler technology.
|
||||
{numref}`openmp-toolchain` illustrates the internal steps taken to translate a user’s application into an executable that can offload computation to the AMDGPU. The compilation is a two-pass process. Pass 1 compiles the application to generate the CPU code and Pass 2 links the CPU code to the AMDGPU device code.
|
||||
|
||||

|
||||
|
||||
### Installation
|
||||
|
||||
The OpenMP toolchain is automatically installed as part of the standard ROCm
|
||||
@@ -53,11 +58,10 @@ that are required for target offload from an OpenMP program:
|
||||
```
|
||||
|
||||
:::{note}
|
||||
The Makefile in the example above uses a more classical and verbose set of flags
|
||||
which can also be used:
|
||||
The compiler also accepts the alternative offloading notation:
|
||||
|
||||
```bash
|
||||
-fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa
|
||||
-fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=<gpu-arch>
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -108,8 +112,7 @@ code compiled with AOMP:
|
||||
options --list-basic and --list-derived. `rocprof` accepts either a text or
|
||||
an XML file as an input.
|
||||
|
||||
For more details on `rocprof`, refer to the ROCm Profiling Tools document on
|
||||
{doc}`rocprofiler:rocprof`.
|
||||
For more details on `rocprof`, refer to the {doc}`ROCProfilerV1 User Manual <rocprofiler:rocprofv1>`.
|
||||
|
||||
### Using Tracing Options
|
||||
|
||||
@@ -135,20 +138,21 @@ Google Chrome at chrome://tracing/ or [Perfetto](https://perfetto.dev/).
|
||||
Navigate to Chrome or Perfetto and load the JSON file to see the timeline of the
|
||||
HSA calls.
|
||||
|
||||
For more details on tracing, refer to the ROCm Profiling Tools document on
|
||||
{doc}`rocprofiler:rocprof`.
|
||||
For more details on tracing, refer to the {doc}`ROCProfilerV1 User Manual <rocprofiler:rocprofv1>`.
|
||||
|
||||
### Environment Variables
|
||||
|
||||
:::{table}
|
||||
:widths: auto
|
||||
| Environment Variable | Description |
|
||||
| --------------------------- | ----------- |
|
||||
| `OMP_NUM_TEAMS` | The implementation chooses the number of teams for kernel launch. The user can change this number for performance tuning using this environment variable, subject to implementation limits. |
|
||||
| `LIBOMPTARGET_KERNEL_TRACE` | This environment variable is used to print useful statistics for device operations. Setting it to 1 and running the program emits the name of every kernel launched, the number of teams and threads used, and the corresponding register usage. Setting it to 2 additionally emits timing information for kernel launches and data transfer operations between the host and the device. |
|
||||
| `LIBOMPTARGET_INFO` | This environment variable is used to print informational messages from the device runtime as the program executes. Users can request fine-grain information by setting it to the value of 1 or higher and can set the value of -1 for complete information. |
|
||||
| `LIBOMPTARGET_DEBUG` | If a debug version of the device library is present, setting this environment variable to 1 and using that library emits further detailed debugging information about data transfer operations and kernel launch. |
|
||||
| `GPU_MAX_HW_QUEUES` | This environment variable is used to set the number of HSA queues in the OpenMP runtime. |
|
||||
| Environment Variable | Purpose |
|
||||
| --------------------------- | ---------------------------- |
|
||||
| `OMP_NUM_TEAMS` | To set the number of teams for kernel launch, which is otherwise chosen by the implementation by default. You can set this number (subject to implementation limits) for performance tuning. |
|
||||
| `LIBOMPTARGET_KERNEL_TRACE` | To print useful statistics for device operations. Setting it to 1 and running the program emits the name of every kernel launched, the number of teams and threads used, and the corresponding register usage. Setting it to 2 additionally emits timing information for kernel launches and data transfer operations between the host and the device. |
|
||||
| `LIBOMPTARGET_INFO` | To print informational messages from the device runtime as the program executes. Setting it to a value of 1 or higher, prints fine-grain information and setting it to -1 prints complete information. |
|
||||
| `LIBOMPTARGET_DEBUG` | To get detailed debugging information about data transfer operations and kernel launch when using a debug version of the device library. Set this environment variable to 1 to get the detailed information from the library. |
|
||||
| `GPU_MAX_HW_QUEUES` | To set the number of HSA queues in the OpenMP runtime. The HSA queues are created on demand up to the maximum value as supplied here. The queue creation starts with a single initialized queue to avoid unnecessary allocation of resources. The provided value is capped if it exceeds the recommended, device-specific value. |
|
||||
| `LIBOMPTARGET_AMDGPU_MAX_ASYNC_COPY_BYTES` | To set the threshold size up to which data transfers are initiated asynchronously. The default threshold size is 1*1024*1024 bytes (1MB). |
|
||||
| `OMPX_FORCE_SYNC_REGIONS` | To force the runtime to execute all operations synchronously, i.e., wait for an operation to complete immediately. This affects data transfers and kernel execution. While it is mainly designed for debugging, it may have a minor positive effect on performance in certain situations. |
|
||||
:::
|
||||
|
||||
## OpenMP: Features
|
||||
@@ -158,6 +162,21 @@ implemented in the past releases.
|
||||
|
||||
(openmp_usm)=
|
||||
|
||||
### Asynchronous Behavior in OpenMP Target Regions
|
||||
|
||||
- Controlling Asynchronous Behavior
|
||||
|
||||
The OpenMP offloading runtime executes in an asynchronous fashion by default, allowing multiple data transfers to start concurrently. However, if the data to be transferred becomes larger than the default threshold of 1MB, the runtime falls back to a synchronous data transfer. The buffers that have been locked already are always executed asynchronously.
|
||||
You can overrule this default behavior by setting `LIBOMPTARGET_AMDGPU_MAX_ASYNC_COPY_BYTES` and `OMPX_FORCE_SYNC_REGIONS`. See the [Environment Variables](#environment-variables) table for details.
|
||||
|
||||
- Multithreaded Offloading on the Same Device
|
||||
|
||||
The `libomptarget` plugin for GPU offloading allows creation of separate configurable HSA queues per chiplet, which enables two or more threads to concurrently offload to the same device.
|
||||
|
||||
- Parallel Memory Copy Invocations
|
||||
|
||||
Implicit asynchronous execution of single target region enables parallel memory copy invocations.
|
||||
|
||||
### Unified Shared Memory
|
||||
|
||||
Unified Shared Memory (USM) provides a pointer-based approach to memory
|
||||
@@ -178,39 +197,34 @@ with Xnack capability.
|
||||
When enabled, Xnack capability allows GPU threads to access CPU (system) memory,
|
||||
allocated with OS-allocators, such as `malloc`, `new`, and `mmap`. Xnack must be
|
||||
enabled both at compile- and run-time. To enable Xnack support at compile-time,
|
||||
the programmer should use
|
||||
use:
|
||||
|
||||
```bash
|
||||
--offload-arch=gfx908:xnack+
|
||||
```
|
||||
|
||||
Or, equivalently
|
||||
Or use another functionally equivalent option Xnack-any:
|
||||
|
||||
```bash
|
||||
--offload-arch=gfx908
|
||||
```
|
||||
|
||||
:::{note}
|
||||
The second case is called Xnack-any and it is functionally equivalent to the
|
||||
first case.
|
||||
:::
|
||||
|
||||
At runtime, programmers enable Xnack functionality on a per-application basis
|
||||
using an environment variable:
|
||||
To enable Xnack functionality at runtime on a per-application basis,
|
||||
use environment variable:
|
||||
|
||||
```bash
|
||||
HSA_XNACK=1
|
||||
```
|
||||
|
||||
When Xnack support is not needed, then applications can be built to maximize
|
||||
resource utilization using:
|
||||
When Xnack support is not needed:
|
||||
|
||||
- Build the applications to maximize resource utilization using:
|
||||
|
||||
```bash
|
||||
--offload-arch=gfx908:xnack-
|
||||
```
|
||||
|
||||
At runtime, the `HSA_XNACK` environment variable can be set to 0, as Xnack
|
||||
functionality is not needed.
|
||||
- At runtime, set the `HSA_XNACK` environment variable to 0.
|
||||
|
||||
#### Unified Shared Memory Pragma
|
||||
|
||||
@@ -264,7 +278,7 @@ The difference between the memory pages pointed to by these two variables is
|
||||
that the pages pointed by “a” are in fine-grain memory, while the pages pointed
|
||||
to by “b” are in coarse-grain memory during and after the execution of the
|
||||
target region. This is accomplished in the OpenMP runtime library with calls to
|
||||
the ROCR runtime to set the pages pointed by “b” as coarse grain.
|
||||
the ROCr runtime to set the pages pointed by “b” as coarse grain.
|
||||
|
||||
### OMPT Target Support
|
||||
|
||||
@@ -315,8 +329,10 @@ double a = 0.0;
|
||||
a = a + 1.0;
|
||||
```
|
||||
|
||||
NOTE `AMD_unsafe_fp_atomics` is an alias for `AMD_fast_fp_atomics`, and
|
||||
:::{note}
|
||||
`AMD_unsafe_fp_atomics` is an alias for `AMD_fast_fp_atomics`, and
|
||||
`AMD_safe_fp_atomics` is implemented with a compare-and-swap loop.
|
||||
:::
|
||||
|
||||
To disable the generation of fast floating-point atomic instructions at the file
|
||||
level, build using the option `-msafe-fp-atomics` or use a hint clause on a
|
||||
@@ -431,43 +447,46 @@ for(int i=0; i<N; i++){
|
||||
See the complete sample code for global buffer overflow
|
||||
[here](https://github.com/ROCm-Developer-Tools/aomp/blob/aomp-dev/examples/tools/asan/global_buffer_overflow/openmp/vecadd-GBO.cpp).
|
||||
|
||||
### No-loop Kernel Generation
|
||||
### Clang Compiler Option for Kernel Optimization
|
||||
|
||||
The No-loop kernel generation feature optimizes the compiler performance by
|
||||
generating a specialized kernel for certain OpenMP Target Constructs such as
|
||||
target teams distribute parallel for. The specialized kernel generation assumes
|
||||
that every thread executes a single iteration of the user loop, which implies
|
||||
that the runtime launches a total number of GPU threads equal to or greater than
|
||||
the iteration space size of the target region loop. This allows the compiler to
|
||||
generate code for the loop body without an enclosing loop, resulting in reduced
|
||||
control-flow complexity and potentially better performance.
|
||||
You can use the clang compiler option `-fopenmp-target-fast` for kernel optimization if certain constraints implied by its component options are satisfied. `-fopenmp-target-fast` enables the following options:
|
||||
|
||||
To enable the generation of the specialized kernel, follow these guidelines:
|
||||
- `-fopenmp-target-ignore-env-vars`: It enables code generation of specialized kernels including No-loop and Cross-team reductions.
|
||||
|
||||
- Do not specify teams, threads, and schedule-related environment variables. The
|
||||
`num_teams` or a `thread_limit` clause in an OpenMP target construct acts as
|
||||
an override and prevents the generation of the specialized kernel. As the user
|
||||
is unable to specify the number of teams and threads used within target
|
||||
regions in the absence of the above-mentioned environment variables, the
|
||||
runtime will select the best values for the launch configuration based on
|
||||
runtime knowledge of the program.
|
||||
- `-fopenmp-assume-no-thread-state`: It enables the compiler to assume that no thread in a parallel region modifies an Internal Control Variable (`ICV`), thus potentially reducing the device runtime code execution.
|
||||
|
||||
- Assert the absence of the above-mentioned environment variables by adding the
|
||||
command-line option `-fopenmp-target-ignore-env-vars`. This option also allows
|
||||
programmers to enable the No-loop functionality at lower optimization levels.
|
||||
- `-fopenmp-assume-no-nested-parallelism`: It enables the compiler to assume that no thread in a parallel region encounters a parallel region, thus potentially reducing the device runtime code execution.
|
||||
|
||||
- Also, the No-loop functionality is automatically enabled when `-O3` or
|
||||
`-Ofast` is used for compilation. To disable this feature, use
|
||||
`-fno-openmp-target-ignore-env-vars`.
|
||||
- `-O3` if no `-O*` is specified by the user.
|
||||
|
||||
Note The compiler might not generate the No-loop kernel in certain scenarios
|
||||
where the performance improvement is not substantial.
|
||||
### Specialized Kernels
|
||||
|
||||
### Cross-Team Optimized Reductions
|
||||
Clang will attempt to generate specialized kernels based on compiler options and OpenMP constructs. The following specialized kernels are supported:
|
||||
|
||||
In scenarios where a No-loop kernel is generated but the OpenMP construct has a
|
||||
reduction clause, the compiler may generate optimized code utilizing efficient
|
||||
Cross-Team (Xteam) communication. No separate user option is required, and there
|
||||
is a significant performance improvement with Xteam reduction. New APIs for
|
||||
Xteam reduction are implemented in the device runtime, and clang generates these
|
||||
APIs automatically.
|
||||
- No-Loop
|
||||
|
||||
- Big-Jump-Loop
|
||||
|
||||
- Cross-Team (Xteam) Reductions
|
||||
|
||||
To enable the generation of specialized kernels, follow these guidelines:
|
||||
|
||||
- Do not specify teams, threads, and schedule-related environment variables. The `num_teams` clause in an OpenMP target construct acts as an override and prevents the generation of the No-Loop kernel. If the specification of `num_teams` clause is a user requirement then clang tries to generate the Big-Jump-Loop kernel instead of the No-Loop kernel.
|
||||
|
||||
- Assert the absence of the teams, threads, and schedule-related environment variables by adding the command-line option `-fopenmp-target-ignore-env-vars`.
|
||||
|
||||
- To automatically enable the specialized kernel generation, use `-Ofast` or `-fopenmp-target-fast` for compilation.
|
||||
|
||||
- To disable specialized kernel generation, use `-fno-openmp-target-ignore-env-vars`.
|
||||
|
||||
#### No-Loop Kernel Generation
|
||||
|
||||
The No-loop kernel generation feature optimizes the compiler performance by generating a specialized kernel for certain OpenMP target constructs such as target teams distribute parallel for. The specialized kernel generation feature assumes every thread executes a single iteration of the user loop, which leads the runtime to launch a total number of GPU threads equal to or greater than the iteration space size of the target region loop. This allows the compiler to generate code for the loop body without an enclosing loop, resulting in reduced control-flow complexity and potentially better performance.
|
||||
|
||||
#### Big-Jump-Loop Kernel Generation
|
||||
|
||||
A No-Loop kernel is not generated if the OpenMP teams construct uses a `num_teams` clause. Instead, the compiler attempts to generate a different specialized kernel called the Big-Jump-Loop kernel. The compiler launches the kernel with a grid size determined by the number of teams specified by the OpenMP `num_teams` clause and the `blocksize` chosen either by the compiler or specified by the corresponding OpenMP clause.
|
||||
|
||||
#### Xteam Optimized Reduction Kernel Generation
|
||||
|
||||
If the OpenMP construct has a reduction clause, the compiler attempts to generate optimized code by utilizing efficient Xteam communication. New APIs for Xteam reduction are implemented in the device runtime and are automatically generated by clang.
|
||||
|
||||
@@ -1109,7 +1109,7 @@ The following table lists the other Clang options and their support status.
|
||||
|-ftime-trace|Supported|Turns on time profiler. Generates JSON file based on output filename|
|
||||
|-ftrap-function= \<value\>|Unsupported|Issues call to specified function rather than a trap instruction|
|
||||
|-ftrapv-handler= \<function name\>|Unsupported|Specifies the function to be called on overflow|
|
||||
|-ftrapv|Unsupported|Traps on integer overflow|
|
||||
|-ftrapv|Supported|Traps on integer overflow|
|
||||
|-ftrigraphs|Supported|Processes trigraph sequences|
|
||||
|-ftrivial-auto-var-init-stop-after= \<value\>|Supported|Stops initializing trivial automatic stack variables after the specified number of instances|
|
||||
|-ftrivial-auto-var-init= \<value\>|Supported|Initializes trivial automatic stack variables. Values: uninitialized (default) / pattern|
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
:::::{grid} 1 1 2 2
|
||||
:gutter: 1
|
||||
|
||||
:::{grid-item-card} {doc}`RVS <rocm-validation-suite:index>`
|
||||
:::{grid-item-card} {doc}`RVS <rocmvalidationsuite:index>`
|
||||
The ROCm Validation Suite is a system administrator’s and cluster manager's tool for detecting and troubleshooting common problems affecting AMD GPU(s) running in a high-performance computing environment, enabled using the ROCm software stack on a compatible platform.
|
||||
|
||||
- {doc}`Documentation <rocm-validation-suite:index>`
|
||||
- {doc}`Documentation <rocmvalidationsuite:index>`
|
||||
- [GitHub](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite)
|
||||
- [Changelog](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/blob/master/CHANGELOG.md)
|
||||
|
||||
:::
|
||||
|
||||
@@ -14,6 +16,7 @@ The ROCm Validation Suite is a system administrator’s and cluster manager's to
|
||||
TransferBench is a simple utility capable of benchmarking simultaneous transfers between user-specified devices (CPUs/GPUs).
|
||||
|
||||
- {doc}`Documentation <transferbench:index>`
|
||||
- [GitHub](https://github.com/ROCmSoftwarePlatform/TransferBench/)
|
||||
- [Changelog](https://github.com/ROCmSoftwarePlatform/TransferBench/blob/develop/CHANGELOG.md)
|
||||
- {doc}`transferbench:examples/index`
|
||||
|
||||
|
||||