Compare commits

...

3 Commits

Author SHA1 Message Date
Jenkins
602cc00fd6 Re-add submodule submodule-srcs/ROCK-Kernel-Driver at specific commit 2025-04-30 10:52:41 +00:00
Jenkins
222963b85c Remove broken submodule submodule-srcs/ROCK-Kernel-Driver completely 2025-04-30 10:30:34 +00:00
Jenkins
96ccfcb026 support ROCm submodule sources 2025-04-24 15:10:29 +00:00
65 changed files with 342 additions and 16 deletions

251
.gitmodules vendored Normal file
View File

@@ -0,0 +1,251 @@
[submodule "submodule-srcs/ROCR-Runtime"]
path = submodule-srcs/ROCR-Runtime
url = https://github.com/rocm/ROCR-Runtime
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/amdsmi"]
path = submodule-srcs/amdsmi
url = https://github.com/rocm/amdsmi
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rdc"]
path = submodule-srcs/rdc
url = https://github.com/rocm/rdc
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocm_bandwidth_test"]
path = submodule-srcs/rocm_bandwidth_test
url = https://github.com/rocm/rocm_bandwidth_test
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocm_smi_lib"]
path = submodule-srcs/rocm_smi_lib
url = https://github.com/rocm/rocm_smi_lib
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocm-core"]
path = submodule-srcs/rocm-core
url = https://github.com/rocm/rocm-core
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocm-examples"]
path = submodule-srcs/rocm-examples
url = https://github.com/rocm/rocm-examples
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocminfo"]
path = submodule-srcs/rocminfo
url = https://github.com/rocm/rocminfo
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocprofiler"]
path = submodule-srcs/rocprofiler
url = https://github.com/rocm/rocprofiler
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocprofiler-register"]
path = submodule-srcs/rocprofiler-register
url = https://github.com/rocm/rocprofiler-register
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocprofiler-sdk"]
path = submodule-srcs/rocprofiler-sdk
url = https://github.com/rocm/rocprofiler-sdk
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocprofiler-compute"]
path = submodule-srcs/rocprofiler-compute
url = https://github.com/rocm/rocprofiler-compute
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocprofiler-systems"]
path = submodule-srcs/rocprofiler-systems
url = https://github.com/rocm/rocprofiler-systems
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/roctracer"]
path = submodule-srcs/roctracer
url = https://github.com/rocm/roctracer
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/HIP"]
path = submodule-srcs/HIP
url = https://github.com/rocm/HIP
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hip-tests"]
path = submodule-srcs/hip-tests
url = https://github.com/rocm/hip-tests
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/HIPIFY"]
path = submodule-srcs/HIPIFY
url = https://github.com/rocm/HIPIFY
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/clr"]
path = submodule-srcs/clr
url = https://github.com/rocm/clr
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipother"]
path = submodule-srcs/hipother
url = https://github.com/rocm/hipother
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/half"]
path = submodule-srcs/half
url = https://github.com/rocm/half
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/llvm-project"]
path = submodule-srcs/llvm-project
url = https://github.com/rocm/llvm-project
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/spirv-llvm-translator"]
path = submodule-srcs/spirv-llvm-translator
url = https://github.com/rocm/spirv-llvm-translator
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/ROCdbgapi"]
path = submodule-srcs/ROCdbgapi
url = https://github.com/rocm/ROCdbgapi
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/ROCgdb"]
path = submodule-srcs/ROCgdb
url = https://github.com/rocm/ROCgdb
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocr_debug_agent"]
path = submodule-srcs/rocr_debug_agent
url = https://github.com/rocm/rocr_debug_agent
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/AMDMIGraphX"]
path = submodule-srcs/AMDMIGraphX
url = https://github.com/rocm/AMDMIGraphX
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/MIOpen"]
path = submodule-srcs/MIOpen
url = https://github.com/rocm/MIOpen
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/MIVisionX"]
path = submodule-srcs/MIVisionX
url = https://github.com/rocm/MIVisionX
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/ROCmValidationSuite"]
path = submodule-srcs/ROCmValidationSuite
url = https://github.com/rocm/ROCmValidationSuite
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/Tensile"]
path = submodule-srcs/Tensile
url = https://github.com/rocm/Tensile
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/composable_kernel"]
path = submodule-srcs/composable_kernel
url = https://github.com/rocm/composable_kernel
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipBLAS-common"]
path = submodule-srcs/hipBLAS-common
url = https://github.com/rocm/hipBLAS-common
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipBLAS"]
path = submodule-srcs/hipBLAS
url = https://github.com/rocm/hipBLAS
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipBLASLt"]
path = submodule-srcs/hipBLASLt
url = https://github.com/rocm/hipBLASLt
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipCUB"]
path = submodule-srcs/hipCUB
url = https://github.com/rocm/hipCUB
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipFFT"]
path = submodule-srcs/hipFFT
url = https://github.com/rocm/hipFFT
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipRAND"]
path = submodule-srcs/hipRAND
url = https://github.com/rocm/hipRAND
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipSOLVER"]
path = submodule-srcs/hipSOLVER
url = https://github.com/rocm/hipSOLVER
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipSPARSE"]
path = submodule-srcs/hipSPARSE
url = https://github.com/rocm/hipSPARSE
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipSPARSELt"]
path = submodule-srcs/hipSPARSELt
url = https://github.com/rocm/hipSPARSELt
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipTensor"]
path = submodule-srcs/hipTensor
url = https://github.com/rocm/hipTensor
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/hipfort"]
path = submodule-srcs/hipfort
url = https://github.com/rocm/hipfort
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rccl"]
path = submodule-srcs/rccl
url = https://github.com/rocm/rccl
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocAL"]
path = submodule-srcs/rocAL
url = https://github.com/rocm/rocAL
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocALUTION"]
path = submodule-srcs/rocALUTION
url = https://github.com/rocm/rocALUTION
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocBLAS"]
path = submodule-srcs/rocBLAS
url = https://github.com/rocm/rocBLAS
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocDecode"]
path = submodule-srcs/rocDecode
url = https://github.com/rocm/rocDecode
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocJPEG"]
path = submodule-srcs/rocJPEG
url = https://github.com/rocm/rocJPEG
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocPyDecode"]
path = submodule-srcs/rocPyDecode
url = https://github.com/rocm/rocPyDecode
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocFFT"]
path = submodule-srcs/rocFFT
url = https://github.com/rocm/rocFFT
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocPRIM"]
path = submodule-srcs/rocPRIM
url = https://github.com/rocm/rocPRIM
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocRAND"]
path = submodule-srcs/rocRAND
url = https://github.com/rocm/rocRAND
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocSHMEM"]
path = submodule-srcs/rocSHMEM
url = https://github.com/rocm/rocSHMEM
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocSOLVER"]
path = submodule-srcs/rocSOLVER
url = https://github.com/rocm/rocSOLVER
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocSPARSE"]
path = submodule-srcs/rocSPARSE
url = https://github.com/rocm/rocSPARSE
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocThrust"]
path = submodule-srcs/rocThrust
url = https://github.com/rocm/rocThrust
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocWMMA"]
path = submodule-srcs/rocWMMA
url = https://github.com/rocm/rocWMMA
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rocm-cmake"]
path = submodule-srcs/rocm-cmake
url = https://github.com/rocm/rocm-cmake
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/rpp"]
path = submodule-srcs/rpp
url = https://github.com/rocm/rpp
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/TransferBench"]
path = submodule-srcs/TransferBench
url = https://github.com/rocm/TransferBench
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/openmp-extras/aomp"]
path = submodule-srcs/openmp-extras/aomp
url = https://github.com/rocm/aomp
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/openmp-extras/aomp-extras"]
path = submodule-srcs/openmp-extras/aomp-extras
url = https://github.com/rocm/aomp-extras
branch = release/rocm-rel-6.4
[submodule "submodule-srcs/ROCK-Kernel-Driver"]
path = submodule-srcs/ROCK-Kernel-Driver
url = https://github.com/rocm/ROCK-Kernel-Driver

View File

@@ -20,12 +20,17 @@ source software compilers, debuggers, and libraries. ROCm is fully integrated in
(ML) frameworks, such as PyTorch and TensorFlow.
## Getting the ROCm Source Code
AMD ROCm is built from open source software. It is, therefore, possible to modify the various components of ROCm by downloading the source code and rebuilding the components. AMD ROCm is built from open source software. It is, therefore, possible to modify the various components of ROCm by downloading the source code and rebuilding the components. The source code for ROCm components can be cloned from each of the GitHub repositories using git.
AMD ROCm is built from open source software. It is, therefore, possible to modify the various components of ROCm by downloading the source code and rebuilding the components. The source code for ROCm components can be cloned from each of the GitHub repositories using git. For easy access to download the correct versions of each of these tools, the ROCm repository contains a repo manifest file called [default.xml](./default.xml). You can use this manifest file to download the source code for ROCm software.
There are two methods to clone/sync the ROCm sources. you can use either of the methods to sync the ROCm Sources
## [Method 1]
For easy access to download the correct versions of each of these tools, the ROCm repository contains a repo manifest file called [default.xml](./default.xml). You can use this manifest file to download the source code for ROCm software.
### Installing the repo tool
The repo tool from Google allows you to manage multiple git repositories simultaneously. Run the following commands to install the repo tool:
We need the repo tool to work with the manifest file. The repo tool from Google allows you to manage multiple git repositories simultaneously. Run the following commands to install the repo tool:
```bash
mkdir -p ~/bin/
@@ -43,11 +48,12 @@ Some ROCm projects use the Git Large File Storage (LFS) format that may require
sudo apt-get install git-lfs
```
### Downloading the ROCm source code
The following example shows how to use the repo tool to download the ROCm source code. If you choose a directory other than ~/bin/ to install the repo tool, you must use that chosen directory in the code as shown below:
```bash
# --------------------------------------
# Step1: clone source code
# --------------------------------------
mkdir -p ~/ROCm/
cd ~/ROCm/
export ROCM_VERSION=6.4.0
@@ -57,29 +63,35 @@ export ROCM_VERSION=6.4.0
**Note:** Using this sample code will cause the repo tool to download the open source code associated with the specified ROCm release. Ensure that you have ssh-keys configured on your machine for your GitHub ID prior to the download as explained at [Connecting to GitHub with SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh).
## Building the ROCm source code
## [Method 2]
This repository contains the source code for ROCm. Below you will find instructions for cloning the repository using submodules as an alternative to using the `repo` tool.
## Cloning with Git Submodules
As an alternative method, you can clone this repository and its submodules using Git's submodule functionality. This approach may be preferred if you are familiar with Git and wish to avoid using the `repo` tool.
To clone the repository along with all its submodules, use the following command:
```bash
# --------------------------------------
# Step1: clone source code
# --------------------------------------
git clone --recurse-submodules --remote-submodules https://github.com/ROCm/ROCm.git
cd ROCm/submodule-srcs
```
Each ROCm component repository contains directions for building that component, such as the rocSPARSE documentation [Installation and Building for Linux](https://rocm.docs.amd.com/projects/rocSPARSE/en/latest/install/Linux_Install_Guide.html). Refer to the specific component documentation for instructions on building the repository.
Each release of the ROCm software supports specific hardware and software configurations. Refer to [System requirements (Linux)](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) for the current supported hardware and OS.
## Build ROCm from source
The Build will use as many processors as it can find to build in parallel. Some of the compiles can consume as much as 10GB of RAM, so make sure you have plenty of Swap Space !
By default the ROCm build will compile for all supported GPU architectures and will take approximately 500 CPU hours.
The Build time will reduce significantly if we limit the GPU Architecture/s against which we need to build by using the environment variable GPU_ARCHS as mentioned below.
```bash
# --------------------------------------
# Step1: clone source code
# --------------------------------------
mkdir -p ~/WORKSPACE/ # Or any folder name other than WORKSPACE
cd ~/WORKSPACE/
export ROCM_VERSION=6.4.0
~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.4.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml
~/bin/repo sync
# --------------------------------------
# Step 2: Prepare build environment

1
submodule-srcs/HIP Submodule

Submodule submodule-srcs/HIP added at a0a2dd7fc8

1
submodule-srcs/HIPIFY Submodule

Submodule submodule-srcs/HIPIFY added at b803a5270b

1
submodule-srcs/MIOpen Submodule

Submodule submodule-srcs/MIOpen added at a583315f3e

1
submodule-srcs/ROCgdb Submodule

Submodule submodule-srcs/ROCgdb added at 401bb21f2f

1
submodule-srcs/amdsmi Submodule

Submodule submodule-srcs/amdsmi added at ede62f2534

1
submodule-srcs/clr Submodule

Submodule submodule-srcs/clr added at 0f2d602424

1
submodule-srcs/half Submodule

Submodule submodule-srcs/half added at 1ddada2251

1
submodule-srcs/hipCUB Submodule

Submodule submodule-srcs/hipCUB added at a6005943c5

1
submodule-srcs/hipFFT Submodule

Submodule submodule-srcs/hipFFT added at 396169c84a

1
submodule-srcs/rccl Submodule

Submodule submodule-srcs/rccl added at 7b86f83d84

1
submodule-srcs/rdc Submodule

Submodule submodule-srcs/rdc added at be34d624f6

1
submodule-srcs/rocAL Submodule

Submodule submodule-srcs/rocAL added at 373ef865ac

1
submodule-srcs/rocFFT Submodule

Submodule submodule-srcs/rocFFT added at 058ba87fdc

1
submodule-srcs/rpp Submodule

Submodule submodule-srcs/rpp added at 5fb204ca70