microsoft / microsoft/DirectXShaderCompiler
Some SM69 Vectorized QuadRead and other tests fail on x86 WARP
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3.7k
- Forks
- 900
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 44
Description
The following tests hit OOM issues when running on WARP in x86 builds. These tests stress warps shader compiler to use too much memory for large vectors on x86 builds.
We likely just need to cap the vector size to something smaller than 1024 when running on x86 against WARP. The size 512 cases pass.
Updating the pipelines running this against x86 WARP to use the IsRITP runtime parameter is also a reasonable option.
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::AsDouble_uint32_t
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::AsUint_SplitDouble_double
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadAcrossDiagonal_HLSLHalf_t
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadAcrossDiagonal_float
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadAcrossX_HLSLHalf_t
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadAcrossX_float
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadAcrossY_HLSLHalf_t
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadAcrossY_float
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadLaneAt_HLSLHalf_t
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadLaneAt_float
clang-taef-exec :: ExecHLSLTests.dll/DxilConf_SM69_Vectorized_Core::QuadReadLaneAt_uint16_t
Failure in logs:
Compiling shader:
Target profile: cs_6_9
Arguments: -enable-16bit-types -DTYPE=uint16_t -DNUM=1024 -DOPERATOR= -DFUNC=TestQuadRead -DFUNC_TEST_QUAD_READ=1 -DNUMTHREADS_XYZ=2,2,1 -DOP_STORES_RESULT_ON_SPECIFIC_LANE=1 -DQUAD_READ_FUNC=QuadReadLaneAt -DSOURCE_LANE_ID=2 -DOUT_TYPE=uint16_t -DBASIC_OP_TYPE=0x2
Device lost: 0x887a0005 (DXGI_ERROR_DEVICE_REMOVED)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the named DxilConf_SM69_Vectorized_Core tests and the x86 WARP pipeline configurations. Compare the 1024-vector cases with the passing 512 cases and inspect how the IsRITP runtime parameter is used. Done means the listed tests no longer hit OOM or device-removed failures in x86 WARP runs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100