• Raymond Knopp's avatar
    perf: make two-pass cnProc the default, keep unrolled as opt-in · 7a8d07ce
    Raymond Knopp authored
    Remove TWOPASS_CN_PROC guard now that the two-pass path is the only
    non-unrolled option:
    
      - Comment out #define UNROLL_CN_PROC 1 so the two-pass path is
        active by default on all targets (AVX2, AVX512, aarch64/NEON).
      - Collapse the four dispatch sites from
          #ifndef UNROLL_CN_PROC
            #ifdef TWOPASS_CN_PROC ... #else ... #endif
          #else  <unrolled switch>
        to the simpler
          #ifndef UNROLL_CN_PROC
            nrLDPC_cnProc_BG{1,2}_2pass(...)
          #else  <unrolled switch>
      - The unrolled path (UNROLL_CN_PROC) is retained for benchmarking
        and will be removed in a follow-up once the two-pass path is
        confirmed as the permanent default.
    
    Tested on: AMD Ryzen (AVX2), Intel (AVX512), Rockchip A76 (NEON),
               NVIDIA Neoverse (DGX Spark, GH200).
    Signed-off-by: default avatarRaymond Knopp <raymond.knopp@eurecom.fr>
    Assisted-by: Claude:claude-sonnet-4.6
    7a8d07ce
nrLDPC_decoder.c 29.9 KB