Skip to content

[docs] Adding Linux bare metal setup docs #676

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

geomin12
Copy link
Contributor

Folks have been wanting docs for bare metal setup, so here it is!

Closes #630 #136

@geomin12
Copy link
Contributor Author

@amd-justchen when you get a chance, can you add docs for Windows bare metal setup?


1. After the GPU drivers have been setup, it's now time to setup `TheRock`. There are a few ways to install it:

- [Building from source for Ubuntu 24.04](https://github.com/ROCm/TheRock?tab=readme-ov-file#building-from-source)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefer relative links so these links also work from a local git repository outside of github. When using a website generator, relative links can also get parsed by the generator (e.g. https://www.mkdocs.org/user-guide/writing-your-docs/#linking-to-pages)

Suggested change
- [Building from source for Ubuntu 24.04](https://github.com/ROCm/TheRock?tab=readme-ov-file#building-from-source)
- [Building from source](../../README.md#building-from-source)

Comment on lines +31 to +49
```bash
# Install Ubuntu dependencies
sudo apt install gfortran git git-lfs ninja-build cmake g++ pkg-config xxd patchelf automake python3-venv python3-dev libegl1-mesa-dev

# Clone the repository
git clone https://github.com/ROCm/TheRock.git
cd TheRock

# Init python virtual environment and install python dependencies
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Download submodules and apply patches
python ./build_tools/fetch_sources.py

# For building ROCm/HIP
cmake -B build -GNinja . -DTHEROCK_AMDGPU_FAMILIES=gfx110X-dgpu
cmake --build build
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather just link to the existing docs showing how to build from source rather than duplicate. This new text could quickly get out of sync with that other text.

We should also recommend building --target therock-dist and using the dist (basically an "install" instead of a "build", in CMake terminology)

cmake --build build
```

- [Using `install_rocm_from_artifacts.py`](https://github.com/ROCm/TheRock/blob/main/RELEASES.md#from-install_rocm_from_artifactspy)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

relative link

Suggested change
- [Using `install_rocm_from_artifacts.py`](https://github.com/ROCm/TheRock/blob/main/RELEASES.md#from-install_rocm_from_artifactspy)
- [Using `install_rocm_from_artifacts.py`](../../RELEASES.md#from-install_rocm_from_artifactspy)

Comment on lines +53 to +64
```bash
# Clone the repository
git clone https://github.com/ROCm/TheRock.git
cd TheRock

# Downloads the version 6.4.0rc20250516 gfx110X artifacts from GitHub release tag nightly-tarball to the specified output directory build
python build_tools/install_rocm_from_artifacts.py --release 6.4.0rc20250516 --amdgpu-family gfx110X-dgpu --output-dir build

# Downloads all gfx94X S3 artifacts from GitHub CI workflow run 15052158890 to the default output directory therock-build
python build_tools/install_rocm_from_artifacts.py --run-id 15052158890 --amdgpu-family gfx94X-dcgpu --tests

```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here - link to other docs rather than duplicate, or include a single representative command here and link to the other page for other variations.

Comment on lines +1 to +3
# Bare metal machine setup with TheRock

## Linux
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see much in here that is "bare metal" specific, which is good. Maybe we can do some other documentation restructuring to explain how flexible the installation is, reducing dependence on containers / virtual machines / etc. That could also help with the duplication between other documentation files.

As for Windows, the "bare metal" concept doesn't usually apply as much as it does on Linux servers, but yes, we should have a "installing on Windows" document separate from "building from source on Windows"... when we have complete releases available on Windows.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To me it seems the only relevant part is installing the GPU drivers and setting up the user groups. However, we should try to link to existing docs if possible. Furthermore, this will be also required in containerized environments even though this needs further steps to to be able to use the GPUs in the container.

@amd-justchen
Copy link
Contributor

@amd-justchen when you get a chance, can you add docs for Windows bare metal setup?

Will do!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: TODO
Development

Successfully merging this pull request may close these issues.

Add documentation on installing TheRock and setting up bare metal machine
4 participants