Merge remote-tracking branch 'origin/cnproc-twopass' into integration_2026_w30
Two-pass min1/min2 cnProc for BG1 and BG2. (#282)
nrLDPC_cnProc_BG1_2pass and nrLDPC_cnProc_BG2_2pass replace the
LUT-exclude-self approach with a two-pass algorithm:
- Pass 1: single sweep over all numBN inputs to collect min1, min2 (two
smallest |vk|) and the full sign product via sign_epi8.
- Pass 2: re-read each vk, select min2 where |vk|==min1 (tie approx),
remove self sign with sign_epi8(vsgn_all, vk), and store.
Memory reads per CN group: `2*numBN` vs `numBN*(numBN-1)` for LUT
approach:
numBN= 4: 8 vs 12 (1.5x fewer)
numBN= 7: 14 vs 42 (3.0x fewer)
numBN=10: 20 vs 90 (4.5x fewer)
numBN=19: 38 vs 342 (9.0x fewer)
A generic nrLDPC_cnProc_group_2pass(buf, res, numBN, M, off) helper does
the work; the BG1/BG2 wrappers loop over their degree groups and derive
the BN stride from lut_numCnInCnGroups_BG1/2_R13/15 exactly as the
existing functions do. No new LUT tables are required.
Placed inside the #else (non-AVX512) block alongside the existing
BG1/BG2 functions; AVX512 path is unchanged.
It also removes the cnProc/bnProc/bnProcPC generators and simplifies the
original implementation (several hundreds of lines of repetitive code
replaced by generic functions.)
Reviewed-by:
Laurent THOMAS <laurent.thomas@open-cells.com>
Showing
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment