mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-09 14:48:06 -05:00
Compare commits
7 Commits
rocm-7.1.1
...
roc-1.3.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0631df24e8 | ||
|
|
725415b566 | ||
|
|
67bdbcfde4 | ||
|
|
c5eba0cf61 | ||
|
|
bf2f4ddf4b | ||
|
|
3e5f9fc8c9 | ||
|
|
98e035f0ce |
194
README.md
194
README.md
@@ -1,12 +1,15 @@
|
||||
## Are You Ready to ROCK?
|
||||
The ROCm Platform bringing a rich foundation to advanced computing by better intergrating the CPU and GPU to solve realworld problems.
|
||||
The ROCm Platform bringing a rich foundation to advanced computing by better
|
||||
integrating the CPU and GPU to solve real-world problems.
|
||||
|
||||
On April 25th, 2016, we delivered ROCm 1.0 built around three core foundation elements:
|
||||
|
||||
Open Hetrogenous Computing Platform (Linux(R) Driver and Runtime Stack) optimized for HPC & Ultra-scale class computing
|
||||
Heterogeneous C and C++ Single Source to better address the whole system computation not just a gpu device
|
||||
HIP acknowledging the need for platform choice when utilizing GPU computing API
|
||||
On April 25th, 2016, we delivered ROCm 1.0 built around three core foundation
|
||||
elements:
|
||||
|
||||
Open Hetrogenous Computing Platform (Linux(R) Driver and Runtime Stack)
|
||||
optimized for HPC & Ultra-scale class computing Heterogeneous C and C++
|
||||
Single Source to better address the whole system computation not just a GPU
|
||||
device HIP acknowledging the need for platform choice when utilizing GPU
|
||||
computing API
|
||||
|
||||
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
|
||||
@@ -15,168 +18,17 @@ 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 for the building of key language support. This support starts with AMD’s
|
||||
FIJI Family of dGPU, and has expanded to include the Hawaii dGPU Family in
|
||||
Fiji Family of dGPU, and has expanded to include the Hawaii dGPU Family in
|
||||
ROCm 1.2.
|
||||
|
||||
### The Latest ROCm Platform - ROCm 1.2
|
||||
### Overview and Installation Instructions
|
||||
For an overview of the ROCm stack, installation instructions, and other supporting
|
||||
documentation, please refer to https://radeonopencompute.github.io
|
||||
|
||||
### The Latest ROCm Platform - ROCm 1.3
|
||||
The latest tested version of the drivers, tools, libraries and source code for
|
||||
the ROCm platform have been released and are available under the roc-1.2.0 tag
|
||||
of the following GitHub repositories:
|
||||
|
||||
* [ROCK-Kernel-Driver](https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/tree/roc-1.2.0)
|
||||
* [ROCR-Runtime](https://github.com/RadeonOpenCompute/ROCR-Runtime/tree/roc-1.2.0)
|
||||
* [ROCT-Thunk-Interface](https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/roc-1.2.0)
|
||||
* [HCC compiler](https://github.com/RadeonOpenCompute/hcc/tree/roc-1.2.0)
|
||||
* [LLVM-AMDGPU-Assembler-Extra](https://github.com/RadeonOpenCompute/LLVM-AMDGPU-Assembler-Extra/tree/roc-1.2.0)
|
||||
* [ROC-smi](https://github.com/RadeonOpenCompute/ROC-smi/tree/roc-1.2.0)
|
||||
* [ROCnRDMA](https://github.com/RadeonOpenCompute/ROCnRDMA/tree/roc-1.2.0)
|
||||
* [HIP](https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/tree/roc-1.2.0)
|
||||
* [HIP-Examples](https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP-Examples/tree/roc-1.2.0)
|
||||
|
||||
In addition the following mirror repositories that support the HCC compiler are
|
||||
also available on GitHub, and frozen for the roc-1.2.0 release:
|
||||
|
||||
* [llvm](https://github.com/RadeonOpenCompute/llvm/tree/roc-1.2.0)
|
||||
* [clang](https://github.com/RadeonOpenCompute/clang/tree/roc-1.2.0)
|
||||
|
||||
### Installing from AMD ROCm Repositories
|
||||
AMD is hosting both debian and rpm repositories for the ROCm 1.2 packages. The
|
||||
packages in both repositories have been signed to ensure package integrity.
|
||||
Directions for each repository are given below:
|
||||
|
||||
#### Supported Operating Systems
|
||||
|
||||
The ROCm platform has been tested on the following operating systems:
|
||||
* Ubuntu 14.04.04
|
||||
* Fedora 23
|
||||
|
||||
There is experimental support for the following operating systems:
|
||||
* Ubuntu 16.04
|
||||
* Fedora 22
|
||||
|
||||
#### Debian repository - apt-get
|
||||
|
||||
##### Add the ROCm apt repository
|
||||
For Debian based systems, like Ubuntu, configure the Debian ROCm repository as
|
||||
follows:
|
||||
|
||||
```shell
|
||||
wget -qO - http://packages.amd.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add -
|
||||
sudo sh -c 'echo deb [arch=amd64] http://packages.amd.com/rocm/apt/debian/ trusty main > /etc/apt/sources.list.d/rocm.list'
|
||||
```
|
||||
The gpg key might change, so it may need to be updated when installing a new release. A new key is required for ROCm 1.2.0.
|
||||
|
||||
##### Install or Update
|
||||
Next, update the apt-get repository list and install/update the rocm package:
|
||||
|
||||
>**Warning**: Before proceeding, make sure to completely
|
||||
>[uninstall any pre-release ROCm packages](https://github.com/RadeonOpenCompute/ROCm#removing-pre-release-packages):
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get install rocm
|
||||
```
|
||||
Then, make the ROCm kernel your default kernel. If using grub2 as your
|
||||
bootloader, you can edit the `GRUB_DEFAULT` variable in the following file:
|
||||
|
||||
```shell
|
||||
sudo vi /etc/default/grub
|
||||
sudo update-grub
|
||||
```
|
||||
|
||||
Once complete, reboot your system.
|
||||
|
||||
We recommend you [verify your installation](https://github.com/RadeonOpenCompute/ROCm#verify-installation) to make sure everything completed successfully.
|
||||
|
||||
##### Un-install
|
||||
To un-install the entire rocm-dev development package execute:
|
||||
|
||||
```shell
|
||||
sudo apt-get autoremove rocm
|
||||
```
|
||||
|
||||
##### Installing development packages for cross compilation
|
||||
It is often useful to develop and test on different systems. In this scenario,
|
||||
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
|
||||
```
|
||||
|
||||
>**Note:** To execute ROCm enabled apps you will require a system with the full
|
||||
>ROCm driver stack installed
|
||||
|
||||
##### 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}')
|
||||
```
|
||||
|
||||
If possible, we would recommend starting with a fresh OS install.
|
||||
|
||||
#### RPM repository - dnf (yum)
|
||||
|
||||
A dnf (yum) repostiory is also available for installation of rpm packages. To configure a
|
||||
system to use the ROCm rpm directory create the file /etc/yum.repos.d/rocm.repo with
|
||||
the following contents:
|
||||
|
||||
```shell
|
||||
[remote]
|
||||
|
||||
name=ROCm Repo
|
||||
|
||||
baseurl=http://packages.amd.com/rocm/yum/rpm/
|
||||
|
||||
enabled=1
|
||||
|
||||
gpgcheck=0
|
||||
```
|
||||
Execute the following commands:
|
||||
|
||||
```shell
|
||||
sudo dnf clean all
|
||||
sudo dnf install rocm
|
||||
```
|
||||
|
||||
As with the debian packages, it is possible to install rocm-dev or rocm-kernel individually.
|
||||
To uninstall the packages execute:
|
||||
|
||||
```shell
|
||||
sudo dnf remove rocm
|
||||
```
|
||||
|
||||
#### Verify Installation
|
||||
|
||||
To verify that the ROCm stack completed successfully you can execute to HSA
|
||||
vectory\_copy sample application:
|
||||
|
||||
```shell
|
||||
cd /opt/rocm/hsa/sample
|
||||
make
|
||||
./vector_copy
|
||||
```
|
||||
|
||||
#### Closed Source Components
|
||||
The ROCm platform relies on a few closed source components to provide legacy
|
||||
functionality like HSAIL finalization and debugging/profiling support. These
|
||||
components are only available through the ROCm repositories, and will either be
|
||||
deprecated or become open source components in the future. These components are
|
||||
made available in the following packages:
|
||||
|
||||
* hsa-ext-rocr-dev
|
||||
|
||||
### Getting ROCm Source Code
|
||||
Modifications can be made to the ROCm 1.2 components by modifying the open
|
||||
source code base and rebuilding the components. Source code can be cloned from
|
||||
each of the GitHub repositories using git, or users can use the repo command
|
||||
and the ROCm 1.2 manifest file to download the entire ROCm 1.2 source code.
|
||||
the ROCm platform have been released and are available under the roc-1.3.1 tag.
|
||||
The repo tool can be used to checkout the full software stack.
|
||||
|
||||
#### Installing repo
|
||||
Google's repo tool allows you to manage multiple git repositories
|
||||
@@ -191,9 +43,15 @@ 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.2.0
|
||||
repo init -u https://github.com/RadeonOpenCompute/ROCm.git -b roc-1.3.1
|
||||
repo sync
|
||||
```
|
||||
|
||||
These series of commands will pull all of the open source code associated with
|
||||
the ROCm 1.2 release.
|
||||
#### Closed Source Components
|
||||
The ROCm platform relies on a few closed source components to provide legacy
|
||||
functionality like HSAIL finalization and debugging/profiling support. These
|
||||
components are only available through the ROCm repositories, and will either be
|
||||
deprecated or become open source components in the future. These components are
|
||||
made available in the following packages:
|
||||
|
||||
* hsa-ext-rocr-dev
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<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="master"
|
||||
<default revision="refs/tags/roc-1.3.1"
|
||||
remote="roc-github"
|
||||
sync-j="4" />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user