JPWO2020039522A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JPWO2020039522A1 JPWO2020039522A1 JP2020537940A JP2020537940A JPWO2020039522A1 JP WO2020039522 A1 JPWO2020039522 A1 JP WO2020039522A1 JP 2020537940 A JP2020537940 A JP 2020537940A JP 2020537940 A JP2020537940 A JP 2020537940A JP WO2020039522 A1 JPWO2020039522 A1 JP WO2020039522A1
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data string
- value
- data
- vector
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 22
- 238000003672 processing method Methods 0.000 title claims description 6
- 239000013598 vector Substances 0.000 claims abstract description 209
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims description 78
- 230000002776 aggregation Effects 0.000 claims description 43
- 238000004220 aggregation Methods 0.000 claims description 43
- 238000000638 solvent extraction Methods 0.000 claims description 7
- 238000010801 machine learning Methods 0.000 claims description 5
- 229940050561 matrix product Drugs 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 239000008280 blood Substances 0.000 description 4
- 210000004369 blood Anatomy 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 102100026338 F-box-like/WD repeat-containing protein TBL1Y Human genes 0.000 description 1
- 101000835691 Homo sapiens F-box-like/WD repeat-containing protein TBL1X Proteins 0.000 description 1
- 101000835690 Homo sapiens F-box-like/WD repeat-containing protein TBL1Y Proteins 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
データ列の個々の要素が取り得る値の種類が非常に限られている場合、例えば{0,1}の二値のみからなるデータ列を処理する場合などに、データ列をビットベクトルに変換することで処理を高速化する方法が知られている。ビットベクトルでは、元のデータ列の各要素から意味のあるビットのみを取り出し、そのビット列でデータ列を表現する。例えば、データ列が{0,1}の二値のみからなる場合は、そのデータ列の中で意味のある部分は各要素中の1ビットずつのみであるため、元のデータ列の一要素はビットベクトルの1ビットで表現することができる。プロセッサでビットベクトルを扱うために特殊なデータ構造を用意する必要はなく、単なる整数型の配列を用いることが多い。
特許文献1には、関連する技術として、データベースに対して複雑な条件節を持つクエリを実行する際にビットベクトルを利用する方法に関する技術が開示されている。
特許文献2には、関連する技術として、SVM(Support Vector Machine)の学習においてビットベクトルを利用する方法に関する技術が開示されている。
以下、図面を参照しながら実施形態について詳しく説明する。
本発明の第1の実施形態によるビットベクトル生成装置10(情報処理装置の一例)は、図1に示すように、入力データ列分割部101、ビットシフト部102a1、102a2、102a3、・・・、102am、ビット設定部103を備える。ビットシフト部102a1、102a2、102a3、・・・、102akを総称してビットシフト部102と呼ぶ。
ビットベクトル生成装置10は、SIMD型プロセッサが備える装置である。ビットベクトルの一要素あたりのビット幅をmとし、入力データ列を先頭から順番に、各要素ひとつずつ異なる桁数でビットシフトする関連する技術を用いた場合とは異なり、ビットベクトル生成装置10は、m個のグループひとつあたりに含まれる要素数を、出力ビットベクトルの要素数kと同じ要素数とすることで、SIMD方式の並列処理をk並列で行うことのできる出力ビットベクトルを生成する装置である。
例えば、図2に示されている元のデータ列が第jグループ(j∈{0,1,2,…,m−1})であるとき、ビットシフト部102は、この第jグループに含まれるk個の要素はすべてjビットだけ左へ(上位ビット側へ)シフトし、ビット設定部103は、その値を出力ビットベクトルのそれぞれの要素の第jビット目に設定する。
本発明の第1の実施形態によるビットベクトル生成装置10の処理の具体例について、図4を参照して説明する。入力となる元のデータ列SRCは、図4に示すように、24個の要素からなる(n=24)。ビットベクトルの一要素あたりのビット幅を4ビットとする(m=4)。出力となるビットベクトルの要素数kは、k=CEILING(24÷4)=6である。
ビットベクトル生成装置10において、入力データ列分割部101は、入力データ列を6要素ずつグループに分割し、全体で4個のグループを作る。入力データ列分割部101は、上述した繰り返し変数j∈{0,1,2,…,m−1}の値に合わせて、先頭から順に第0グループ、第1グループ、第2グループ、第3グループとする。また、入力データ列分割部101は、ビットベクトルのビット位置についても、最下位を0ビット目と数えるものとする。
ビットシフト部102それぞれは、第0グループに含まれる6個の要素にはビットシフトを行わない(SIMD方式の並列処理により0ビットのシフトを行う)。ビット設定部103は、ビットベクトルの6個の要素それぞれの0ビット目に設定する。ビットシフト部102それぞれは、SIMD方式の並列処理により第1グループに含まれる6個の要素をすべて1ビット左へシフトする。ビット設定部103は、ビットベクトルの6個の要素それぞれの1ビット目に設定する。以下同様であるが、ビットシフト部102それぞれは、SIMD方式の並列処理により第2グループに含まれる6個の要素にはすべて2ビット左へシフトし、ビット設定部103は、ビットベクトルの6個の要素それぞれの2ビット目に設定する。最後に、ビットシフト部102それぞれは、SIMD方式の並列処理により第3グループに含まれる6個の要素にはすべて3ビット左へシフトし、ビット設定部103は、ビットベクトルの6個の要素それぞれの3ビット目に設定する。このような処理により出力ビットベクトルDESTが完成する。
このようにすれば、SIMD方式の並列処理の並列数がビット幅mに制限されず、ビットベクトル生成装置10は、SIMD方式の並列処理をより多くの並列数kで高速にビットベクトルを生成することができる。また、処理する入力データ列SRCと出力ビットベクトルDESTは、どちらも連続した要素であるため、高速にメモリアクセスを行うことができ、ビットベクトル生成装置10は、高速にビットベクトルを生成することができる。
次に、本発明の第2の実施形態による集約演算システム1(情報処理装置の一例)について説明する。
本発明の第2の実施形態による集約演算システム1は、入力データ列SRCから出力ビットベクトルDESTを生成した上で、データ列の集約演算を行うシステムである。
集約演算システム1は、図6に示すように、ビットベクトル生成装置10a1、10a2、・・・、10aN、集約演算部20を備える。ビットベクトル生成装置10a1、10a2、・・・、10aNを総称してビットベクトル生成装置10aと呼ぶ。
例えば、{0,1}の二値のみからなるデータ列の集約演算部20による総和の算出は、ビットベクトル中の1となっているビットの個数を数え上げることで算出することができる。この場合の集約演算部20の演算は、出力ビットベクトルDESTの各要素に対してポップカウント処理を行う処理と、ポップカウントで算出された値の総和を算出する処理とを行えばよい。
また、例えば、{0,1}の二値のみからなるベクトル同士の集約演算部20による内積演算は、ビットベクトル同士のビット論理積演算を行う処理と、ビットベクトルの各要素に対してポップカウント処理を行う処理と、ポップカウントで算出された値の総和を算出する処理とを行えばよい。
本発明の第2の実施形態による集約演算システム1の処理の具体例について、図7を参照して説明する。ここでは、集約演算システム1がデータ列の総和を算出する例について説明する。
入力となる入力データ列SRCは、ビットベクトル生成装置10aそれぞれに入力される。ビットベクトル生成装置10aそれぞれは、入力データ列SRCから出力ビットベクトルDESTを生成する。集約演算部20は、ビットベクトル生成装置10aそれぞれが生成した出力ビットベクトルDESTの各要素に対してポップカウント処理を行う。集約演算部20がポップカウント処理を行った結果は、図7においてポップカウントし記載されているように、0,1,2,3,2,1の値を示す。集約演算部20は、これらの値の総和を演算し、演算結果として総和9を導出する。このように、集約演算部20は、図7の元のデータ列の総和9と同じ値を導出する。
このようにすれば、SIMD方式の並列処理の並列数がビット幅mに制限されず、ビットベクトル生成装置10は、SIMD方式の並列処理をより多くの並列数kで高速にビットベクトルを生成することができ、集約演算部20は、生成したビットベクトルに対して、関連する技術を用いた場合と同等の演算を行うため、集約演算システム1は、関連する技術を用いたシステムの演算に比べて高速に演算することができる。
例えば、機械学習のモデル生成に用いるデータセットTBL1において、特定の特徴量が離散値からなる場合がある。具体例を挙げると、図8に示すように、人間の性別を示す特徴量として、男性なら1、そうでなければ0を用いるという場合や、人間の血液型を示す特徴量として、A型に0、B型に1、O型に2、AB型に3を用いるという場合、職業を示す特徴量として、会社員に0、主婦に1、学生に3を用いるという場合などである。機械学習のモデル生成においては、ベクトルの内積演算を行う処理を含む場合があるが、先に述べたような特徴量を実数ベクトルではなく離散値ベクトルとして扱えば、集約演算システム1を利用して離散値ベクトルの内積演算を行うことができる。そのため集約演算システム1は、機械学習のモデル生成におけるベクトルの内積演算の一部または全部を、高速化することができる。この場合、集約演算部20は、ビット設定部103がデータの値を対応する桁に設定した出力データ列(すなわち、出力されるビットベクトル)に対して、出力データ列の総和、出力データ列の平均値、出力データ列における特定の要素の個数、複数の出力データ列が示すベクトル同士の内積、及び、複数の出力データ列が示す行列同士の行列積のうちの少なくとも1つを、SIMD方式の並列処理によって、演算を行う。
次に、本発明の第3の実施形態によるベクトル演算システム2(情報処理装置の一例)について説明する。
本発明の第3の実施形態によるベクトル演算システム2は、入力データ列SRCをビットベクトルに変換した上で、データ列のベクトル演算を行うシステムである。ベクトル演算システム2は、元のデータ列の要素の並び順が後に必要となる場合を想定したシステムである。
ベクトル演算システム2は、図9に示すように、ビットベクトル生成装置10a1、10a2、・・・、10aN、ビット演算部30、ビットベクトル逆変換部40を備える。ビットベクトル生成装置10a1、10a2、・・・、10aNを総称してビットベクトル生成装置10aと呼ぶ。
ビットベクトル逆変換部40は、ビットベクトル生成装置10と逆の動作を行うことにより、データ列の要素の並び順が元通りにする。そのため、本発明の第3の実施形態によるベクトル演算システム2は、正しい演算結果を得ることができる。
本発明の第3の実施形態によるベクトル演算システム2の処理の具体例について、図10を参照して説明する。ここでは、データ列Uとデータ列Vの要素ごとの乗算をベクトル演算システム2が算出する例について説明する。
ビットベクトル生成装置10aそれぞれは、入力であるデータ列U及びデータ列Vから、ビットベクトルU’及びビットベクトルV’を生成する(図10におけるビットベクトルU‘及びビットベクトルV’参照)。ビット演算部30は、これらふたつのビットベクトルU‘及びビットベクトルV’のビット論理積AND(U’,V’)を計算する(図10におけるAND(U’,V’)参照)。ビットベクトル逆変換部40は、このビットベクトルAND(U’,V’)を元の並び順のデータ列に逆変換する(図10におけるAND(U’,V’)の逆変換参照)。図10からわかるように、ベクトル演算システム2によるAND(U’,V’)の逆変換の結果は、データ列Uとデータ列Vの要素ごとの乗算の結果と同一になる。
このようにすれば、SIMD方式の並列処理の並列数がビット幅mに制限されず、ビットベクトル生成装置10は、SIMD方式の並列処理をより多くの並列数kで高速にビットベクトルを生成することができ、ビット演算部30は、生成したビットベクトルに対して、関連する技術を用いた場合と同等の演算を行うため、ベクトル演算システム2は、関連する技術を用いたシステムの演算に比べて高速に演算することができる。
例えば、データベースの選択演算におけるクエリのWHERE句が複数の条件からなる場合を考える。ここで、条件に合致する行(レコード)であれば1、そうでない行であれば0となるような値を持つ、真偽値列ベクトルを考える。このとき、個々の条件に対応する真偽値列ベクトルを中間結果とし、WHERE句全体に対応する真偽値列ベクトルを最終結果とする。具体例を挙げると、例えばWHERE句が「年齢≧50 AND 性別=男性 AND 血液型=A型」である場合、年齢が50以上か否かを示す真偽値列ベクトルと、性別が男性か否かを示す真偽値列ベクトルと、血液型がA型か否かを示す真偽値列ベクトルと、が中間結果であり、WHERE句全体に合致するか否かを示す真偽値列ベクトルが最終結果である。このような場合、ベクトル演算システム2を利用して、中間結果群から最終結果を求めるベクトル論理演算を行うことができる。そのため、ベクトル演算システム2は、データベースの選択演算における最終結果の取得を高速化することができる。
本発明の実施形態による最小構成のビットベクトル生成装置10は、図11に示すように、入力データ列分割部101、ビットシフト部102、ビット設定部103を備える。
入力データ列分割部101は、入力データ列を複数の群に分割する。
ビットシフト部102は、複数の前記群それぞれにおけるデータの値を、複数の前記群それぞれに応じた特定の桁にSIMD方式の並列処理により桁移動する。
ビット設定部103は、ビットシフト部102によって桁移動した前記データの値を、出力データ列の対応する桁に設定する。
ビットベクトル生成装置10がこのように構成されることにより、SIMD方式の並列処理の並列数がビット幅mに制限されず、ビットベクトル生成装置10は、SIMD方式の並列処理をより多くの並列数kで高速にビットベクトルを生成することができる。また、処理する入力データ列SRCと出力ビットベクトルDESTがどちらも連続した要素であるため、高速にメモリアクセスを行うことができ、ビットベクトル生成装置10は、高速にビットベクトルを生成することができる。
図12は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、図12に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述のビットベクトル生成装置10、10a、集約演算部20、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10、10a、10a1、10a2、10aN・・・ビットベクトル生成装置
20・・・集約演算部
101・・・入力データ列分割部
102、102a1、102a2、102a3、102an・・・ビットシフト部
103・・・ビット設定部
201・・・ビット取得部
202・・・ビット逆シフト部
203・・・データ要素設定部
Claims (8)
- データ列を入力としてビットベクトルを出力する情報処理装置であって、
前記データ列を複数の群に分割する入力データ列分割部と、
複数の前記群それぞれにおけるデータの値を、複数の前記群それぞれに応じた特定の桁にSIMD(Single Instruction Multiple Data)方式の並列処理により桁移動するビットシフト部と、
前記ビットシフト部によって桁移動した前記データの値を、前記ビットベクトルの対応する桁に設定するビット設定部と、
を備える情報処理装置。 - 前記ビット設定部が前記データの値を対応する桁に設定した前記ビットベクトルに対して、前記ビットベクトルの総和、前記ビットベクトルの平均値、前記ビットベクトルにおける特定の要素の個数、複数の前記ビットベクトルが示すベクトル同士の内積、及び、複数の前記ビットベクトルが示す行列同士の行列積のうちの少なくとも1つを含む集約演算を行う集約演算部、
を備える請求項1に記載の情報処理装置。 - 前記ビット設定部が前記データの値を対応する桁に設定した前記ビットベクトルの各要素から特定のビット位置の値を取得するビット取得部と、
前記ビット取得部が取得した前記ビット位置の値それぞれを下位ビットの位置まで前記SIMDの並列処理により桁移動するビット逆シフト部と、
前記ビット逆シフト部が桁移動した値をデータ列の各要素に設定するデータ要素設定部と、
を備える請求項1または請求項2に記載の情報処置装置。 - 入力データ列は、
機械学習のモデル生成において、離散値で表現することができる特徴量を、離散値ベクトルで表現したデータ列である、
請求項1から請求項3の何れか一項に記載の情報処理装置。 - 入力データ列は、
データベースのテーブル操作における選択演算において、クエリの条件に合致する行か否である行かを表現する真偽値ベクトルである、
請求項1から請求項3の何れか一項に記載の情報処理装置。 - ビットベクトルの各要素から特定のビット位置の値を取得するビット取得部と、
前記ビット取得部が取得した前記ビット位置の値それぞれを下位ビットの位置までSIMD(Single Instruction Multiple Data)の並列処理により桁移動するビット逆シフト部と、
前記ビット逆シフト部が桁移動した値をデータ列の各要素に設定するデータ要素設定部と、
を備える情報処置装置。 - データ列を入力としてビットベクトルを出力する情報処理装置による情報処理方法であって、
前記データ列を複数の群に分割することと、
複数の前記群それぞれにおけるデータの値を、複数の前記群それぞれに応じた特定の桁にSIMD(Single Instruction Multiple Data)方式の並列処理により桁移動することと、
桁移動した前記データの値を、前記ビットベクトルの対応する桁に設定することと、
を含む情報処理方法。 - データ列を入力としてビットベクトルを出力する情報処理装置のコンピュータに、
前記データ列を複数の群に分割することと、
複数の前記群それぞれにおけるデータの値を、複数の前記群それぞれに応じた特定の桁にSIMD(Single Instruction Multiple Data)方式の並列処理により桁移動することと、
桁移動した前記データの値を、前記ビットベクトルの対応する桁に設定することと、
を実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/030994 WO2020039522A1 (ja) | 2018-08-22 | 2018-08-22 | 情報処理装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020039522A1 true JPWO2020039522A1 (ja) | 2021-08-10 |
JP7052874B2 JP7052874B2 (ja) | 2022-04-12 |
Family
ID=69592770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020537940A Active JP7052874B2 (ja) | 2018-08-22 | 2018-08-22 | 情報処理装置、情報処理方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210182061A1 (ja) |
JP (1) | JP7052874B2 (ja) |
WO (1) | WO2020039522A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11511575A (ja) * | 1995-08-31 | 1999-10-05 | インテル・コーポレーション | パック・データを処理する1組の命令 |
US20150277917A1 (en) * | 2014-04-01 | 2015-10-01 | Oracle International Corporation | Hybrid bit-sliced dictionary encoding for fast index-based operations |
JP2016527650A (ja) * | 2013-08-06 | 2016-09-08 | インテル・コーポレーション | ベクトルポピュレーションカウント機能性を提供する方法、装置、命令、およびロジック |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6844327B2 (ja) * | 2017-03-03 | 2021-03-17 | 富士通株式会社 | データ生成方法、データ生成装置及びデータ生成プログラム |
-
2018
- 2018-08-22 US US17/269,423 patent/US20210182061A1/en not_active Abandoned
- 2018-08-22 JP JP2020537940A patent/JP7052874B2/ja active Active
- 2018-08-22 WO PCT/JP2018/030994 patent/WO2020039522A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11511575A (ja) * | 1995-08-31 | 1999-10-05 | インテル・コーポレーション | パック・データを処理する1組の命令 |
JP2016527650A (ja) * | 2013-08-06 | 2016-09-08 | インテル・コーポレーション | ベクトルポピュレーションカウント機能性を提供する方法、装置、命令、およびロジック |
US20150277917A1 (en) * | 2014-04-01 | 2015-10-01 | Oracle International Corporation | Hybrid bit-sliced dictionary encoding for fast index-based operations |
Also Published As
Publication number | Publication date |
---|---|
JP7052874B2 (ja) | 2022-04-12 |
US20210182061A1 (en) | 2021-06-17 |
WO2020039522A1 (ja) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kress | Numerical analysis | |
Gupta | Numerical methods for engineers | |
Bauer et al. | Clear and compress: Computing persistent homology in chunks | |
CN113608717B (zh) | 一种数论变换计算电路、方法及计算机设备 | |
JP7031682B2 (ja) | 秘密計算装置、システム、方法、プログラム | |
US20240022395A1 (en) | Encryption processing device and encryption processing method | |
KR102075848B1 (ko) | 다항식 연산 최적화 처리 장치, 다항식 연산 최적화 처리 방법 및 기록매체 | |
JP6605746B2 (ja) | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム | |
Oeding | Border ranks of monomials | |
JP7052874B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6367959B2 (ja) | 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム | |
CN106796765B (zh) | 非减序列判定装置、非减序列判定方法以及记录介质 | |
Zhang et al. | Pass-efficient randomized LU algorithms for computing low-rank matrix approximation | |
JP7020555B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6104469B2 (ja) | 行列生成装置及び行列生成方法及び行列生成プログラム | |
EP3246900B1 (en) | Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program | |
JP7494932B2 (ja) | 秘密決定木テスト装置、秘密決定木テストシステム、秘密決定木テスト方法、及びプログラム | |
Alsedà et al. | Volume entropy for minimal presentations of surface groups in all ranks | |
JP7205623B2 (ja) | 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム | |
Miranda et al. | Sorting permutations by limited-size operations | |
JP2021051448A (ja) | 情報処理装置、疎行列格納方法及びプログラム | |
JP2014203182A (ja) | フーリエ変換計算方法、量子回路 | |
WO2022264238A1 (ja) | 累積計算装置、累積計算方法、及びプログラム | |
JP7173282B2 (ja) | データ置換装置、データ置換方法、プログラム | |
Gildea et al. | The weight enumerators of singly-even self-dual [88, 44, 14] codes and new binary self-dual [68, 34, 12] and [88, 44, 14] codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220207 |
|
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: 20220301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220314 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7052874 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |