JP6921936B2 - Simdエンジンを用いる汎用データ圧縮 - Google Patents
Simdエンジンを用いる汎用データ圧縮 Download PDFInfo
- Publication number
- JP6921936B2 JP6921936B2 JP2019501704A JP2019501704A JP6921936B2 JP 6921936 B2 JP6921936 B2 JP 6921936B2 JP 2019501704 A JP2019501704 A JP 2019501704A JP 2019501704 A JP2019501704 A JP 2019501704A JP 6921936 B2 JP6921936 B2 JP 6921936B2
- Authority
- JP
- Japan
- Prior art keywords
- subset
- hash
- processed
- data stream
- hash value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
- H03M7/6023—Parallelization
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Advance Control (AREA)
- Storage Device Security (AREA)
Description
以下の動作:
処理済みサブセットのうちのサブセット毎に前記ハッシュ値を計算し、
各計算したハッシュ値の一致について前記ハッシュテーブルを検索し、
前記一致の結果に従い、前記ハッシュテーブルを更新し、
を実行し、その間、前記動作のうちの少なくとも1つの動作は、単一命令多重データ処理、SIMD、エンジンに、前記複数のサブセットのうちの連続サブセットのグループの各被処理サブセットについて、前記少なくとも1つの動作を同時実行するよう指示することにより実行され、
前記一致の結果及び前記一致の結果に依存する比較の比較結果に従い、前記圧縮出力データストリームを更新し、
前記複数の関連サブセットについて、前記計算、検索、及び更新を繰り返して、前記圧縮出力データストリームを生成する、よう適応されるプロセッサと、
を含むシステムが提供される。
前記比較は、前記計算したハッシュ値を有する前記処理済みサブセットの前記データアイテムと、前記一致するハッシュエントリ内の前記ポインタにより指される前記関連サブセットの前記データアイテムとの間の比較を含む。
前記比較結果が、前記処理済みサブセット及び前記関連サブセットの前記データアイテムが同一でないと示す場合、前記処理済みサブセットは、前記圧縮出力データストリーム内で更新され、前記ハッシュテーブルは前記処理済みサブセットの新しいハッシュエントリにより更新される。
前記グループの前記処理済みサブセットを互いに離すこと、
処理済みサブセット毎に異なるシフト値を用いて前記処理済みサブセットをシフトすること、及び、前記処理済みサブセットを処理して前記処理済みサブセット毎にハッシュ値を生成すること、を含む。
以下の動作:
被処理サブセットのうちのサブセット毎に前記ハッシュ値を計算し、
各計算したハッシュ値の一致について前記ハッシュテーブルを検索し、
前記一致の結果に従い、前記ハッシュテーブルを更新する、
を実行するステップであって、前記動作のうちの少なくとも1つの動作は、プロセッサの単一命令多重データ処理、SIMD、エンジンに、前記複数の関連サブセットのうちの連続サブセットのグループの各被処理サブセットについて、前記少なくとも1つの動作を同時実行するよう指示することにより実行される、ステップと、
前記一致の結果及び前記一致の結果に依存する比較の比較結果に従い、前記圧縮出力データストリームを更新するステップと、
前記複数のサブセットを通じて、前記計算、検索、及び更新を繰り返して、前記圧縮出力データストリームを生成するステップと、を含む方法が提供される。
前記グループの前記被処理サブセットを互いに離すこと、
被処理サブセット毎に異なるシフト値を用いて前記被処理サブセットをシフトすること、及び、前記被処理サブセットを処理して前記被処理サブセット毎にハッシュ値を生成すること、を含む。
・レジスタ部分302Aに格納されたデータアイテムSK310A乃至SK+7310Hは、6ビット左にシフトされる。
・レジスタ部分302Bに格納されたデータアイテムSK+1310B乃至SK+8310Iは、4ビット左にシフトされる。
・レジスタ部分302Bに格納されたデータアイテムSK+2310C乃至SK+9310Jは、2ビット左にシフトされる。
・レジスタ部分302Dに格納されたデータアイテムSK+3310D乃至SK+10310Kは、全くシフトされない。
void__m512i_m512_132gather_epi32(__m512i vindex, void const* base_addr, int scale)
シノプシス:
void__m512i_m512_132gather_epi32(__m512i vindex, void const* base_addr, int scale)
#include “immintrin.h”
Instruction :Vpgatherdd zmm32z {k}, vm32z
CPUID Flags :AVX512F for AVX−512, KNCNI for KNC
説明:
32ビットインデックスを用いてメモリから32ビット整数を集める。32ビット要素は、base_addrで開始するアドレスからロードされ、vindex内の各32ビット要素によりオフセットされる(各インデックスはscale内の因子によりスケーリングされる)。scaleは1、2、4、又は8であるべきである。
動作:
FOR j:=0 to 15
i:=j*32
dst[i+31:i]:=MEM[base_addr+SignExtend(vindex[i+31:i])*scale]
ENDFOR
Dst[MAX:512]:=0
擬似コード抜粋1:
Result[i]=hashTable[hashes[i]] for i in 0…15
void__m512i_m512_132scatter_epi32(void* base_addr, __m512i vindex, __512i a, int scale)
シノプシス:
void__m512i_m512_132scatter_epi32(void* base_addr, __m512i vindex, __512ia, int scale)
#include “immintrin.h”
Instruction :vpscatterdd vm32{k}, zmm
CPUID Flags :AVX512F for AVX−512, KNCNI for KNC
説明:
32ビットインデックスを用いて、aからメモリに32ビット整数を散乱させる。32ビット要素は、base_addrで開始するアドレスに格納され、vindex内の各32ビット要素によりオフセットされる(各インデックスはscale内の因子によりスケーリングされる)。scaleは1、2、4、又は8であるべきである。
動作:
FOR j:=0 to 15
i:=j*32
MEM[base_addr+SignExtend(vindex[i+31:i])*scale]:=a[i+31:i]
ENDFOR
擬似コード抜粋2:
hashTable[hashes[i]]=position[i] for i in 0…15
ここで、以上の記載と一緒に本発明を非限定的に説明する以下の例を参照する。
Claims (15)
- 入力データストリームを圧縮して圧縮出力データストリームを生成するシステムであって、
ハッシュテーブルを格納するメモリであって、前記ハッシュテーブルは複数のハッシュエントリを含み、各ハッシュエントリは、入力データストリームの複数のデータアイテムのうちの続くデータアイテムの複数のサブセットのうちの関連サブセットのハッシュ値と、前記関連サブセットのメモリ位置へのポインタと、を含む、メモリと、
前記メモリに結合されるプロセッサであって、
以下の動作:
被処理サブセットのうちのサブセット毎に前記ハッシュ値を計算し、
各計算したハッシュ値の一致について前記ハッシュテーブルを検索し、
前記一致の結果に従い、前記ハッシュテーブルを更新する、
を実行し、前記動作のうちの少なくとも1つの動作は、単一命令多重データ処理、SIMD、エンジンに、前記複数のサブセットのうちの連続サブセットのグループの各被処理サブセットについて、前記少なくとも1つの動作を同時実行するよう指示することにより実行され、
前記一致の結果及び前記一致の結果に依存する比較の比較結果に従い、前記圧縮出力データストリームを更新し、
前記複数の関連サブセットについて、前記計算、検索、及び更新を繰り返して、前記圧縮出力データストリームを生成する、よう適応されるプロセッサと、
を含み、
前記複数のサブセットの各々は、前記入力データストリームに渡りスライドウインドウをスライドさせ、前のサブセットの最も早いデータアイテムが省略され、新しいデータアイテムが追加されることにより、生成される、システム。 - 前記複数の関連サブセットの各々は、前記SIMDエンジンのアーキテクチャに従い定義された所定数のデータアイテムを含む、請求項1に記載のシステム。
- 前記グループ内の被処理サブセットの数は、前記SIMDエンジンのアーキテクチャに従い設定される、請求項1又は2に記載のシステム。
- 前記一致の結果は、各計算したハッシュ値の前記ハッシュテーブル内に存在する既存ハッシュ値との一致を示す、請求項1乃至3のいずれかに記載のシステム。
- 前記比較は、前記一致の結果が前記計算したハッシュ値の前記ハッシュテーブル内の一致するハッシュ値との一致を示す場合に、前記比較結果を生成するよう行われ、
前記比較は、前記計算したハッシュ値を有する前記被処理サブセットの前記データアイテムと、前記一致するハッシュエントリ内の前記ポインタによりポイントされる前記関連サブセットの前記データアイテムとの間の比較を含む、
請求項1乃至4のいずれかに記載のシステム。 - 前記比較結果が、前記被処理サブセット及び前記関連サブセットの前記データアイテムが同一であると示す場合、前記被処理サブセットは、前記圧縮出力データストリーム内の前記関連サブセットへのポインタにより置き換えられ、
前記比較結果が、前記被処理サブセット及び前記関連サブセットの前記データアイテムが同一でないと示す場合、前記被処理サブセットは、前記圧縮出力データストリーム内で更新され、前記ハッシュテーブルは前記被処理サブセットの新しいハッシュエントリにより更新される、
請求項1乃至5のいずれかに記載のシステム。 - 前記被処理サブセットのうちのサブセット毎に前記ハッシュ値を計算する前記動作を同時実行することは、前記プロセッサが被処理サブセットの前記グループを前記SIMDエンジンの少なくとも1つのSIMDレジスタにロードすること、及び前記SIMDエンジンがサブセットの前記グループを同時処理すること、を含み、前記同時処理は、
前記グループの前記被処理サブセットを互いに離すこと、
被処理サブセット毎に異なるシフト値を用いて前記被処理サブセットをシフトすること、及び、前記被処理サブセットを処理して前記被処理サブセット毎にハッシュ値を生成すること、を含む、請求項1乃至6のいずれかに記載のシステム。 - 各計算したハッシュ値の一致について前記ハッシュテーブルを検索する前記動作を同時実行することは、前記プロセッサが、前記SIMDエンジンに、前記計算したハッシュ値の各々の前記ハッシュテーブルに格納されたハッシュ値との一致について同時検索するよう指示することを含む、請求項1乃至7のいずれかに記載のシステム。
- 前記一致の結果に従い、前記ハッシュテーブルを更新する前記動作を同時実行することは、前記プロセッサが、前記SIMDエンジンに、前記少なくとも1つの被処理サブセットに関連付けられたエントリにより、前記ハッシュテーブルを同時更新するよう指示することを含む、請求項1乃至8のいずれかに記載のシステム。
- 前記圧縮出力データストリームは、レガシ圧縮方法を用いて圧縮された標準的圧縮出力データストリームに準拠し、前記圧縮出力データストリームは、レガシ伸長方法を用いて伸長される、請求項1乃至9のいずれかに記載のシステム。
- 入力データストリームを圧縮して圧縮出力データストリームを生成する方法であって、
複数のハッシュエントリを含むハッシュテーブルを格納するステップであって、各ハッシュエントリは、入力データストリームの複数のデータアイテムのうちのデータアイテムの複数のサブセットのうちの関連サブセットのハッシュ値と、前記関連サブセットのメモリ位置へのポインタと、を含む、ステップと、
以下の動作:
被処理サブセットのうちのサブセット毎に前記ハッシュ値を計算し、
各計算したハッシュ値の一致について前記ハッシュテーブルを検索し、
前記一致の結果に従い、前記ハッシュテーブルを更新する、
を実行するステップであって、前記動作のうちの少なくとも1つの動作は、プロセッサの単一命令多重データ処理、SIMD、エンジンに、前記複数の関連サブセットのうちの連続サブセットのグループの各被処理サブセットについて、前記少なくとも1つの動作を同時実行するよう指示することにより実行される、ステップと、
前記一致の結果及び前記一致の結果に依存する比較の比較結果に従い、前記圧縮出力データストリームを更新するステップと、
前記複数のサブセットを通じて、前記計算、検索、及び更新を繰り返して、前記圧縮出力データストリームを生成するステップと、
を含み、
前記複数のサブセットの各々は、前記入力データストリームに渡りスライドウインドウをスライドさせ、前のサブセットの最も早いデータアイテムが省略され、新しいデータアイテムが追加されることにより、生成される、方法。 - 前記被処理サブセットのうちのサブセット毎に前記ハッシュ値を計算する前記動作を同時実行することは、前記プロセッサが被処理サブセットの前記グループを前記SIMDエンジンの少なくとも1つのSIMDレジスタにロードすること、及び前記SIMDエンジンが被処理サブセットの前記グループを同時処理すること、を含み、前記同時処理は、
前記グループの前記被処理サブセットを互いに離すこと、
被処理サブセット毎に異なるシフト値を用いて前記被処理サブセットをシフトすること、及び、前記被処理サブセットを処理して前記被処理サブセット毎にハッシュ値を生成すること、を含む、請求項11に記載の方法。 - 各計算したハッシュ値の一致について前記ハッシュテーブルを検索する前記動作を同時実行することは、前記プロセッサが、前記SIMDエンジンに、前記計算したハッシュ値の各々の前記ハッシュテーブルに格納されたハッシュ値との一致について同時検索するよう指示することを含む、請求項11に記載の方法。
- 前記一致の結果に従い、前記ハッシュテーブルを更新する前記動作を同時実行することは、前記プロセッサが、前記SIMDエンジンに、前記少なくとも1つの被処理サブセットに関連付けられたエントリにより、前記ハッシュテーブルを同時更新するよう指示することを含む、請求項11に記載の方法。
- 前記圧縮出力データストリームは、レガシ圧縮方法を用いて圧縮された標準的圧縮出力データストリームに準拠し、前記圧縮出力データストリームは、レガシ伸長方法を用いて伸長される、請求項11乃至14のいずれか一項に記載の方法。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2016/066798 WO2018010800A1 (en) | 2016-07-14 | 2016-07-14 | General purpose data compression using simd engine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019522940A JP2019522940A (ja) | 2019-08-15 |
| JP6921936B2 true JP6921936B2 (ja) | 2021-08-18 |
Family
ID=56409635
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019501704A Expired - Fee Related JP6921936B2 (ja) | 2016-07-14 | 2016-07-14 | Simdエンジンを用いる汎用データ圧縮 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10489160B2 (ja) |
| EP (1) | EP3476051A1 (ja) |
| JP (1) | JP6921936B2 (ja) |
| CN (1) | CN108141225B (ja) |
| WO (1) | WO2018010800A1 (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109361398B (zh) * | 2018-10-11 | 2022-12-30 | 南威软件股份有限公司 | 一种基于并行和流水线设计的lz过程硬件压缩方法及系统 |
| CN110572160A (zh) * | 2019-08-01 | 2019-12-13 | 浙江大学 | 一种指令集模拟器译码模块代码的压缩方法 |
| CN110830938B (zh) * | 2019-08-27 | 2021-02-19 | 武汉大学 | 一种针对室内信号源部署方案筛选的指纹定位快速实现方法 |
| CN114761970A (zh) * | 2019-10-01 | 2022-07-15 | 弗劳恩霍夫应用研究促进协会 | 神经网络表示格式 |
| CN111370064B (zh) * | 2020-03-19 | 2023-05-05 | 山东大学 | 基于simd的哈希函数的基因序列快速分类方法及系统 |
| CN113886652B (zh) * | 2021-10-09 | 2022-06-17 | 北京欧拉认知智能科技有限公司 | 一种内存优先的多模图数据存储与计算方法及系统 |
| US12494800B2 (en) * | 2021-12-22 | 2025-12-09 | Intel Corporation | Apparatus and method for constant detection during compress operations |
| CN114610715B (zh) * | 2022-03-08 | 2025-08-08 | 国网江西省电力有限公司信息通信分公司 | 一种提高数据存储与查询性能的方法和系统 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3913004B2 (ja) * | 2001-05-28 | 2007-05-09 | キヤノン株式会社 | データ圧縮方法及び装置及びコンピュータプログラム及び記憶媒体 |
| US9747105B2 (en) * | 2009-12-17 | 2017-08-29 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
| KR101956031B1 (ko) * | 2012-10-15 | 2019-03-11 | 삼성전자 주식회사 | 데이터 압축 장치 및 방법, 데이터 압축 장치를 포함하는 메모리 시스템 |
| CN103023509A (zh) * | 2012-11-14 | 2013-04-03 | 无锡芯响电子科技有限公司 | 一种硬件lz77压缩实现系统及其实现方法 |
| JP6028567B2 (ja) * | 2012-12-28 | 2016-11-16 | 富士通株式会社 | データ格納プログラム、データ検索プログラム、データ格納装置、データ検索装置、データ格納方法及びデータ検索方法 |
| US8766827B1 (en) * | 2013-03-15 | 2014-07-01 | Intel Corporation | Parallel apparatus for high-speed, highly compressed LZ77 tokenization and Huffman encoding for deflate compression |
| JP6048251B2 (ja) * | 2013-03-21 | 2016-12-21 | 富士通株式会社 | データ圧縮装置、データ圧縮方法、およびデータ圧縮プログラム、並びにデータ復元装置、データ復元方法、およびデータ復元プログラム |
| US9626428B2 (en) * | 2013-09-11 | 2017-04-18 | Advanced Micro Devices, Inc. | Apparatus and method for hash table access |
| US9690488B2 (en) * | 2015-10-19 | 2017-06-27 | Intel Corporation | Data compression using accelerator with multiple search engines |
-
2016
- 2016-07-14 WO PCT/EP2016/066798 patent/WO2018010800A1/en not_active Ceased
- 2016-07-14 EP EP16738472.6A patent/EP3476051A1/en not_active Ceased
- 2016-07-14 CN CN201680058318.2A patent/CN108141225B/zh not_active Expired - Fee Related
- 2016-07-14 JP JP2019501704A patent/JP6921936B2/ja not_active Expired - Fee Related
-
2019
- 2019-01-11 US US16/246,179 patent/US10489160B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP3476051A1 (en) | 2019-05-01 |
| WO2018010800A1 (en) | 2018-01-18 |
| CN108141225A (zh) | 2018-06-08 |
| CN108141225B (zh) | 2020-10-27 |
| US20190146801A1 (en) | 2019-05-16 |
| JP2019522940A (ja) | 2019-08-15 |
| US10489160B2 (en) | 2019-11-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6921936B2 (ja) | Simdエンジンを用いる汎用データ圧縮 | |
| EP2788902B1 (en) | Techniques for more efficient usage of memory-to-cpu bandwidth | |
| EP4012928B1 (en) | Methods, devices and systems for semantic-value data compression and decompression | |
| Ratanaworabhan et al. | Fast lossless compression of scientific floating-point data | |
| CN106027062A (zh) | 直接对lz77引擎输出的标记进行霍夫曼编码程序的硬件数据压缩器 | |
| CN105959013A (zh) | 利用预先霍夫曼编码决定对匹配字符串或反向指针执行霍夫曼编码程序的硬件数据压缩器 | |
| CN114764407A (zh) | 加速器和词典解码的近存储加速的方法 | |
| TWI639926B (zh) | 在輸入區塊掃描時維持分類符號列之硬體資料壓縮器 | |
| JP2026001179A (ja) | パターンベースのキャッシュブロック圧縮 | |
| Ozsoy et al. | Optimizing LZSS compression on GPGPUs | |
| Weißenberger et al. | Massively parallel inverse block-sorting transforms for bzip2 decompression on GPUs | |
| Lawlor | In-memory data compression for sparse matrices | |
| US12512853B2 (en) | Data compression in a data transform accelerator | |
| Yang et al. | ENEC: A Lossless AI Model Compression Method Enabling Fast Inference on Ascend NPUs | |
| HK40056158A (en) | Methods, devices and systems for semantic value data compression and decompression | |
| Ching | Optimizing lempel-ziv factorization for the GPU architecture | |
| De Agostino | The Uncompress Application on Distributed Communications Systems | |
| Funasaka | A Study of Loss-Less Data Compression Method Optimized for GPU Decompression |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190215 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191223 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200204 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200501 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201027 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210125 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210629 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210728 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6921936 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |