Draft: New LDPC decoding library for decoding complete slots in one call to the library
Previous attempts to integrate LDPC decoding relying on offloading show the limitation of the original code segment decoding interface for the library implementing the decoding. In order to perform the offload and therefore the decoding in an optimal fashion, it is relevant to provide the implementation with the broader amount of data possible per call, which is a complete slot.
The upcoming MR 4.1 of the T2 offload by only modifying nr_ulsch_decoding.c
manages to offer an interface for decoding transport blocks. But this may not be sufficient for performing an efficient decoding in any situation. Slots could be shared between multiple transport blocks in case multiple UEs are connected to the RAN, which makes the transport block size shrink and therefore degrades the efficiency of the offloading.
This MR offers a broader interface with an entry point in phy_procedures_nr_gNB.c
which leaves all the code that was previously implemented in nr_ulsch_decoding.c
to be implemented in the decoding library.
As it allows to feed the implementation with the broadest amount of data possible, it allows to fit any decoding solution in a library. This will avoid further modification to OAI source code and addition of options to select an implementation when integrating new decoding solutions. An implementation of this interface will therefore be offered for every existing decoding solution in OAI and solutions added in the future will be provided as independent module code without any modification to the core of OAI code.