Repository navigation
Conversation
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Merging this PR will degrade performance by 15%4 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
|
@connortsui20 I dont love having 4 different static variants of this... |
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Summary
FoRSchemebit-packed its child by callingBITPACKING_V1directly, without declaring the bit-packing IDs. The builder kept FoR whenfastlanes.bitpacked(orvortex.patched) was disallowed, so the write failed, and the child never usedfastlanes.bitpacked.v2. FoR now holds theBitPackingSchemeit uses, declares that scheme's IDs, and refines it alongside the references.Closes #10751.
Changes
FoRSchemegets abitpackingfield, andproduced_encodingsappends its IDs.refinepicks the references and the child's bit widths independently (four statics).Core-edition and CUDA output is unchanged. Sessions that allow
fastlanes.bitpacked.v2now get blocked children under FoR (fused decode from #10251).Testing
builder.rs: FoR is dropped withoutfastlanes.bitpackedand kept with it.for_.rs,tests/for_config.rs: FoR refines to a blocked child whenfastlanes.bitpacked.v2is allowed, and the compressed output serializes it.Follow-up
Excluding
BitPackingSchemeby scheme ID still doesn't stop FoR from bit-packing (documented onFoRScheme).