mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-09 22:58:17 -05:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6376df8799 | ||
|
|
93301e03e2 | ||
|
|
7f15331a67 | ||
|
|
3f4e60c4d0 | ||
|
|
f558960c7e | ||
|
|
c1e71f0dcc | ||
|
|
08257cbca7 | ||
|
|
88d4832e84 | ||
|
|
4a77b8ec63 | ||
|
|
47cb66122f | ||
|
|
8c1d89e69f | ||
|
|
1a315e093f | ||
|
|
42e58efc65 | ||
|
|
04628c0e85 | ||
|
|
883df8b9f5 | ||
|
|
d46888fe1e | ||
|
|
5dd391eb49 | ||
|
|
04534f7b52 | ||
|
|
3e82c69b04 | ||
|
|
39c0ecbbda |
125
README.md
125
README.md
@@ -2,27 +2,6 @@
|
||||
The ROCm Platform brings a rich foundation to advanced computing by seamlessly
|
||||
integrating the CPU and GPU with the goal of solving real-world problems.
|
||||
|
||||
On April 25th, 2016, we delivered ROCm 1.0 built around three pillars:
|
||||
|
||||
1) Open Heterogeneous Computing Platform (Linux Driver and Runtime Stack),
|
||||
optimized for HPC & Ultra-scale class computing;
|
||||
|
||||
2) Heterogeneous C and C++ Single Source Compiler, to approach computation
|
||||
holistically, on a system level, rather than as a discrete GPU artifact;
|
||||
|
||||
3) HIP, acknowledging the need for freedom of choice when it comes to platforms
|
||||
and APIs for GPU computing.
|
||||
|
||||
Using our knowledge of the HSA Standards and, more importantly, the HSA
|
||||
Runtime, we have been able to successfully extended support to the dGPU with
|
||||
critical features for accelerating NUMA computation. As a result, the ROCK
|
||||
driver is composed of several components based on our efforts to develop the
|
||||
Heterogeneous System Architecture for APUs, including the new AMDGPU driver,
|
||||
the Kernel Fusion Driver (KFD), the HSA+ Runtime and an LLVM based compilation
|
||||
stack which provides support for key languages. This support starts with AMD’s
|
||||
Fiji family of dGPUs, and has expanded to include the Hawaii dGPU family in ROCm
|
||||
1.2. ROCm 1.3 further extends support to include the Polaris family of ASICs.
|
||||
|
||||
#### Supported CPUs
|
||||
The ROCm Platform leverages PCIe Atomics (Fetch ADD, Compare and SWAP,
|
||||
Unconditional SWAP, AtomicsOpCompletion).
|
||||
@@ -71,15 +50,7 @@ option for enabling IOMMUv2. If this is the case, the final requirement is
|
||||
associated with correct CRAT table support - please inquire with the OEM about
|
||||
the latter.
|
||||
* AMD Merlin/Falcon Embedded System is also not currently supported by the public Repo.
|
||||
|
||||
#### Support for future APUs
|
||||
We are well aware of the excitement and anticipation built around using ROCm
|
||||
with an APU system which fully exposes Shared Virtual Memory alongside and cache
|
||||
coherency between the CPU and GPU. To this end, in mid 2017 we plan on testing
|
||||
commercial AM4 motherboards for the Bristol Ridge and Raven Ridge families of
|
||||
APUs. Just like you, we still waiting for access to them! Once we have the first
|
||||
boards in the lab we will detail our experiences via our blog, as well as build
|
||||
a list of motherboard that are qualified for use with ROCm.
|
||||
* AMD Raven Ridge APU are currently not supported
|
||||
|
||||
### New Features to ROCm 1.7
|
||||
|
||||
@@ -118,10 +89,10 @@ of the following GitHub repositories:
|
||||
* [atmi](https://github.com/RadeonOpenCompute/atmi/tree/0.3.7)
|
||||
|
||||
Additionally, the following mirror repositories that support the HCC compiler
|
||||
are also available on GitHub, and frozen for the rocm-1.7.0 release:
|
||||
are also available on GitHub, and frozen for the rocm-1.7.2 release:
|
||||
|
||||
* [llvm](https://github.com/RadeonOpenCompute/llvm/tree/roc-1.7.x)
|
||||
* [lld](https://github.com/RadeonOpenCompute/lld/tree/roc-1.7.x)
|
||||
* [ldd](https://github.com/RadeonOpenCompute/lld/tree/roc-1.7.x)
|
||||
* [hcc-clang-upgrade](https://github.com/RadeonOpenCompute/hcc-clang-upgrade/tree/roc-1.7.x)
|
||||
* [ROCm-Device-Libs](https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/roc-1.7.x)
|
||||
|
||||
@@ -137,11 +108,26 @@ that an rpm repository will be available in the next point release.
|
||||
The packages in the Debian repository have been signed to ensure package integrity.
|
||||
Directions for each repository are given below:
|
||||
|
||||
##### First make sure your system is up to date
|
||||
|
||||
```shell
|
||||
sudo apt update
|
||||
sudo apt dist-upgrade
|
||||
sudo apt install libnuma-dev
|
||||
sudo reboot
|
||||
```
|
||||
#### Optional: Upgrade to 4.13 kernel
|
||||
Although not required, it is recommended as of ROCm 1.7.2 that the system's kernel is upgraded to the latest 4.13 version available:
|
||||
|
||||
```shell
|
||||
sudo apt install linux-headers-4.13.0-32-generic linux-image-4.13.0-32-generic linux-image-extra-4.13.0-32-generic linux-signed-image-4.13.0-32-generic
|
||||
sudo reboot
|
||||
```
|
||||
#### Packaging server update
|
||||
The packaging server has been changed from the old http://packages.amd.com
|
||||
to the new repository site http://repo.radeon.com.
|
||||
|
||||
#### Debian repository - apt-get
|
||||
#### Debian repository - apt
|
||||
|
||||
##### Add the ROCm apt repository
|
||||
For Debian based systems, like Ubuntu, configure the Debian ROCm repository as
|
||||
@@ -158,15 +144,32 @@ but has the following sha1sum hash:
|
||||
f0d739836a9094004b0a39058d046349aacc1178 rocm.gpg.key
|
||||
|
||||
##### Install or Update
|
||||
Next, update the apt-get repository list and install/update the rocm package:
|
||||
Next, update the apt repository list and install/update the rocm package:
|
||||
|
||||
>**Warning**: Before proceeding, make sure to completely
|
||||
>[uninstall any previous ROCm package](https://github.com/RadeonOpenCompute/ROCm#removing-pre-release-packages):
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get install rocm-dkms
|
||||
sudo apt update
|
||||
sudo apt install rocm-dkms
|
||||
```
|
||||
|
||||
###### Next set your permsions
|
||||
With move to upstreaming the KFD driver and the support of DKMS, for all Console aka headless user, you will need to add all your users to the 'video" group by setting the Unix permissions
|
||||
|
||||
Configure
|
||||
Ensure that your user account is a member of the "video" group prior to using the ROCm driver. You can find which groups you are a member of with the following command:
|
||||
|
||||
```shell
|
||||
groups
|
||||
```
|
||||
|
||||
To add yourself to the video group you will need the sudo password and can use the following command:
|
||||
|
||||
```shell
|
||||
sudo usermod -a -G video $LOGNAME
|
||||
```
|
||||
|
||||
Once complete, reboot your system.
|
||||
|
||||
We recommend you [verify your installation](https://github.com/RadeonOpenCompute/ROCm#verify-installation) to make sure everything completed successfully.
|
||||
@@ -175,19 +178,8 @@ We recommend you [verify your installation](https://github.com/RadeonOpenCompute
|
||||
|
||||
##### Start by following the instruction of installing ROCm with Debian repository:
|
||||
|
||||
at the step "sudo apt-get install rocm-dkms" replace it with:
|
||||
No additional steps are required. The rocm-opencl package is now installed with rocm-dkms as a dependency. This includes the development package, rocm-opencl-dev.
|
||||
|
||||
```shell
|
||||
sudo apt-get install rocm-dkms rocm-opencl
|
||||
```
|
||||
|
||||
To install the development kit for OpenCL, which includes the OpenCL header files, execute this installation command:
|
||||
|
||||
```shell
|
||||
sudo apt-get install rocm-opencl-dev
|
||||
```
|
||||
|
||||
Then follow the direction for Debian Repository
|
||||
|
||||
###### Upon restart, To test your OpenCL instance
|
||||
|
||||
@@ -213,7 +205,7 @@ g++ -I /opt/rocm/opencl/include/ ./HelloWorld.cpp -o HelloWorld -L/opt/rocm/open
|
||||
To un-install the entire rocm development package execute:
|
||||
|
||||
```shell
|
||||
sudo apt-get autoremove rocm-dkms
|
||||
sudo apt autoremove rocm-dkms
|
||||
```
|
||||
|
||||
##### Installing development packages for cross compilation
|
||||
@@ -223,28 +215,49 @@ you may prefer to avoid installing the ROCm Kernel to your development system.
|
||||
In this case, install the development subset of packages:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get install rocm-dev
|
||||
sudo apt update
|
||||
sudo apt install rocm-dev
|
||||
```
|
||||
|
||||
>**Note:** To execute ROCm enabled apps you will require a system with the full
|
||||
>ROCm driver stack installed
|
||||
|
||||
##### Known Issues / Workarounds
|
||||
|
||||
######## If you Plan to Run with X11 - we are seeing X freezes under load
|
||||
|
||||
ROCm 1.7.2 a kernel parameter noretry has been set to 1 to improve overall system performance. However it has been proven to bring instability to graphics driver shipped with Ubuntu. This is an ongoing issue and we are looking into it.
|
||||
|
||||
Before that, please try apply this change by changing noretry bit to 0.
|
||||
|
||||
```shell
|
||||
echo 0 | sudo tee /sys/module/amdkfd/parameters/noretry
|
||||
```
|
||||
|
||||
Files under /sys won't be preserved after reboot so you'll need to do it every time.
|
||||
|
||||
One way to keep noretry=0 is to change /etc/modprobe.d/amdkfd.conf and make it be:
|
||||
|
||||
options amdkfd noretry=0
|
||||
|
||||
Once it's done, run sudo update-initramfs -u. Reboot and verify /sys/module/amdkfd/parameters/noretry stays as 0.
|
||||
|
||||
|
||||
##### Removing pre-release packages
|
||||
If you installed any of the ROCm pre-release packages from github, they will
|
||||
need to be manually un-installed:
|
||||
|
||||
```shell
|
||||
sudo apt-get purge libhsakmt
|
||||
sudo apt-get purge radeon-firmware
|
||||
sudo apt-get purge $(dpkg -l | grep 'kfd\|rocm' | grep linux | grep -v libc | awk '{print $2}')
|
||||
sudo apt purge libhsakmt
|
||||
sudo apt purge compute-firmware
|
||||
sudo apt purge $(dpkg -l | grep 'kfd\|rocm' | grep linux | grep -v libc | awk '{print $2}')
|
||||
```
|
||||
|
||||
If possible, we would recommend starting with a fresh OS install.
|
||||
|
||||
#### RPM repository - dnf (yum)
|
||||
|
||||
A repository containing rpm packages is currently no available for the ROCm 1.7 release.
|
||||
A repository containing rpm packages is currently not available for the ROCm 1.7 release.
|
||||
|
||||
#### Closed source components
|
||||
The ROCm platform relies on a few closed source components to provide legacy
|
||||
@@ -274,7 +287,7 @@ Note: make sure ~/bin exists and it is part of your PATH
|
||||
#### Cloning the code
|
||||
```shell
|
||||
mkdir ROCm && cd ROCm
|
||||
repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-1.7.0
|
||||
repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-1.7.2
|
||||
repo sync
|
||||
```
|
||||
These series of commands will pull all of the open source code associated with
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<manifest>
|
||||
|
||||
<remote name="roc-github"
|
||||
fetch="ssh://git@github.com/RadeonOpenCompute/" />
|
||||
fetch="http://git@github.com/RadeonOpenCompute/" />
|
||||
<remote name="pctools-github"
|
||||
fetch="ssh://git@github.com/GPUOpen-ProfessionalCompute-Tools/" />
|
||||
fetch="http://git@github.com/GPUOpen-ProfessionalCompute-Tools/" />
|
||||
|
||||
<default revision="roc-1.7.x"
|
||||
remote="roc-github"
|
||||
|
||||
Reference in New Issue
Block a user