Investigate: why AMD Windows driver needs GBs of host memory per pipeline compile (OUT_OF_HOST_MEMORY) -- our shaders or driver bug? #673
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#673
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Investigation. Why does AMD's Windows driver (RX 6600 XT, 32.0.21045.5002) use so much host memory compiling our pipelines that
vkCreateGraphicsPipelinesreturnsVK_ERROR_OUT_OF_HOST_MEMORY? Our compile scheduler already assumes 3 GB per unknown pipeline on AMD, which is itself extreme. See #667 / #669 and the crash-workaround ticket.Questions
Which pipelines are expensive? Measure per-pipeline peak host memory and compile time on AMD (and on RADV and NVIDIA for comparison), for example with the learned costs in
vk_pipeline_costs.txt. Do the large ray-query lit variants (LIT_*_FragRt, the mask) or giant uber-shaders dominate?What in the SPIR-V drives it?
GL_EXT_ray_query) with many candidate pathsnonuniformEXTbindless indexing everywhereTry bisecting by stripping features from one expensive pipeline.
Known AMD issues: Has AMD documented anything about pipeline-compile memory blow-ups with ray query or large shaders? Check driver release notes, GPUOpen and other engines' bug trackers. Would
VK_EXT_pipeline_robustness, disabling robustness, pipeline libraries /VK_EXT_graphics_pipeline_library, orVK_KHR_pipeline_binarychange it?Workarounds on our side if it's in our shaders:
[[dont_unroll]])If it's an AMD driver bug: document it, file it with AMD (GPUOpen / developer support) with a minimal repro, and keep the workarounds.
Deliverable
Findings with numbers. Then either shader changes, or a documented driver bug plus a confirmed workaround configuration.