DOC: Better explanations about GPGPU driver installations
Description
This PR adds a better explanation of how to install the GPGPU drivers that are required for GPU mode.
PR should start as a draft, then move to ready for review state after CI is passed and all applicable checkboxes are closed. This approach ensures that reviewers don't spend extra time asking for regular requirements.
You can remove a checkbox as not applicable only if it doesn't relate to this PR in any way. For example, PR with docs update doesn't require checkboxes for performance while PR with any change in actual code should have checkboxes and justify how this code change is expected to affect performance (or justification should be self-evident).
Checklist to comply with before moving PR from draft:
PR completeness and readability
- [x] I have reviewed my changes thoroughly before submitting this pull request.
- [x] I have updated the documentation to reflect the changes or created a separate PR with update and provided its number in the description, if necessary.
- [x] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
- [x] I have added a respective label(s) to PR if I have a permission for that.
- [x] I have resolved any merge conflicts that might occur with the base branch.
Testing
- [x] I have run it locally and tested the changes extensively.
- [x] All CI jobs are green or I have provided justification why they aren't.
Performance
Not applicable.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
| Flag | Coverage Δ | |
|---|---|---|
| azure | 79.76% <ø> (?) |
|
| github | 73.58% <ø> (ø) |
Flags with carried forward coverage won't be shown. Click here to find out more.
see 37 files with indirect coverage changes
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Hi @david-cortes-intel I left a couple of comments other that lgtm
@ethanglaser @KateBlueSky Some comments:
- When it comes to consumer-grade GPUs, there is a separation between the regular GPU drivers and what is required to execute GPGPU code with SYCL. On linux at least, the consumer-grade GPU drivers come from the MESA packages, while executing SYCL code requires other packages like 'intel-compute-runtime', 'intel-graphics-compiler', etc. (which are specified neither as 'depends' nor 'recommends' for regular drivers), in addition to the DPC++ runtime. These do not appear to be explicitly called "GPGPU drivers", but that's how DPC++ at least refers to them.
- There isn't any Intel webpage explaining how to install drivers for all GPGPU-capable devices in all the platforms that are supported. Some oneAPI products link to the generic support page for products (like https://www.intel.com/content/www/us/en/download/747008/intel-arc-graphics-driver-ubuntu.html?wapkw=intel%20arc%20a770), which does not have any instruction for installing required GPGPU software on linux; while others link to the page for DC-grade devices (https://dgpu-docs.intel.com/driver/installation.html) which does not explain how to install the GPGPU software for iGPUs or ARC cards, and does not explain how to install what they offer in most of the platforms that are supported, such as newer versions of Ubuntu or Fedora.
- We currently have quite a bad structuring of the docs, with some things being spread throughout different pages (like system requirements, GPU instructions, installation instructions, etc.). As it currently is, this PR tries to add visibility about consumer-grade GPU support in this library, which will only be noticeable when added to the GPU docs. Ideally, details like which kinds of devices are supported should be put in the same page as the instructions for running on GPUs, but that would be a much deeper scope of changes for docs.