Skip to content

[CI] Remove Doxygen docs from intel.github.io/llvm-docs/ #15482

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

Merged
merged 5 commits into from
Sep 25, 2024

Conversation

uditagarwal97
Copy link
Contributor

@uditagarwal97 uditagarwal97 commented Sep 24, 2024

Prequel of #15483

This PR removes Doxygen docs/links from intel.github.io/llvm-docs/. This is done to reduce the size of the website so that it can be hosted via artifacts in #15483. intel/llvm-docs repository will soon be decommissioned.

@uditagarwal97 uditagarwal97 self-assigned this Sep 24, 2024
@uditagarwal97 uditagarwal97 changed the title [CI] Remove Doxygen docs from intel.github.io [CI] Remove Doxygen docs from intel.github.io/llvm-docs/ Sep 24, 2024
@@ -25,16 +25,14 @@ jobs:
path: repo
- name: Install deps
run: |
sudo apt-get install -y doxygen graphviz ssh ninja-build libhwloc-dev
sudo apt-get install -y graphviz ssh ninja-build libhwloc-dev
sudo pip3 install -r repo/llvm/docs/requirements.txt
- name: Build Docs
run: |
mkdir -p $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
python $GITHUB_WORKSPACE/repo/buildbot/configure.py -w $GITHUB_WORKSPACE \
-s $GITHUB_WORKSPACE/repo -o $GITHUB_WORKSPACE/build -t Release --docs
Copy link
Contributor

Choose a reason for hiding this comment

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

Potentially it can be useful to verify that developers can build Doxygen documentation locally if needed. Currently, we build Doxygen documentation during pre-commit testing w/o deploying the documentation.

I don't have a strong opinion about keeping Doxygen documentation buildable. IMHO, even if broken, it should be easy to fix.
If any of code owners have an opinion, feel free to leave a comment.

Copy link
Contributor

@sarnex sarnex left a comment

Choose a reason for hiding this comment

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

esimd lgtm

@sarnex sarnex requested a review from a team September 24, 2024 15:11
@uditagarwal97
Copy link
Contributor Author

@intel/llvm-gatekeepers the PR is ready for merge. E2E test failures are unrelated and also reported in other PRs (like https://github.com/intel/llvm/actions/runs/11018636840/job/30604700124)

@bader bader merged commit 5e9f4c8 into sycl Sep 25, 2024
20 of 22 checks passed
@bader bader deleted the sycl-devops-pr/udit/remove-doxy branch September 25, 2024 00:04
sarnex pushed a commit that referenced this pull request Sep 26, 2024
Follow up of #15482

This PR enables hosting [intel.github.io/llvm-docs/
](intel.github.io/llvm-docs/) website from intel/llvm. Generated docs
will be uploaded as an artifact and will be used to host GH page
(https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow).

The new URL of the website will be **intel.github.io/llvm/**
Example: https://uditagarwal97.github.io/llvm/
@elliottbinder
Copy link

esimd lgtm

I've been regularly referencing the DPC++ Explicit SIMD API for my development work. Will this no longer be hosted anywhere?

@sarnex
Copy link
Contributor

sarnex commented Oct 2, 2024

@uditagarwal97 @bader Can you guys please address Elliot's question? It looks like he was using the Doxygen.

@uditagarwal97
Copy link
Contributor Author

Will this no longer be hosted anywhere?

@elliottbinder @sarnex I'm afraid, no, we won't be hosting Doxygen docs anymore.

@bader
Copy link
Contributor

bader commented Oct 2, 2024

@elliottbinder, could you provide more details about your use case? The Doxygen documentation intended to be used by DPC++ compiler developers, so we haven't considered other scenarios.

@elliottbinder
Copy link

I work in HPC research and appreciate any access to whatever features are available in the ISA of a CPU, GPU, or whatever processor. I'm leveraging the matrix acceleration instructions (DPAS/W) present on Intel GPUs for one project, and I've been using the ESIMD API to produce instructions that I want. This gives me access to instructions and functionality I'm not sure I'd be able to use otherwise (horizontal reduction, using different vector lengths and operations, block memory operations, register region addressing, cache hints). If you know of a different way to get this functionality without ESIMD, I'd be interested to know.

Intel's Intrinsics Guide has been a reliable resource for CPUs for many years. If you take away this documentation for your GPUs, as far as I know how, I'd be stuck programming the GPU using a SIMT interface and don't get to leverage all the useful functionality that's already sitting there in silicon. In my experience, relying solely on compilers often leads to inefficient code, or having to write your code in a very specific way that may change if the underlying compiler heuristics change. It is simpler for folks in my line of work to just produce the instruction sequences we'd like directly.

Do you know how the LinAlg/FFT/ML library teams are programming the GPUs? I'd expect to see similar approaches there as well.

@asudarsa
Copy link
Contributor

asudarsa commented Oct 2, 2024

Hi @elliottbinder
Can you please check if the documentation here is sufficient for your purpose?

https://intel.github.io/llvm/

Thanks

@bader
Copy link
Contributor

bader commented Oct 3, 2024

@asudarsa, based on the link @elliottbinder provided above, he uses Doxygen documentation generated from SYCL headers. That part has been removed from the hosted rendered version (it still can be generated locally though).

We don't use Doxygen generated documentation for user faced API. This API is supposed to be documented in the extension specification. @elliottbinder, https://github.com/intel/llvm/tree/sycl/sycl/doc/extensions/supported/sycl_ext_intel_esimd should work for your use case.

The Doxygen is built from sources, ESIMD headers can be used as well, although they are less readable than Doxygen generated webpages.

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.

6 participants