[llvm] [AMDGPU] Implement workaround for GFX11.5 export priority (PR #99273)
Pierre van Houtryve via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 17 01:04:50 PDT 2024
================
@@ -1597,20 +1603,23 @@ def FeatureISAVersion11_5_0 : FeatureSet<
!listconcat(FeatureISAVersion11_Common.Features,
[FeatureSALUFloatInsts,
FeatureDPPSrc1SGPR,
- FeatureVGPRSingleUseHintInsts])>;
+ FeatureVGPRSingleUseHintInsts,
----------------
Pierre-vh wrote:
> There seems to be some inconsistency with generics in general.
We have 2 families for GFX10 because GFX101x and GFX103x have incompatible ISAs due to encoding changes.
> GFX10 has separate 10.1, 10.3 generic targets, I guess because .0 is not defined.
The naming convention is just:
- If we have one family for the whole generation, just use the family name (`gfx9-generic`)
- If we have more, then name each target after the earlier/lowest number in the family (gfx101x -> `gfx10.1-generic`)
> GFX 9 generic target doesn't follow this workaround absorbing convention
What do you mean? We should have all workarounds included in gfx9-generic, if not, that's an issue.
Can you please tell me which workaround you think is missing? I'll follow up on it.
> and 9.4 doesn't have a generic target.
Generic targets are for the case where one decides that performance isn't essential (or ideal performance cannot be achieved anyway), and it just needs to work and get up and running fast (= easy to distribute). In those cases, building only 2 targets for GFX10 instead of 11 is a huge time and space saver.
It makes little to no sense for accelerators (e.g; gfx90a) to have generic targets for multiple reasons:
- They're designed for max performance on compute workloads. Performance >>> build times here.
- It's pretty much impossible to make a generic target for, e.g. gfx9 that includes MI. The biggest issue IIRC is that the memory model is radically different between consumer and MI gfx9.
https://github.com/llvm/llvm-project/pull/99273
More information about the llvm-commits
mailing list