IP Library › Granted Patent US 12,093,210
Granted Patent B2
US 12,093,210 · App. 17/430,574 · Granted Sep 17, 2024

Compression techniques

Inventors: Abhishek R. Appu (El Dorado Hills, CA); Altug Koker (El Dorado Hills, CA); Aravindh Anantaraman (Folsom, CA); Elmoustapha Ould-Ahmed-Vall (Chandler, AZ); Joydeep Ray (Folsom, CA); Mike Macpherson (Portland, OR); Valentin Andrei (San Jose, CA); Nicolas Galoppo Von Borries (Portland, OR); Varghese George (Folsom, CA); Subramaniam Maiyuran (Gold River, CA); Vasanth Ranganathan (El Dorado Hills, CA); Jayakrishna P S (Bangalore, IN); K Pattabhiraman (Bangalore, IN); Sudhakar Kamma (El Dorado Hills, CA)
Assignee: INTEL CORPORATION
G06F15/7839G06F7/5443G06F7/575G06F7/588G06F9/3001G06F9/30014G06F9/30036G06F9/3004G06F9/30043G06F9/30047G06F9/30065G06F9/30079G06F9/3887G06F9/5011G06F9/5077G06F12/0215G06F12/0238G06F12/0246G06F12/0607G06F12/0802G06F12/0804G06F12/0811G06F12/0862G06F12/0866G06F12/0871G06F12/0875G06F12/0882G06F12/0888G06F12/0891G06F12/0893G06F12/0895G06F12/0897G06F12/1009G06F12/128G06F15/8046G06F17/16G06F17/18G06T1/20G06T1/60H03M7/46G06F9/3802G06F9/3818G06F9/3867G06F2212/1008G06F2212/1021G06F2212/1044G06F2212/302G06F2212/401G06F2212/455G06F2212/60G06N3/08G06T15/06
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,093,210
App. No.
17/430,574
Filed
Aug 12, 2021
Granted
Sep 17, 2024
Kind
B2
Art Unit
2139
USPC
711/1
Abstract

Methods and apparatus relating to techniques for data compression. In an example, an apparatus comprises a processor receive a data compression instruction for a memory segment; and in response to the data compression instruction, compress a sequence of identical memory values in response to a determination that the sequence of identical memory values has a length which exceeds a threshold. Other embodiments are also disclosed and claimed.

Claims (56)

1. A general-purpose graphics processing device comprising:

a general-purpose graphics processing compute block comprising a plurality of processing resources;

a computer-readable memory communicatively coupled to the plurality of processing resources;

a memory interface communicatively coupled to the computer-readable memory to generate memory access requests to the computer-readable memory; and

a data compression device communicatively coupled to the computer-readable memory, the data compression unit comprising a hardware processor to:

receive a data compression instruction for a memory segment of the computer-readable memory; and

in response to the data compression instruction, compress a sequence of identical memory values in response to a determination that the sequence of identical memory values has a length which exceeds a threshold, wherein the threshold varies as a function of a size of a layer of neural networking model to which the data applies.

2. The general-purpose graphics processing device of claim 1 , wherein the threshold is set dynamically in response to operating conditions of the apparatus.

3. The general-purpose graphics processing device of claim 2 , the processor to:

replace the sequence of identical memory values with a single instance of a memory value and a metadata tag identifying the length of the sequence to generate a compressed data sequence.

4. The general-purpose graphics processing device of claim 3 , the processor to:

store the metadata tag adjacent the single instance of the memory value.

5. The general-purpose graphics processing device of claim 4 , the processor to:

receive a data decompression instruction directed to the memory segment; and

in response to the data decompression instruction, replace the single instance of the memory value with a sequence of identical memory values having a length equal to the length specified in the metadata tag.

6. The general-purpose graphics processing device of claim 5 , the processor to:

receive, from a requestor, a read operation directed to the memory segment; and

in response to the read operation, transmit the compressed data sequence to the requestor.

7. A processor-implemented method comprising:

providing:

a general-purpose graphics processing compute block comprising a plurality of processing resources;

a computer-readable memory communicatively coupled to the plurality of processing resources;

a memory interface communicatively coupled to the computer-readable memory to generate memory access requests to the computer-readable memory; and

a data compression device communicatively coupled to the computer-readable memory, the data compression unit comprising a hardware processor to perform operations comprising:

receiving a data compression instruction for a memory segment of the computer-readable memory; and

in response to the data compression instruction, compressing a sequence of identical memory values in response to a determination that the sequence of identical memory values has a length which exceeds a threshold, wherein the threshold varies as a function of a size of a layer of neural networking model to which the data applies.

8. The method of claim 7 , wherein the threshold is set dynamically in response to operating conditions of the apparatus.

9. The method of claim 8 , further comprising:

replacing the sequence of identical memory values with a single instance of a memory value and a metadata tag identifying the length of the sequence to generate a compressed data sequence.

10. The method of claim 9 , further comprising:

storing the metadata tag adjacent the single instance of the memory value.

11. The method of claim 10 , further comprising:

receiving a data decompression instruction directed to the memory segment; and

in response to the data decompression instruction, replacing the single instance of the memory value with a sequence of identical memory values having a length equal to the length specified in the metadata tag.

12. The method of claim 11 , further comprising:

receive, from a requestor, a read operation directed to the memory segment; and

in response to the read operation, transmit the compressed data sequence to the requestor.

13. A non-transitory computer-readable medium comprising one or more instructions that when executed on at least one processor configure the at least one processor to:

provide:

a general-purpose graphics processing compute block comprising a plurality of processing resources;

a computer-readable memory communicatively coupled to the plurality of processing resources;

a memory interface communicatively coupled to the computer-readable memory to generate memory access requests to the computer-readable memory; and

a data compression device communicatively coupled to the computer-readable memory, the data compression unit comprising a hardware processor to:

receive a data compression instruction for a memory segment of the computer-readable memory; and

in response to the data compression instruction, compress a sequence of identical memory values in response to a determination that the sequence of identical memory values has a length which exceeds a threshold, wherein the threshold varies as a function of a size of a layer of neural networking model to which the data applies.

14. The computer-readable medium of claim 13 , wherein the threshold is set dynamically in response to operating conditions of the apparatus.

15. The computer-readable medium of claim 14 , further comprising one or more instructions that when executed on at least one processor configure the at least one processor to:

replace the sequence of identical memory values with a single instance of a memory value and a metadata tag identifying the length of the sequence to generate a compressed data sequence.

16. The computer-readable medium of claim 15 , further comprising one or more instructions that when executed on at least one processor configure the at least one processor to:

store the metadata tag adjacent the single instance of the memory value.

17. The computer-readable medium of claim 16 , further comprising one or more instructions that when executed on at least one processor configure the at least one processor to:

receive a data decompression instruction directed to the memory segment; and

in response to the data decompression instruction, replace the single instance of the memory value with a sequence of identical memory values having a length equal to the length specified in the metadata tag.

18. The computer-readable medium of claim 17 , further comprising one or more instructions that when executed on at least one processor configure the at least one processor to:

receive, from a requestor, a read operation directed to the memory segment; and

in response to the read operation, transmit the compressed data sequence to the requestor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2021
From: APPU, ABHISHEK R.; KOKER, ALTUG; ANANTARAMAN, ARAVINDH; OULD-AHMED-VALL, ELMOUSTAPHA; RAY, JOYDEEP; MACPHERSON, MIKE; ANDREI, VALENTIN; GALOPPO VON BORRIES, NICOLAS; GEORGE, VARGHESE; MAIYURAN, SUBRAMANIAM; RANGANATHAN, VASANTH; S, JAYAKRISHNA P.; K, PATTABHIRAMAN; KAMMA, SUDHAKAR
To: INTEL CORPORATION
Reel/Frame 057164/0015 →
Continuity (4)
Provisional Application 62819337 · Mar 15, 2019
Provisional Application 62819435 · Mar 15, 2019
Provisional Application 62819361 · Mar 15, 2019
Related Publication 20220129265A1 · Apr 28, 2022
Cited By (1)
US 12,572,474