KhronosGroup / KhronosGroup/SPIRV-Tools

Try to apply Profile-Guided Optimization (PGO) to SPIRV tooling

Open
#5,303 1 comment 0 reactions 0 assignees View on GitHub
dev:building enhancement
Dominant language
C++
Stars
1.4k
Forks
709
Avg merge
1d 22h
Merged PRs (30d)
28

Description

Hi!

I think SPIRV tools can get performance improvement by using Profile-Guided Optimization (PGO). I think so because, from my experience, compiler-like things get up to a 20% boost with it (according to [Clang](https://llvm.org/docs/HowToBuildWithPGO.html#introduction) and [Rustc](https://blog.rust-lang.org/inside-rust/2020/11/11/exploring-pgo-for-the-rust-compiler.html) tests).

Did anyone try to do such optimization on the project? Not sure, if is it possible or not to use tests as a profile since a good profile should work on a "hot" path in general cases.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by reviewing the SPIRV tooling build and test setup, then compare the proposed use of tests as profiles with the linked Clang and Rustc PGO guidance; done would require a concrete, agreed PGO approach or a documented feasibility conclusion.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, performance, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.