IP Library › Granted Patent US 12,003,253
Granted Patent B2
US 12,003,253 · App. 17/402,341 · Granted Jun 4, 2024

Performing cyclic redundancy checks using parallel computing architectures

Inventor: Andrea Miele (San Jose, CA)
Assignee: NVIDIA Corporation
H03M13/09G06F9/5005G06T1/20H04L1/0061
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,003,253
App. No.
17/402,341
Granted
Jun 4, 2024
Kind
B2
Abstract

Apparatuses, systems, and techniques to compute cyclic redundancy checks use a graphics processing unit (GPU) to compute cyclic redundancy checks. For example, in at least one embodiment, an input data sequence is distributed among GPU threads for parallel calculation of an overall CRC value for the input data sequence according to various novel techniques described herein.

Claims (53)

1. A graphics processor comprising:

one or more circuits to perform error detection and correction of two or more portions of one or more fifth generation (5G) new radio signals in parallel.

2. The Previously Presented graphics processor of claim 1 , wherein the one or more circuits are further to:

obtain the one or more 5G new radio signals indicating at least a data sequence and a first polynomial;

allocate the data sequence and the first polynomial to a set of threads of the graphics processor; and

perform the error detection and correction by at least using the set of threads to process the data sequence and the first polynomial.

3. The graphics processor of claim 2 , wherein the one or more circuits are further to:

allocate the data sequence by at least processing the data sequence into a plurality of data segments; and

allocate the first polynomial by at least processing the first polynomial into a plurality of polynomial segments.

4. The graphics processor of claim 1 , wherein the one or more circuits are further to perform the error detection and correction by at least calculating a remainder of a division operation based at least in part on one or more polynomials indicated by the one or more 5G new radio signals.

5. The graphics processor of claim 1 , wherein the one or more circuits are further to use a plurality of threads of the graphics processor in parallel to perform the error detection and correction.

6. The graphics processor of claim 1 , wherein the one or more 5G new radio signals comprise one or more code blocks.

7. A machine-readable medium having stored thereon a set of instructions, which if performed by one or more graphics processors, cause the one or more graphics processors to perform error detection and correction of two or more portions of one or more fifth generation (5G) new radio signals in parallel.

8. The machine-readable medium of claim 7 , wherein the set of instructions further comprise instructions, which if performed by the one or more graphics processors, cause the one or more graphics processors to:

allocate a first set of data associated with the one or more 5G new radio signals to a first set of threads of the one or more graphics processors;

allocate a second set of data associated with the one or more 5G new radio signals to a second set of threads of the one or more graphics processors; and

perform the error detection and correction by at least using the first set of threads and the second set of threads to calculate an output value based at least in part on the first set of data and the second set of data.

9. The machine-readable medium of claim 7 , wherein the one or more 5G new radio signals comprise one or more data segments corresponding to one or more generator segments.

10. The machine-readable medium of claim 9 , wherein the instructions further comprise instructions, which if performed by the one or more graphics processors, cause the one or more graphics processors to:

store the one or more data segments in local memory of the one or more graphics processors; and

store the one or more generator segments in global memory of the one or more graphics processors.

11. The machine-readable medium of claim 7 , wherein the set of instructions further comprise instructions, which if performed by the one or more graphics processors, cause the one or more graphics processors to calculate whether an error has occurred by at least determining whether a first value stored in memory associated with the one or more graphics processors matches a second value calculated based at least in part on the one or more 5G new radio signals.

12. The machine-readable medium of claim 7 , wherein the instructions further comprise instructions, which if performed by the one or more graphics processors, cause the one or more graphics processors to:

use one or more threads of the one or more graphics processors to perform one or more multiplication operations based at least in part on the one or more 5G new radio signals to calculate a plurality of outputs; and

perform the error detection and correction by at least performing an exclusive OR operation on the plurality of outputs.

13. The machine-readable medium of claim 12 , wherein the set of instructions further comprise instructions, which if performed by the one or more graphics processors, cause the one or more graphics processors to perform the error detection and correction by at least calculating a first output of the plurality of outputs and a second output of the plurality of outputs in parallel.

14. A system, comprising:

one or more computers having one or more graphics processors to perform error detection and correction of two or more portions of one or more fifth generation (5G) new radio signals in parallel.

15. The system of claim 14 , wherein the one or more graphics processors are further to:

obtain the one or more 5G new radio signals indicating at least input data and a polynomial associated with a cyclic redundancy check (CRC) process; and

perform the error detection and correction by at least using a plurality of threads of the one or more graphics processors in parallel to process the input data and the polynomial.

16. The system of claim 14 , wherein the one or more graphics processors are further to parse the one or more 5G new radio signals to calculate a plurality of input data segments sized to fit a thread local memory data width.

17. The system of claim 14 , wherein the one or more graphics processors to perform the error detection and correction are further to:

calculate one or more cyclic redundancy check (CRC) values associated with one or more code blocks associated with the one or more 5G new radio signals; and

concatenate the one or more CRC values to calculate a CRC value associated with a transport block comprising the one or more code blocks, wherein the CRC value indicates a result of the error detection and correction.

18. The system of claim 14 , wherein the one or more 5G new radio signals indicate at least an input data sequence representable as a binary polynomial.

19. The system of claim 14 , wherein the one or more graphics processors are further to:

determine a first generator segment associated with a first thread position of a thread of the one or more graphics processors;

calculate one or more values of a thread output associated with the thread corresponding to the first thread position; and

provide access to the one or more values to the thread corresponding to the first thread position.

20. The system of claim 19 , wherein the one or more graphics processors are further to:

provide the access to the one or more values through one or more lookup tables; and

perform the error detection and correction by at least using the one or more lookup tables.

21. A method, comprising: using one or more graphics processors to perform error detection and correction on one or more fifth generation (5G) new radio signals in parallel.

22. The method of claim 21 , further comprising:

obtaining the one or more 5G new radio signals comprising one or more transport blocks;

obtaining a plurality of code blocks based at least in part on the one or more transport blocks; and

using a plurality of threads of the one or more graphics processors to process the plurality of code blocks.

23. The method of claim 21 , further comprising:

obtaining a generator polynomial associated with the one or more 5G new radio signals; and

performing the error detection and correction by at least processing one or more generator segments corresponding to the generator polynomial and one or more data segments corresponding to the one or more 5G new radio signals in parallel.

24. The method of claim 21 , wherein the one or more 5G new radio signals are generated by one or more mobile devices.

25. The method of claim 21 , wherein the error detection and correction comprises one or more cyclic redundancy check (CRC) processes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2021
From: MIELE, ANDREA
To: NVIDIA CORPORATION
Reel/Frame 057176/0727 →
Continuity (2)
Continuation 16559424 · Sep 3, 2019
Related Publication 20220173752A1 · Jun 2, 2022
Cited By (1)
US 12,609,715