- Jul 25, 2025
-
-
Kevin Mooney authored
See CHANGELOG.md for a summary of the changes. Change-Id: I7a3ebb336958a61ea9e0ad02fb9c844960847ebb
-
- Jun 26, 2025
-
-
- ldpc decoder interface to output the number of iterations taken to complete decoding. - CRC16 and CRC24A for ldpc decoder.
-
- May 15, 2025
-
-
## Description Add DCT implementation, plus tests and benchmarks, for transforms of size with no factors other than 2, 3, 5 and 7 (all others currently return unsupported). ## Checklist * \[x\] [Contribution meets RAL's licence terms](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-licensing-information) * \[x\] [New functions adhere to RAL's naming scheme](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-function-naming) * \[x\] [Contribution conforms to RAL's directory structure](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-directory-structure) * \[x\] [Documentation updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-documentation) * \[\] ["Unreleased" section of the Changelog updated](https://gitlab.arm.com/networking/ral/-/blob/main/CHANGELOG.md#unreleased) - I will do this in a follow-on patch * \[x\] [`clang-format` and `clang-tidy` run and changes included (C/C++ code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-cc-code-style) * \[x\] [`flake8` run and changes included (Python code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-python-code-style) * \[x\] [`cmake-format` run and changes included (CMake code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-cmake-code-style) * \[x\] [Tests added or updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-writing-tests) * \[x\] [Tests pass when run with AddressSanitizer](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md?ref_type=heads#user-content-testing-with-addresssanitizer) * \[x\] [Benchmarks added or updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-writing-benchmarks)
-
- May 13, 2025
-
-
Fixes issue #6 In the rate matching function, the starting position of bit selection `k0` is calculated in the way instructed by 3GPP TS 38.212 and then used to copy the selected part of the encoder output. But, this `k0` is the starting position of bit selection in the encoder output **including the filler bits**. While bits are selected from a buffer `in_bits` **where filler bits were previously removed**. The result is that if `k0` falls within or after the filler bits then bits selection starts at the wrong position which introduces an offset in the bit selection output with regard to the expected output. This commit fixes this behavior in the library at `src/UpperPHY/LDPC/arm_ldpc_rate_matching.cpp` but also in the reference implementation at `test/UpperPHY/LDPC/RateMatching/main.cpp`. The fix is to test where k0 falls relatively to the filler bits and reduce it accordingly before proceeding with bit selection. ## Checklist * [x] [Contribution meets RAL's licence terms](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-licensing-information) * [x] [New functions adhere to RAL's naming scheme](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-function-naming) * [x] [Contribution conforms to RAL's directory structure](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-directory-structure) * [] [Documentation updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-documentation) -> not relevant * [x] ["Unreleased" section of the Changelog updated](https://gitlab.arm.com/networking/ral/-/blob/main/CHANGELOG.md#unreleased) * [x] [`clang-format` and `clang-tidy` run and changes included (C/C++ code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-cc-code-style) * [] [`flake8` run and changes included (Python code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-python-code-style) -> no python code, only c * [x] [`cmake-format` run and changes included (CMake code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-cmake-code-style) -> no CMake code, only c * [x] [Tests added or updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-writing-tests) * [x] [Tests pass when run with AddressSanitizer](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md?ref_type=heads#user-content-testing-with-addresssanitizer) * [] [Benchmarks added or updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-writing-benchmarks) -> not relevant
-
- Apr 18, 2025
-
-
Kevin Mooney authored
See CHANGELOG.md for a summary of the changes. Change-Id: If1b8f7f2010de93e1328524b761dbb216960a60f
-
- Apr 16, 2025
-
-
Kevin Mooney authored
Update CI to run on merge requests See merge request !36
-
# CI Updates This adds the rule: `if: $CI_PIPELINE_SOURCE == 'merge_request_event'` to allow the build pipeline to run on merge requests. The GitLab docs state "The parent project’s `.gitlab-ci.yml` file must be configured to run jobs in merge request pipelines.", and this change intends to implement this requirement. > Note, that since this is not already in the parent, this will not be a noticeable change for this specific MR, only MRs post the merge of this.
-
- Apr 02, 2025
-
-
Kevin Mooney authored
Interface changes to 'armral_ldpc_decode_block' See merge request !35
-
> * Added argument `n` , it is the actual length of the RateDematcher output, or the ldpc encoder output length. > * Added argument `len_filler_bits` , filler bits insertion is needed to ensure that the code block segments have a valid length and are a multiple of the lifting size. Filler bits are used to calculate CRC internally. > * Replaced argument `crc_idx` with `options`. > > It is an OR'd result of the below fields, > > CRC Type: > * ARMRAL_LDPC_CRC_NO > * ARMRAL_LDPC_CRC_16 > * ARMRAL_LDPC_CRC_24A > * ARMRAL_LDPC_CRC_24B (default) > > CRC Mode: > * ARMRAL_LDPC_CRC_EVERY_ITER (default) > * ARMRAL_LDPC_CRC_END_ITER > > Filler Bits: > * ARMRAL_LDPC_FILLER_BITS_IMPLICIT > * ARMRAL_LDPC_FILLER_BITS_EXPLICIT (default)
-
- Feb 28, 2025
-
-
Kevin Mooney authored
Implemented a new algorithm for ldpc decoding See merge request !32
-
> LDPC decoder algorithm implements iterative message-passing layered decoding. Algorithm involves exchanging the belief information among the variable nodes and check nodes. > > Input LLRs "l" provide intrinsic information. Extrinsic information "r" generated in check node is passed to variable nodes. > > Belief information is updated iteratively in two steps: > > 1. Variable-to-Check step: Variable nodes transmit their belief information to the connected check nodes. > 2. Check-to-Variable step: Check nodes process the received information, update it, and send it back to the connected variable nodes. > > The offset min-sum algorithm is chosen for its computational efficiency and ease of implementation while maintaining reliable decoding performance. **Note:** _This patch removes the parity_check, as the CRC check is performed which is mandatory._ BER rates with the new implementation are shown in the table below, | n | bg | mod_type | rv | Eb/N0 | ber_before | ber_after | |---|----|----------|----|-------|------------|-----------| | 300 | 2 | QPSK | 0 | 1.0 | 0.217548 | 0.019789 | | 396 | 1 | QPSK | 0 | 1.0 | 0.211515 | 0.027611 | | 1400 | 2 | QPSK | 0 | 1.0 | 0.279014 | 0.008802 | | 1848 | 1 | QPSK | 0 | 1.0 | 0.251669 | 0.017381 | | 4400 | 2 | QPSK | 0 | 1.0 | 0.321063 | 0.002338 | | 5808 | 1 | QPSK | 0 | 1.0 | 0.253866 | 0.008661 | | 10400 | 2 | QPSK | 0 | 1.0 | 0.332846 | 0.000411 | | 13728 | 1 | QPSK | 0 | 1.0 | 0.254120 | 0.004200 |
-
- Jan 23, 2025
-
-
Kevin Mooney authored
Release 25.01 See merge request !29
-
- Jan 21, 2025
-
-
Rosie Sumpter authored
-
- Dec 06, 2024
-
-
Kevin Mooney authored
Fix LDPC decoding accuracy See merge request !26
-
- Dec 05, 2024
-
-
Nick Dingle authored
A poster on our forum observed that the accuracy of our LDPC decoder was very much worse than that of other implementations. The cause is that we do all our calculations in int8_t fixed-point, which quickly saturates. The fix is to do all intermediate calculations in int16_t fixed-point. On average this causes a performance regression of between 1.2x and 1.3x across all ArmRAL benchmarks.
-
- Oct 17, 2024
-
-
Rosie Sumpter authored
Fix links in Release Notes See merge request !25
-
Nick Dingle authored
-
Nathan Sircombe authored
Release 24.10 See merge request !24
-
Nick Dingle authored
Co-Authored-By:
Radu Salavat <radu.salavat@arm.com> Co-Authored-By:
Rosie Sumpter <rosie.sumpter@arm.com> Co-Authored-By:
Amy Wignall <amy.wignall@arm.com>
-
- Aug 20, 2024
-
-
Nathan Sircombe authored
Increase FFT coverage See merge request !23
-
Rosie Sumpter authored
-
- Aug 06, 2024
-
-
Nathan Sircombe authored
Remove duplicate benchmarking cases for matmul_ahb See merge request !22
-
Rosie Sumpter authored
Updates a check in the bench.py file to ensure we don't add duplicate cases.
-
- Jul 18, 2024
-
-
Nathan Sircombe authored
Release 24.07 See merge request !21
-
- Jul 17, 2024
-
-
Rosie Sumpter authored
Co-Authored-By:
Nick Dingle <nick.dingle@arm.com> Co-Authored-By:
Amy Wignall <amy.wignall@arm.com> Co-Authored-By:
Radu Salavat <radu.salavat@arm.com>
-
- May 16, 2024
-
-
Nathan Sircombe authored
Run coverage on every commit See merge request !20
-
Nick Dingle authored
This will enable us to automatically gather coverage statistics over time.
-
- Apr 18, 2024
-
-
Nathan Sircombe authored
Add CMake option to install docs See merge request !19
-
Nick Dingle authored
-
- Apr 17, 2024
-
-
Nathan Sircombe authored
Use CMake's GNUInstallDirs See merge request !18
-
Nick Dingle authored
-
- Apr 16, 2024
-
-
Nathan Sircombe authored
Release 24.04 See merge request !17
-
Nick Dingle authored
-
Nick Dingle authored
Co-Authored-By:
Rosie Sumpter <rosie.sumpter@arm.com> Co-Authored-By:
Ryo Suzuki <ryo.suzuki@arm.com>
-
- Mar 04, 2024
-
-
Nathan Sircombe authored
Move license to LICENSE.md See merge request !15
-
Nick Dingle authored
This will allow Gitlab to automatically detect it and link to it from the front page of the project, which will make it more visible to users. Also update the list of third party licenses (currently empty) to match and update the documentation to point to the new license files.
-
- Feb 27, 2024
-
-
Nathan Sircombe authored
Add CHANGELOG.md See merge request !13
-
Nick Dingle authored
This collates all the change information from the Release Notes for all releases into a single document. Subsequent releases will have this information added in future. We also update the Merge Request templates to tell contributors to update the Changelog.
-
- Feb 23, 2024
-
-
Nick Dingle authored
Revert addition of LICENCE.md symlink See merge request !12
-
Nathan Sircombe authored
This reverts merge request !11
-