Skip to content
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

ROCm/HIP #452

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

ROCm/HIP #452

wants to merge 1 commit into from

Conversation

GZGavinZhao
Copy link
Member

Description

Adds a section about how to use software that runs on or interacts with ROCm/HIP.

Submitter Checklist

  • Squashed commits with git rebase -i (if needed)

@davidjharder
Copy link
Member

When this is ready for review, would you mind rebasing? I want a guinea pig for the new Github Actions

@GZGavinZhao
Copy link
Member Author

GZGavinZhao commented Jan 14, 2024

@davidjharder Since this change is pretty easy to rebase, feel free to ping me on Matrix if you need me to do it a few more times.

@davidjharder
Copy link
Member

Rebase now and the checks should work as expected

@davidjharder
Copy link
Member

Hey, can you rebase this again to try the check

Signed-off-by: Gavin Zhao <[email protected]>
@GZGavinZhao
Copy link
Member Author

@davidjharder Done.

compilation target.
!-->

ROCm is designed such that in order for a library to support N different GPU
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a wall of text, nobody will read this.

With that being said, is it even necessary to mention all of this? I mean, for end users what matters is whether the GPU architecture is supported or not: If it's supported, they'll continue their day without reading everything; if it's not supported, they'll reach out using the available support channels.

Suggested change
ROCm is designed such that in order for a library to support N different GPU
:::tip
Install and run `rocminfo` to see your GPU architecture.
:::
The ROCm package included in Solus supports the following GPU architectures out of the box:
- `gfx803`
- `gfx900`
- `gfx906`
- `gfx908`
- `gfx90a`
- `gfx1010`. This architecture can run programs compiled for `gfx101*` GPUs such as `gfx1011` and `gfx1012`, see [Emulating
as a Supported Architecture](#emulating-as-a-supported-architecture).
- `gfx1030`. This architecture can run programs compiled for `gfx103*` GPUs such as `gfx1031` and `gfx1032`, see [Emulating
as a Supported Architecture](#emulating-as-a-supported-architecture).
- `gfx1010`
- `gfx1011`
- `gfx1012`
If your GPU is not on the list, please open an issue in our [issue tracker](https://github.com/getsolus/packages/issues/new/choose) with your GPU model and release year.
This list is only the minimum supported architectures. Some packages like [Blender](#blender) support more architectures.

- `gfx1011`
- `gfx1012`

:::tip
Copy link
Contributor

Choose a reason for hiding this comment

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

Move this note to the top of the section (See my first comment for more info)


:::

:::note
Copy link
Contributor

Choose a reason for hiding this comment

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

This shouldn't be a note (See my first comment for more info)


:::

If your GPU model is not on the list, please open an issue in
Copy link
Contributor

Choose a reason for hiding this comment

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

Move this right after the GPU list.

in PyTorch.

## Install ROCm/HIP

Copy link
Contributor

Choose a reason for hiding this comment

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

Add an introductory sentence to this block:

Suggested change
To install ROCm, execute the following command:

### Emulating as a Supported Architecture

Several GPU archiectures, such as those in the Navi 1 family, have
almost identical (if not exactly identical) ISA that allows a program compiled for
Copy link
Contributor

Choose a reason for hiding this comment

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

Simplify this line:

Suggested change
almost identical (if not exactly identical) ISA that allows a program compiled for
similar ISAs. This allows programs compiled for


Several GPU archiectures, such as those in the Navi 1 family, have
almost identical (if not exactly identical) ISA that allows a program compiled for
one architecture to run seamlessly on other.
Copy link
Contributor

Choose a reason for hiding this comment

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

Avoid excessive claims

Suggested change
one architecture to run seamlessly on other.
one architecture to run on another.

the `gfx1031` and `gfx1032` architectures. A list of such architectures is
listed in the previous section.

To emulate your GPU as a supported architecture, the environment variable
Copy link
Contributor

Choose a reason for hiding this comment

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

Avoid passive voice:

Suggested change
To emulate your GPU as a supported architecture, the environment variable
To emulate your GPU as a supported architecture, add the `HSA_OVERRIDE_GFX_VERSION` environment variable to your system. For example:

almost identical (if not exactly identical) ISA that allows a program compiled for
one architecture to run seamlessly on other.
For example, any program compiled for the `gfx1030` architecture can also run on
the `gfx1031` and `gfx1032` architectures. A list of such architectures is
Copy link
Contributor

Choose a reason for hiding this comment

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

In general, it's not a good idea to say things like "the previous section" or "the previous step". Instead, refer to the specific section name and include a link to it.

Suggested change
the `gfx1031` and `gfx1032` architectures. A list of such architectures is
the `gfx1031` and `gfx1032` architectures. See the _Supported Hardware and GPU Architectures_ list for the supported architectures.

@GZGavinZhao
Copy link
Member Author

@deoxys94 Thank you so much for your detailed review! I will address them later in the week.

ROCm is AMD's open-source software stack for GPU computation.

Note that ROCm is not required in order for, say, your display or browser, to
use GPU-acclerated rendering. These are more on the driver side of things and
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
use GPU-acclerated rendering. These are more on the driver side of things and
use GPU-accelerated rendering. These are more on the driver side of things and

Other than this, spelling checks out

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

Successfully merging this pull request may close these issues.

3 participants