Compare commits

..

45 Commits

Author SHA1 Message Date
Sam Wu
4720ecf62b Update documentation requirements 2024-09-16 10:12:32 -08:00
Sam Wu
124d3a40ce Update documentation requirements 2024-06-06 16:58:29 -06:00
Sam Wu
5cec6971cd Fix RTD config 2024-05-02 08:54:18 -06:00
Sam Wu
3fb35f3f1a Update documentation requirements 2024-05-01 16:59:14 -06:00
Sam Wu
e7fb2920a0 Update documentation requirements 2024-05-01 16:53:07 -06:00
Mátyás Aradi
d3bbbc7515 Update Linux and ROCm versions in ROCm 5.3.2 (#2882)
* Update Linux and ROCm versions

* Update CI to use build.os
2024-02-08 09:06:23 -07:00
Sam Wu
5987ee3155 add version to html title 2023-08-04 17:16:22 -06:00
Sam Wu
6bcb36ce23 update pdf 2023-06-30 09:37:45 -06:00
Sam Wu
d179107860 rocm-docs-core v0.18.3 2023-06-30 09:37:32 -06:00
Máté Ferenc Nagy-Egri
0e8714e498 Downgrade license notice to 5.3.2 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
2193408ae8 Downgrade changelog to 5.3.2 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
f445672f4b Downgrade install instructions to 5.3.2 2023-06-22 18:37:28 +02:00
Máté Ferenc Nagy-Egri
c5b4b70f11 Downgrade release notes to 5.3.2 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
d2cd9e2141 Downgrade support matrices to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
3b7d8b102a Downgrade license notice to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
18d5dd866c Downgrade changelog to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
9829be899e Downgrade install instructions to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
5cf7fff338 Downgrade OS support to 5.3.3 2023-06-22 18:37:27 +02:00
Máté Ferenc Nagy-Egri
7a16e52d52 Downgrade release notes to 5.3.3 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
d4dcd6b9e5 Remove rocWMMA from docs 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
71a132b926 Downgrade license notice to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
9b8603d58c Downgrade changelog to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
4cb5510bf0 Downgrade install instructions to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
676953fe8c Downgrade release notes to 5.4.0 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
15292ddebe Downgrade license notice to 5.4.1 2023-06-22 18:37:26 +02:00
Máté Ferenc Nagy-Egri
89986d332d Downgrade changelog to 5.4.1 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
de6fc1634a Downgrade install instructions to 5.4.1 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
52986c3635 Downgrade release notes to 5.4.1 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
b86717e454 Downgrade license notice to 5.4.2 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
7dbd277203 Downgrade changelog to 5.4.2 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
31ee8e712c Downgrade install instructions to 5.4.2 2023-06-22 18:37:25 +02:00
Máté Ferenc Nagy-Egri
55eda666d5 Downgrade release notes to 5.4.2 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
01e24da121 Downgrade support matrices to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
f68c47d748 Downgrade changelog to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
2c0a351bbd Downgrade install instructions to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
b6509809d3 Downgrade OS support to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
a29205cc5c Downgrade release notes to 5.4.3 2023-06-22 18:37:24 +02:00
Máté Ferenc Nagy-Egri
16c4d22099 Downgrade changelog to 5.5.0 2023-06-22 18:37:23 +02:00
Máté Ferenc Nagy-Egri
ed3335c3a5 Downgrade install instructions to 5.5.0 2023-06-22 18:37:23 +02:00
Máté Ferenc Nagy-Egri
30f27c4644 Downgrade OS support to 5.5.0 2023-06-22 18:37:23 +02:00
Máté Ferenc Nagy-Egri
f4be54f896 Downgrade release notes to 5.5.0 2023-06-22 18:37:23 +02:00
Máté Ferenc Nagy-Egri
9c04aef6a5 Fix HIP API reference links 2023-06-22 18:37:23 +02:00
Máté Ferenc Nagy-Egri
c7d4e75e95 Add support for non-Pro Radeon VII 2023-06-22 18:37:23 +02:00
Máté Ferenc Nagy-Egri
aabbea88f2 Fix ROCm SMI links 2023-06-22 18:37:14 +02:00
Máté Ferenc Nagy-Egri
7747e130b9 Update rocm-docs-core to 0.16.0 2023-06-22 18:37:04 +02:00
129 changed files with 1627 additions and 6984 deletions

View File

@@ -5,16 +5,52 @@ on:
branches:
- develop
- main
- 'docs/*'
- 'roc**'
pull_request:
branches:
- develop
- main
- 'docs/*'
- 'roc**'
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
call-workflow-passing-data:
name: Documentation
uses: RadeonOpenCompute/rocm-docs-core/.github/workflows/linting.yml@develop
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."

5
.gitignore vendored
View File

@@ -16,8 +16,3 @@ _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

View File

@@ -3,16 +3,19 @@
version: 2
sphinx:
configuration: docs/conf.py
formats: [htmlzip, pdf]
build:
os: ubuntu-22.04
tools:
python: "3.10"
apt_packages:
- "doxygen"
- "graphviz" # For dot graphs in doxygen
python:
install:
- requirements: docs/sphinx/requirements.txt
build:
os: ubuntu-20.04
tools:
python: "3.8"
sphinx:
configuration: docs/conf.py
formats: []

View File

@@ -1,11 +1,5 @@
# building
matchers
# file_reorg
FHS
incrementing
Filesystem
filesystem
rocm
# isv_deployment_win
ABI
# gpu_aware_mpi
DMA
GDR
@@ -21,102 +15,15 @@ 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

File diff suppressed because it is too large Load Diff

View File

@@ -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 recommended method for creating and modifying our
contribution guide describes the recommend method for creating and modifying our
documentation.
While interacting with ROCm Documentation, we encourage you to be polite and
@@ -13,47 +13,59 @@ 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 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
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
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 use Breathe syntax for Doxygen documentation
in our Markdown files. 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 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
[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).
See the {doc}`rocm-docs-core linting user guide <rocm-docs-core:user_guide/linting>` for more details.
our automated github action on a Pull Request (PR).
## Filenames and folder structure
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.
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
## Language and Style
Adopt Microsoft CPP-Docs guidelines for
[Voice and Tone](https://github.com/MicrosoftDocs/cpp-docs/blob/main/styleguide/voice-tone.md).
Adopting 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
@@ -61,11 +73,174 @@ 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](https://github.com/RadeonOpenCompute/rocm-docs-core).
Raise issues in `rocm-docs-core` for any formatting concerns and changes requested.
details are controlled via rocm-docs-core, sphinx extention. Please raise issues
in rocm-docs-core for any formatting concerns and changes requested.
## More
## Building Documentation
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)
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 -->

View File

@@ -1,38 +1,42 @@
# AMD ROCm™ Platform
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 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.
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 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 AMDs 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.
ROCm is powered by AMDs
[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.
ROCms 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 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.
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 Documentation
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.
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.
### How to build documentation via Sphinx
@@ -44,7 +48,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).

View File

@@ -15,63 +15,49 @@ The release notes for the ROCm platform.
-------------------
## ROCm 5.7.1
## ROCm 5.3.2
<!-- markdownlint-disable first-line-h1 -->
<!-- markdownlint-disable no-duplicate-header -->
### Fixed Defects
### What's New in This Release
The following known issues in ROCm v5.3.2 are fixed in this release.
### ROCm Libraries
#### Peer-to-Peer DMA Mapping Errors with SLES and RHEL
#### 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.
Peer-to-Peer Direct Memory Access (DMA) mapping errors on Dell systems (R7525 and R750XA) with SLES 15 SP3/SP4 and RHEL 9.0 are fixed in this release.
*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.
Previously, running rocminfo resulted in Peer-to-Peer DMA mapping errors.
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).
#### RCCL Tuning Table
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.
The RCCL tuning table is updated for supported platforms.
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.
#### SGEMM (F32 GEMM) Routines in rocBLAS
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)
Functional correctness failures in SGEMM (F32 GEMM) routines in rocBLAS for certain problem sizes and ranges are fixed in this release.
#### HIP 5.7.1 (for ROCm 5.7.1)
### Known Issues
ROCm 5.7.1 is a point release with several bug fixes in the HIP runtime.
This section consists of known issues in this release.
### Fixed defects
The *hipPointerGetAttributes* API returns the correct HIP memory type as *hipMemoryTypeManaged* for managed memory.
#### AMD Instinct™ MI200 SRIOV Virtualization Issue
There is a known issue in this ROCm v5.3 release with all AMD Instinct™ MI200 devices running within a virtual function (VF) under SRIOV virtualization. This issue will likely impact the functionality of SRIOV-based workloads but does not impact Discrete Device Assignment (DDA) or bare metal.
Until a fix is provided, users should rely on ROCm v5.2.3 to support their SRIOV workloads.
### Library Changes in ROCM 5.7.1
#### AMD Instinct™ MI200 Firmware Updates
| Library | Version |
|---------|---------|
| 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) |
Customers cannot update the Integrated Firmware Image (IFWI) for AMD Instinct™ MI200 accelerators.
#### hipSOLVER 1.8.2
An updated firmware maintenance bundle consisting of an installation tool and images specific to AMD Instinct™ MI200 accelerators is under planning and will be available soon.
hipSOLVER 1.8.2 for ROCm 5.7.1
#### Known Issue with rocThrust and rocPRIM Libraries
##### Fixed
There is a known known issue with rocThrust and rocPRIM libraries supporting iterator and types in ROCm v5.3.x releases.
- Fixed conflicts between the hipsolver-dev and -asan packages by excluding
hipsolver_module.f90 from the latter
- thrust::merge no longer correctly supports different iterator types for `keys_input1` and `keys_input2`.
- rocprim::device_merge no longer correctly supports using different types for `keys_input1` and `keys_input2`.
This issue is currently under investigation and will be resolved in a future release.

View File

@@ -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.7.1"
<default revision="refs/tags/rocm-5.5.1"
remote="roc-github"
sync-c="true"
sync-j="4" />
@@ -20,36 +20,38 @@ 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="clr" remote="rocm-devtools" />
<project name="ROCclr" 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" />
@@ -59,16 +61,14 @@ 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" />

6
docs/404.md Normal file
View File

@@ -0,0 +1,6 @@
# 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.

View File

@@ -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.
## `rocm-docs-core`
## ReadTheDocs
[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/).
[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.
See the user and developer guides for rocm-docs-core at {doc}`rocm-docs-core documentation <rocm-docs-core:index>`.
## 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).
## 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 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
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
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 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).
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 External TOC
### Sphinx Theme
[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
example.
### Sphinx Book Theme
[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 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](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.
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.
### 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
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
example.
### Breathe
Sphinx uses [Breathe](https://www.breathe-doc.org/) to integrate Doxygen
content.
## `rocm-docs-core` pip package
[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.

View File

@@ -1,126 +0,0 @@
# 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`

View File

@@ -5,61 +5,28 @@
# 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"
version = "5.3.2"
release = "5.3.2"
setting_all_article_info = True
all_article_info_os = ["linux", "windows"]
all_article_info_os = ["linux"]
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"]},
@@ -70,20 +37,7 @@ 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"]},
@@ -110,7 +64,7 @@ article_pages = [
external_toc_path = "./sphinx/_toc.yml"
docs_core = ROCmDocs("ROCm 5.7.1 Documentation Home")
docs_core = ROCmDocs("ROCm 5.3.2 Documentation Home")
docs_core.setup()
external_projects_current_project = "rocm"

View File

@@ -1,165 +0,0 @@
# 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.

View File

@@ -1,27 +0,0 @@
# 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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -0,0 +1 @@

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 796 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 789 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 323 KiB

View File

@@ -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.
:::
::::

View File

@@ -1,64 +1,105 @@
{%- 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.
{% call(family) linux.for_family_in(linux.supported_family) %}
{%- call(os) linux.for_os_in(linux.supported_os) %}
::::::{tab-set}
:::::{tab-item} Ubuntu
:sync: ubuntu
{%- if os.tag == "ubuntu" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
sudo apt update
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
wget https://repo.radeon.com/amdgpu-install/5.3.2/ubuntu/focal/amdgpu-install_5.3.50302-1_all.deb
sudo apt install ./amdgpu-install_5.3.50302-1_all.deb
```
{%- endcall -%}
{%- elif os.tag == "rhel" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
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
sudo apt update
wget https://repo.radeon.com/amdgpu-install/5.3.2/ubuntu/jammy/amdgpu-install_5.3.50302-1_all.deb
sudo apt install ./amdgpu-install_5.3.50302-1_all.deb
```
{%- endcall -%}
{%- elif os.tag == "sle" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
:::
::::
:::::
:::::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 7.9
:sync: RHEL-7.9
:sync: RHEL-7
```shell
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
sudo yum install https://repo.radeon.com/amdgpu-install/5.3.2/rhel/7.9/amdgpu-install-5.3.50302-1.el7.noarch.rpm
```
{%- endcall -%}
{%- endif %}
{%- endcall -%}
{%- endcall %}
:::
:::{tab-item} RHEL 8.5
:sync: RHEL-8.5
:sync: RHEL-8
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.3.2/rhel/8.5/amdgpu-install-5.3.50302-1.el8.noarch.rpm
```
:::
:::{tab-item} RHEL 8.6
:sync: RHEL-8.6
:sync: RHEL-8
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.3.2/rhel/8.6/amdgpu-install-5.3.50302-1.el8.noarch.rpm
```
:::
:::{tab-item} RHEL 9.0
:sync: RHEL-9.0
:sync: RHEL-9
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.3.2/rhel/9.0/amdgpu-install-5.3.50303-1.el9.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.3.2/sle/15.4/amdgpu-install-5.3.50302-1.noarch.rpm
```
:::
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```shell
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/5.3.2/sle/15.3/amdgpu-install-5.3.50303-1.noarch.rpm
```
:::
::::
:::::
::::::
## Use cases
@@ -121,18 +162,6 @@ 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)
@@ -143,9 +172,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.5.3, 5.6.1 and {{ linux.supported_family[0].rocm_version }}
**Example:** If you want to install ROCm releases 5.2.1 and 5.3.2
simultaneously, you are required to download the installer from the latest ROCm
release {{ linux.supported_family[0].rocm_version }}.
release v5.3.2.
### Add Required Repositories
@@ -155,37 +184,50 @@ automatically adds the required repositories for the latest release.
Run the following commands based on your distribution to add the repositories:
{% call(family) linux.for_family_in(linux.supported_family) %}
{%- call(os) linux.for_os_in(linux.supported_os) %}
::::::{tab-set}
:::::{tab-item} Ubuntu
:sync: ubuntu
{%- if os.tag == "ubuntu" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
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
for ver in 5.2.1 5.3.1; 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
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) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.2.1 5.3.1; 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
```
:::
::::
:::::
:::::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 7
:sync: RHEL-7
```shell
for ver in 5.2.1 5.3.1; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/{{ version.release }}/$ver/main
baseurl=https://repo.radeon.com/rocm/yum/$ver/main
enabled=1
priority=50
gpgcheck=1
@@ -194,13 +236,60 @@ EOF
done
sudo yum clean all
```
{%- endcall -%}
{%- elif os.tag == "sle" %}
:::
:::{tab-item} RHEL 8
:sync: RHEL-8
```shell
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.2.1 5.3.1; 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
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
done
sudo yum clean all
```
:::
:::{tab-item} RHEL 9
:sync: RHEL-9
```shell
for ver in 5.2.1 5.3.1; 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
::::{tab-set}
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```shell
for ver in 5.2.1 5.3.1; do
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
name=rocm
baseurl=https://repo.radeon.com/rocm/zyp/$ver/main
baseurl=https://repo.radeon.com/rocm/$ver/sle/15.3/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
@@ -208,29 +297,47 @@ EOF
done
sudo zypper ref
```
{%- endif %}
{%- endcall -%}
{%- endcall %}
:::
:::{tab-item} Service Pack 4
:sync: SLES15-SP4
```shell
for ver in 5.2.1 5.3.1; 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
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
done
sudo zypper ref
```
:::
::::
:::::
::::::
### Install packages
Use the installer script as given below:
```shell
```none
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 {{ linux.supported_family[0].rocm_version }}, will be installed as its latest
driver, associated with the ROCm release v5.3.2, will be installed as its latest
release in the list.
```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
```none
sudo amdgpu-install --usecase=rocm --rocmrelease=5.2.1
sudo amdgpu-install --usecase=rocm --rocmrelease=5.3.2
```
## Additional options

View File

@@ -1,120 +0,0 @@
{%- 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 -%}

View File

@@ -1,14 +1,5 @@
{%- 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
@@ -21,9 +12,10 @@ installed version by using the multi-version ROCm packages.
## Step by Step Instructions
{%- call(os) linux.for_os_in(linux.supported_os) %}
::::::{tab-set}
:::::{tab-item} Ubuntu
:sync: ubuntu
{%- if os.tag == "ubuntu" %}
::::{rubric} 1. Download and convert the package signing key
::::
@@ -54,22 +46,31 @@ section.
```
To add the AMDGPU repository, follow these steps:
{% call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```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/$ver/ubuntu {{ version.release }} main" \
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.3.2/ubuntu focal main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
{%- endcall %}
:::
:::{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.3.2/ubuntu jammy main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -84,23 +85,38 @@ sudo reboot
To add the ROCm repository, use the following steps:
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
# 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" \
# ROCm repositories for focal
for ver in 5.2.1 5.3.2; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver focal 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 %}
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
# ROCm repositories for jammy
for ver in 5.2.1 5.3.2; 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
```
:::
::::
::::{rubric} 4. Install packages
::::
@@ -120,9 +136,13 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo apt install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1 rocm-hip-sdk5.5.3
sudo apt install rocm-hip-sdk5.3.2 rocm-hip-sdk5.2.1
```
{%- elif os.tag == "rhel" %}
:::::
:::::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
::::{rubric} 1. Add the AMDGPU Stack Repository and Install the Kernel-mode Driver
::::
@@ -130,20 +150,17 @@ 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 }}
```
::::{tab-set}
:::{tab-item} RHEL 7.9
:sync: RHEL-7.9
:sync: RHEL-7
```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/$ver/rhel/{{ version.number }}/main/x86_64/
baseurl=https://repo.radeon.com/amdgpu/5.3.3/rhel/7.9/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -151,7 +168,67 @@ gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
{%- endcall %}
:::
:::{tab-item} RHEL 8.5
:sync: RHEL-8.5
:sync: RHEL-8
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.3.2/rhel/8.5/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.6
:sync: RHEL-8.6
:sync: RHEL-8
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.3.2/rhel/8.6/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.3.2/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
```
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -166,11 +243,30 @@ sudo reboot
To add the ROCm repository, use the following steps, based on your distribution:
::::{tab-set}
:::{tab-item} RHEL 7
:sync: RHEL-7
```shell
for ver in 5.2.1 5.3.3; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/yum/$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} RHEL 8
:sync: RHEL-8
```shell
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.2.1 5.3.2; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
@@ -181,7 +277,6 @@ gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
done
sudo yum clean all
```
@@ -190,7 +285,7 @@ sudo yum clean all
:sync: RHEL-9
```shell
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.2.1 5.3.2; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
@@ -225,9 +320,13 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo yum install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1
sudo yum install rocm-hip-sdk5.3.2 rocm-hip-sdk5.2.1
```
{%- elif os.tag == "sle" %}
:::::
:::::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES15
::::{rubric} 1. Add the AMDGPU Repository and Install the Kernel-mode Driver
::::
@@ -235,27 +334,41 @@ 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 }}
```
::::{tab-set}
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```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/$ver/sle/{{ version.number }}/main/x86_64
baseurl=https://repo.radeon.com/amdgpu/5.3.2/sle/15.3/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
{%- endcall %}
:::
:::{tab-item} Service Pack 4
:sync: SLES15-SP4
```shell
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.3.2/sle/15.4/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -271,7 +384,7 @@ sudo reboot
To add the ROCm repository, use the following steps:
```shell
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.2.1 5.3.2; do
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
@@ -303,12 +416,14 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk5.3.2 rocm-hip-sdk5.2.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,
@@ -338,8 +453,7 @@ 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-{{ linux.supported_family[0].rocm_version }}/bin:/opt/rocm-{{ linux.supported_family[0].rocm_version }}/opencl/bin
export PATH=$PATH:/opt/rocm-5.3.2/bin:/opt/rocm-5.2.1/opencl/bin
```
```{attention}
@@ -382,18 +496,31 @@ by both commands, the installation is considered successful:
To ensure the packages are installed successfully, use the following commands:
{%- call(os) linux.for_os_in(linux.supported_os) %}
{%- if os.tag == "ubuntu" %}
::::{tab-set}
:::{tab-item} Ubuntu
:sync: ubuntu
```shell
sudo apt list --installed
```
{%- elif os.tag == "rhel" %}
:::
:::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
```shell
sudo yum list installed
```
{%- elif os.tag == "sle" %}
:::
:::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
```shell
sudo zypper search --installed-only
```
{%- endif %}
{%- endcall %}
:::
::::

View File

@@ -12,6 +12,8 @@ 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

View File

@@ -114,8 +114,8 @@ sudo yum autoremove amdgpu-dkms
```
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
:::::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES15
::::{rubric} Uninstalling Specific Meta-packages
::::

View File

@@ -25,12 +25,8 @@ 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/$version/ubuntu focal main" \
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.3.2/ubuntu focal main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
@@ -40,12 +36,8 @@ 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/$version/ubuntu jammy main" \
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.3.2/ubuntu jammy main' \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
@@ -57,19 +49,33 @@ sudo apt update
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 7.9
:sync: RHEL-7.9
:sync: RHEL-7
```shell
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.3.3/rhel/7.9/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.6
:sync: RHEL-8.6
: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.6/main/x86_64/
baseurl=https://repo.radeon.com/amdgpu/5.3.2/rhel/8.6/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -84,36 +90,10 @@ 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/$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/
baseurl=https://repo.radeon.com/amdgpu/5.3.2/rhel/8.7/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -128,36 +108,10 @@ 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/$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/
baseurl=https://repo.radeon.com/amdgpu/5.3.2/rhel/9.1/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -169,22 +123,18 @@ sudo yum clean all
:::
::::
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
:::::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES15
::::{tab-set}
:::{tab-item} SLES 15.4
:sync: SLES-15.4
:::{tab-item} Service Pack 3
:sync: SLES15-SP3
```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.4/main/x86_64
baseurl=https://repo.radeon.com/amdgpu/5.3.3/sle/15.3/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
@@ -193,18 +143,14 @@ sudo zypper ref
```
:::
:::{tab-item} SLES 15.5
:sync: SLES-15.5
:::{tab-item} Service Pack 4
:sync: SLES15-SP4
```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
baseurl=https://repo.radeon.com/amdgpu/5.3.2/sle/15.4/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
@@ -214,6 +160,7 @@ sudo zypper ref
:::
::::
:::::
::::::
@@ -241,8 +188,8 @@ sudo reboot
```
:::
:::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
:::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES15
```shell
sudo zypper --gpg-auto-import-keys install amdgpu-dkms
@@ -266,11 +213,7 @@ repository to the new release.
:sync: ubuntu-20.04
```shell
# version
version=5.7
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$version focal main" \
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.3.2 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
@@ -282,11 +225,7 @@ sudo apt update
:sync: ubuntu-22.04
```shell
# version
version=5.7
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$version jammy main" \
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.3.2 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
@@ -300,18 +239,31 @@ sudo apt update
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 7
:sync: RHEL-7
```shell
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-5.3.3]
name=ROCm5.3.3
baseurl=https://repo.radeon.com/rocm/yum/5.3.2/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 8
:sync: RHEL-8
```shell
# version
version=5.7
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/rhel8/$version/main
[ROCm-5.3.2]
name=ROCm5.3.2
baseurl=https://repo.radeon.com/rocm/rhel8/5.3.2/main
enabled=1
priority=50
gpgcheck=1
@@ -325,14 +277,10 @@ sudo yum clean all
:sync: RHEL-9
```shell
# version
version=5.7
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/rhel9/$version/main
[ROCm-5.3.2]
name=ROCm5.3.2
baseurl=https://repo.radeon.com/rocm/rhel9/5.3.2/main
enabled=1
priority=50
gpgcheck=1
@@ -344,18 +292,15 @@ sudo yum clean all
:::
::::
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
:::::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES15
```shell
# version
version=5.7
sudo tee /etc/zypp/repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
[ROCm-5.3.2]
name=ROCm5.3.2
name=rocm
baseurl=https://repo.radeon.com/rocm/zyp/$version/main
baseurl=https://repo.radeon.com/rocm/zyp/5.3.2/main
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
@@ -388,8 +333,8 @@ sudo yum update rocm-hip-sdk
```
:::
:::{tab-item} Suse Linux Enterprise Server
:sync: SLES
:::{tab-item} Suse Linux Enterprise Server 15
:sync: SLES15
```shell
sudo zypper --gpg-auto-import-keys update rocm-hip-sdk

View File

@@ -91,7 +91,6 @@ 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
@@ -111,29 +110,14 @@ sudo crb enable
```
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
:::::{tab-item} SUSE Linux Enterprise Server 15
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
```
:::
::::
:::::
::::::

View File

@@ -0,0 +1,287 @@
# 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/5.3.2/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/5.3.2 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/5.3.2/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/5.3.2 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/5.3.2/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/5.3.2/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/5.3.2/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/5.3.2/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/5.3.2/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/5.3.2/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/5.3.2/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
```

View File

@@ -1,161 +0,0 @@
{%- 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
```

View File

@@ -1,31 +0,0 @@
# 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`

View File

@@ -1,56 +0,0 @@
# 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
```

View File

@@ -1,48 +0,0 @@
# 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
```

View File

@@ -1,14 +0,0 @@
# 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.

View File

@@ -1,31 +0,0 @@
# 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`

View File

@@ -1,163 +0,0 @@
# 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).
```

View File

@@ -1,27 +0,0 @@
# 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
```

View File

@@ -1,4 +0,0 @@
# Upgrading Using the Graphical Interface
The steps to upgrade an existing HIP SDK installation for Windows are described
in this document.

View File

@@ -1,65 +0,0 @@
# 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`

View File

@@ -1,74 +0,0 @@
# 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`.

View File

@@ -1,187 +0,0 @@
# 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
```

View File

@@ -3,14 +3,6 @@
:::::{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

View File

@@ -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](https://www.openucx.org/) (UCX) support. One
[Unified Communication Framework](http://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](https://www.openucx.org/documentation).
[documentation](http://www.openucx.org/documentation).
## Building UCX
@@ -66,8 +66,11 @@ cd ucx
./autogen.sh
mkdir build
cd build
../configure -prefix=$UCX_DIR \
--with-rocm=/opt/rocm
../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
make -j $(nproc)
make -j $(nproc) install
```
@@ -90,7 +93,9 @@ cd ompi
mkdir build
cd build
../configure --prefix=$OMPI_DIR --with-ucx=$UCX_DIR \
--with-rocm=/opt/rocm
--with-rocm=/opt/rocm \
--enable-mca-no-build=btl-uct --enable-mpi1-compatibility \
CC=clang CXX=clang++ FC=flang
make -j $(nproc)
make -j $(nproc) install
```
@@ -160,12 +165,7 @@ 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.
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
support. An example for configuring UCC and Open MPI with ROCm support
is shown below:
```shell

View File

@@ -59,7 +59,16 @@ 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/). For the correct wheels command, you must select 'Linux', 'Python', 'pip', and 'ROCm' in the matrix.
[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
```
To install PyTorch using the wheels package, follow these installation steps:
@@ -74,7 +83,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
<https://pytorch.org/>.
<http://pytorch.org/>.
or
@@ -396,22 +405,6 @@ 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

View File

@@ -64,4 +64,5 @@ 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`

View File

@@ -9,19 +9,6 @@ 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.
@@ -46,8 +33,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
```

View File

@@ -275,7 +275,7 @@ sudo yum install cpupowerutils
:::
:::{tab-item} SUSE Linux Enterprise Server
:::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES
```shell
@@ -453,7 +453,7 @@ sudo yum install rocm-bandwidth-test
:::
:::{tab-item} SUSE Linux Enterprise Server
:::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES
```shell

View File

@@ -258,7 +258,7 @@ sudo yum install cpupowerutils
:::
:::{tab-item} SUSE Linux Enterprise Server
:::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES
```shell
@@ -436,7 +436,7 @@ sudo yum install rocm-bandwidth-test
:::
:::{tab-item} SUSE Linux Enterprise Server
:::{tab-item} SUSE Linux Enterprise Server 15
:sync: SLES
```shell

View File

@@ -5,10 +5,11 @@
::::{grid-item}
:::{dropdown} [What is ROCm?](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)
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)
::::
@@ -17,7 +18,6 @@ tools, and APIs that enable GPU programming from low-level kernel to end-user ap
- {doc}`/deploy/linux/index`
- {doc}`/deploy/docker`
- {doc}`Deploy ROCm using Radeon <radeon:index>`
:::
::::

View File

@@ -1,6 +0,0 @@
# 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
```

View File

@@ -7,8 +7,6 @@
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)
:::
@@ -16,8 +14,6 @@ AMD's library for high performance machine learning primitives.
Composable Kernel: Performance Portable Programming Model for Machine Learning Tensor Operators
- {doc}`Documentation <composable_kernel:index>`
- [GitHub](https://github.com/ROCmSoftwarePlatform/composable_kernel)
- [Changelog](https://github.com/ROCmSoftwarePlatform/composable_kernel/blob/develop/CHANGELOG.md)
:::
@@ -25,8 +21,6 @@ Composable Kernel: Performance Portable Programming Model for Machine Learning T
AMD MIGraphX is AMD's graph inference engine that accelerates machine learning model inference.
- {doc}`Documentation <amdmigraphx:index>`
- [GitHub](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX)
- [Changelog](https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/blob/develop/CHANGELOG.md)
:::

View File

@@ -8,9 +8,8 @@
:::{grid-item-card} [HIP](./hip)
HIP is both AMD's GPU programming language extension and the GPU runtime.
- {doc}`HIP <hip:index>`
- [HIP Examples](https://github.com/amd/rocm-examples/tree/develop/HIP-Basic)
- {doc}`HIPIFY <hipify:index>`
- {doc}`hip:doxygen/html/index`
- [Examples](https://github.com/amd/rocm-examples/tree/develop/HIP-Basic)
:::
@@ -29,7 +28,6 @@ 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>`
:::
@@ -66,7 +64,6 @@ 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>`
@@ -75,9 +72,9 @@ Computer vision related projects.
:::{grid-item-card} [Management Tools](management_tools)
- {doc}`AMD SMI <amdsmi:index>`
- {doc}`ROCm SMI <rocm_smi_lib:index>`
- {doc}`ROCm Data Center Tool <rdc:index>`
- AMD SMI
- [ROCm SMI](https://rocmdocs.amd.com/projects/rocm_smi_lib/en/latest/)
- {doc}`ROCm Datacenter Tool <rdc:index>`
:::

View File

@@ -3,46 +3,42 @@
:::::{grid} 1 1 2 2
:gutter: 1
:::{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)
:::{grid-item-card} ROCmCC
:link: /reference/rocmcc/rocmcc
:link-type: doc
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} {doc}`ROCgdb <rocgdb:index>`
:::{grid-item-card} ROCgdb
:link: rocgdb:index
:link-type: doc
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} {doc}`ROCProfiler <rocprofiler:rocprof>`
:::{grid-item-card} ROCProfiler
:link: rocprofiler:rocprof
:link-type: doc
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.
- {doc}`Documentation <rocprofiler:rocprof>`
- [GitHub](https://github.com/ROCm-Developer-Tools/rocprofiler/)
:::
:::{grid-item-card} ROCTracer
:link: roctracer:index
:link-type: doc
Callback/Activity Library for Performance tracing AMD GPU's
:::
:::{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)
:::{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.
:::

View File

@@ -7,8 +7,6 @@
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
docs/reference/docker.md Normal file
View File

@@ -0,0 +1 @@
# Docker

View File

@@ -11,7 +11,6 @@ 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)
@@ -23,7 +22,6 @@ 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)
@@ -34,20 +32,9 @@ 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)
:::
:::::

View File

@@ -10,7 +10,6 @@ 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)

View File

@@ -9,7 +9,6 @@ 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)
:::
@@ -20,7 +19,6 @@ 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)
:::

View File

@@ -9,7 +9,6 @@ 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)
@@ -21,7 +20,6 @@ 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)
:::
@@ -33,7 +31,6 @@ 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)
:::
@@ -44,26 +41,14 @@ 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)
:::
:::{grid-item-card} {doc}`rocWMMA <rocwmma:index>`
`rocWMMA` provides an API to break down mixed precision matrix multiply-accumulate
(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)
:::
:::{grid-item-card} {doc}`rocSOLVER <rocsolver:index>`
`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)
:::
@@ -73,7 +58,6 @@ 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)
:::
@@ -82,7 +66,6 @@ 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)
:::
@@ -92,18 +75,8 @@ 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)
:::
:::::

View File

@@ -1,6 +1,6 @@
# Math Libraries
AMD provides various math domain and support libraries as part of ROCm.
AMD provides various math domain and support libraries as part of the ROCm.
## rocLIB vs. hipLIB
@@ -21,12 +21,10 @@ at compile-time of the hipLIB in question. For dynamic dispatch between vendor i
- {doc}`hipBLAS <hipblas:index>`
- {doc}`hipBLASLt <hipblaslt:index>`
- {doc}`rocALUTION <rocalution:index>`
- {doc}`rocWMMA <rocwmma:index>`
- {doc}`rocSOLVER <rocsolver:index>`
- {doc}`hipSOLVER <hipsolver:index>`
- {doc}`rocSPARSE <rocsparse:index>`
- {doc}`hipSPARSE <hipsparse:index>`
- {doc}`hipSPARSELt <hipsparselt:index>`
:::

View File

@@ -7,7 +7,6 @@
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)
@@ -19,7 +18,6 @@ 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)
:::

View File

@@ -12,8 +12,7 @@ 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}`Documentation <hip:index>`
- [GitHub](https://github.com/ROCm-Developer-Tools/HIP)
- {doc}`hip:doxygen/html/index`
- [Examples](https://github.com/amd/rocm-examples/tree/develop/HIP-Basic)
:::
@@ -29,9 +28,7 @@ products.
HIPIFY assists with porting applications from based on CUDA to the HIP Runtime.
Supported CUDA APIs are documented here as well.
- {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)
- {doc}`Reference Manual <hipify:index>`
:::

View File

@@ -3,29 +3,28 @@
:::::{grid} 1 1 3 3
:gutter: 1
:::{grid-item-card} {doc}`AMD SMI <amdsmi:index>`
:::{grid-item-card} AMD SMI
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} {doc}`ROCm SMI LIB <rocm_smi_lib:index>`
:::{grid-item-card} [ROCm SMI](https://rocmdocs.amd.com/projects/rocm_smi_lib/en/latest/)
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.
- {doc}`Documentation <rocm_smi_lib:index>`
- [Documentation](https://rocmdocs.amd.com/projects/rocm_smi_lib/en/latest/)
- [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 Data Center Tool <rdc:index>`
:::{grid-item-card} {doc}`ROCm Datacenter 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)
:::

View File

@@ -11,11 +11,6 @@ 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 users 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.
![OpenMP Toolchain](../../data/reference/openmp/openmp_toolchain.svg "OpenMP toolchain" =800x600)
### Installation
The OpenMP toolchain is automatically installed as part of the standard ROCm
@@ -58,10 +53,11 @@ that are required for target offload from an OpenMP program:
```
:::{note}
The compiler also accepts the alternative offloading notation:
The Makefile in the example above uses a more classical and verbose set of flags
which can also be used:
```bash
-fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=<gpu-arch>
-fopenmp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa
```
:::
@@ -112,7 +108,8 @@ 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 {doc}`ROCProfilerV1 User Manual <rocprofiler:rocprofv1>`.
For more details on `rocprof`, refer to the ROCm Profiling Tools document on
{doc}`rocprofiler:rocprof`.
### Using Tracing Options
@@ -138,21 +135,20 @@ 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 {doc}`ROCProfilerV1 User Manual <rocprofiler:rocprofv1>`.
For more details on tracing, refer to the ROCm Profiling Tools document on
{doc}`rocprofiler:rocprof`.
### Environment Variables
:::{table}
:widths: auto
| 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. |
| 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. |
:::
## OpenMP: Features
@@ -162,21 +158,6 @@ 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
@@ -197,34 +178,39 @@ 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,
use:
the programmer should use
```bash
--offload-arch=gfx908:xnack+
```
Or use another functionally equivalent option Xnack-any:
Or, equivalently
```bash
--offload-arch=gfx908
```
To enable Xnack functionality at runtime on a per-application basis,
use environment variable:
:::{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:
```bash
HSA_XNACK=1
```
When Xnack support is not needed:
- Build the applications to maximize resource utilization using:
When Xnack support is not needed, then applications can be built to maximize
resource utilization using:
```bash
--offload-arch=gfx908:xnack-
```
- At runtime, set the `HSA_XNACK` environment variable to 0.
At runtime, the `HSA_XNACK` environment variable can be set to 0, as Xnack
functionality is not needed.
#### Unified Shared Memory Pragma
@@ -278,7 +264,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
@@ -329,10 +315,8 @@ 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
@@ -447,46 +431,43 @@ 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).
### Clang Compiler Option for Kernel Optimization
### No-loop Kernel Generation
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:
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.
- `-fopenmp-target-ignore-env-vars`: It enables code generation of specialized kernels including No-loop and Cross-team reductions.
To enable the generation of the specialized kernel, follow these guidelines:
- `-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.
- 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-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.
- 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.
- `-O3` if no `-O*` is specified by the user.
- 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`.
### Specialized Kernels
Note The compiler might not generate the No-loop kernel in certain scenarios
where the performance improvement is not substantial.
Clang will attempt to generate specialized kernels based on compiler options and OpenMP constructs. The following specialized kernels are supported:
### Cross-Team Optimized Reductions
- 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.
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.

View File

@@ -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|Supported|Traps on integer overflow|
|-ftrapv|Unsupported|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|

View File

@@ -7,8 +7,6 @@
The ROCm Validation Suite is a system administrators 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 <rocmvalidationsuite:index>`
- [GitHub](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite)
- [Changelog](https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/blob/master/CHANGELOG.md)
:::
@@ -16,7 +14,6 @@ The ROCm Validation Suite is a system administrators 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`

Some files were not shown because too many files have changed in this diff Show More