JPH09190336A - ベクトル演算装置を用いたバケットソート処理方式 - Google Patents

ベクトル演算装置を用いたバケットソート処理方式

Info

Publication number
JPH09190336A
JPH09190336A JP258096A JP258096A JPH09190336A JP H09190336 A JPH09190336 A JP H09190336A JP 258096 A JP258096 A JP 258096A JP 258096 A JP258096 A JP 258096A JP H09190336 A JPH09190336 A JP H09190336A
Authority
JP
Japan
Prior art keywords
array
bucket
vector
stored
vector operation
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
Application number
JP258096A
Other languages
English (en)
Other versions
JP3259622B2 (ja
Inventor
Hidekazu Nakano
英一 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP00258096A priority Critical patent/JP3259622B2/ja
Publication of JPH09190336A publication Critical patent/JPH09190336A/ja
Application granted granted Critical
Publication of JP3259622B2 publication Critical patent/JP3259622B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 高速にバケットソートを行う。 【解決手段】 共有メモリ上には、正の整数データが格
納された第1の配列及び正の整数データの最大値と同一
の数だけの要素を有する第2の配列が備えられている。
第2の配列は二次元配列であり、ベクトルコンピュータ
は第1の配列に格納された正の整数の個数を第2の配列
を用いて集計して、第2の配列の各列を第3の配列にた
し込む。そして、ベクトル演算装置は、第3の配列に格
納された情報を用いて第1の配列のi番目の要素がソー
トされた際第4の配列のi番目の要素に第1の配列のi
番目の要素のランクを示す情報を格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はベクトル演算処理装
置に関し、特に、ベクトル演算装置を用いたバケットソ
ート処理方式に関する。
【0002】
【従来の技術】一般に、電子計算機においてソート処理
を行う際には、専用のプロセッサを用いて高速にソート
を行うようにしている(例えば、特開昭60−5404
3号公報)。一方、汎用的なプロセッサを用いて高速に
ソートを行う手法として所謂バケットソートが知られて
いる。
【0003】
【発明が解決しようとする課題】ところで、従来のバケ
ットソート手法では、スカラー演算が多く、このため、
ベクトル演算が実行可能なプロセッサを用いても、ソー
トを高速に実行できないという問題点がある。つまり、
ベクトル演算装置を用いてバケットソートを行おうとし
ても、前述のように、従来のバケットソート手法におい
ては、スカラー演算が多い関係上、高速にバケットソー
トができないという問題点がある(即ち、ベクトル演算
装置の性能を十分に発揮できない)。
【0004】本発明の目的は高速にバケットソートを行
うことのできるベクトル演算装置を用いたバケットソー
ト処理方式を提供することにある。
【0005】
【課題を解決するための手段】本発明によれば、整数デ
ータをバケットソートする際に用いられ、複数のベクト
ル演算プロセッサと、該ベクトル演算プロセッサが直接
アクセス可能な共有メモリとを有する共有メモリ型ベク
トル演算装置を有し、前記共有メモリ上には、正の整数
データが格納された第1の配列と該正の整数データの最
大値と同一の数だけの要素を有する第2の配列とが備え
られており、前記ベクトル演算プロセッサは前記第1及
び前記第2の配列を用いて前記正の整数データのバケッ
トソートを行うようにしたことを特徴とするベクトル演
算装置を用いたバケットソート処理方式が得られる。
【0006】この際、前記第2の配列は二次元配列であ
り、前記ベクトル演算装置は前記第1の配列に格納され
た正の整数の個数を前記第2の配列を用いて集計して、
前記第2の配列の各列を第3の配列にたし込む。そし
て、前記ベクトル演算装置は、前記第3の配列に格納さ
れた情報を用いて前記第1の配列のi番目の要素がソー
トされた際第4の配列のi番目の要素に前記第1の配列
のi番目の要素のランクを示す情報を格納する。
【0007】
【発明の実施の形態】以下本発明について図面を参照し
て説明する。
【0008】図1を参照して、図示のベクトル演算装置
(ベクトルコンピュータ)は共有メモリ型ベクトルコン
ピュータであり、複数の中央処理装置(プロセッサ)1
及び主記憶装置2を備えている。そして、プロセッサ1
には複数のベクトルレジスタ3が備えられている。ま
た、主記憶装置2には、ソートするデータの入る配列
4、ワーク配列5、及びソートされた情報の入る配列6
が備えられている。
【0009】ここで、図2も参照して、バケットソート
を行う際、配列key7中にソートするN個(Nは2以
上の整数)の正整数データが格納される。
【0010】次に、配列bk8を準備する。この配列b
k8は配列key7に格納されたソートする数の最大値
と同一の要素を有している。そして、配列bk8を用い
てソートすべき値の個数を集計する。つまり、配列bk
8の“ソートする値”番目の要素には、その“ソートす
る値”が何個あるかという情報が入ることになる。この
アルゴリズムは、例えば、数1で表される。
【0011】
【数1】 次に、数2で示すアルゴリズムを用いて配列bk8のた
し込みを実行して配列bk9を得る。
【0012】
【数2】 なお、MAXKEYは配列key7に格納されているソ
ートする最大の値である。
【0013】次に数3で示す処理を行って、配列ran
k10のi番目の要素には、配列key7のi番目の要
素がソートされた際、何番目となるか(ランク)という
情報が入ることになる。
【0014】
【数3】 ところで、数2で示すループを除いて、他のループ(つ
まり、数1及び3)は、全てこのままでベクトル化可能
である(つまり、ベクトルコンピュータのベクトルレジ
スタを用いて高速計算を行うことができる)。
【0015】一方、数2で示すループでは、keyの配
列に同一の値がある場合、bkに1を足す部分で、ベク
トル化を行うと、定義及び参照の関係が正常に保たれな
くなってしまう。
【0016】従って、本発明では、数4及び数5を用い
てベクトル化を行ってベクトルコンピュータで高速演算
を行う。
【0017】
【数4】
【0018】
【数5】 図3を参照して、数4において、bkの代わりにKBL
K列の二次元配列bktmp11としてとると、内側
ループはどのような順番で計算を行ってもよく、この結
果、内側ループはベクトルレジスタを用いて一度に計算
することができる。つまり、強制的にベクトル化するこ
とができる。
【0019】数5において、それぞれ独立に計算したb
tmpの各列を配列bk12に足し込む。この計算
も内側ループはどのような順番で計算してもよいのでベ
クトル化できる。
【0020】以下本発明について具体的に説明する。
【0021】いま、ソートするキーの個数を10000
個、ソートする整数を0から2000までの値として、
上述したアルゴリズムを用いてソートを行うものとす
る。
【0022】数4及び数5に示すアルゴリズムはそれぞ
れ数6及び数7で示すように書き替えられる。
【0023】
【数6】
【0024】
【数7】 ここで、上述のアルゴリズムを用いてバケットソートを
行った場合と従来のバケットソートとを比べてみる。な
お、ここでは、ベクトル演算及びロードを一回実行する
のに要する時間を1ns、スカラー演算及びロードを一
回独行するのに要する時間を10nsとする.また、こ
こでは、ソートするキーの個数を10000個、ソート
する整数を0から2000までの値とした。
【0025】(1)ベクトル化しない場合は数8で示す
ようになる。
【0026】(2)ベクトル化した場合には数9で示す
ようになる。
【0027】
【数8】
【0028】
【数9】 この結果から明らかなように、ベクトル化することによ
って、この部分に罹る演算の性能は、300000/1
60000=1.875倍高速化できることがわかる。
【0029】なお、数9からは、KBLK(ここでは、
30)の値が小さければ、実行時間が減るようにみえる
が、実際には、この値を減らすと、ベクトル長が小さく
なって、ベクトル演算の時間が増加してしまう。
【0030】
【発明の効果】以上説明したように本発明では、ベクト
ル演算装置を用いて高速にバケットソートを行うことの
できるので、高速にバケットソートを行うことができる
という効果がある。
【図面の簡単な説明】
【図1】本発明で用いられる共有メモリ型ベクトルコン
ピュータの構成を示す図である。
【図2】バケットソートのアルゴリズムを説明するため
の図である。
【図3】バケットソートの際ベクトル化を行う部分のア
ルゴリズムを説明するための図である。
【符号の説明】
1 中央処理装置(プロセッサ) 2 主記憶装置 3 ベクトルレジスタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 整数データをバケットソートする際に用
    いられ、複数のベクトル演算プロセッサと、該ベクトル
    演算プロセッサが直接アクセス可能な共有メモリとを有
    する共有メモリ型ベクトル演算装置を有し、前記共有メ
    モリ上には、正の整数データが格納された第1の配列と
    該正の整数データの最大値と同一の数だけの要素を有す
    る第2の配列とが備えられており、前記ベクトル演算プ
    ロセッサは前記第1及び前記第2の配列を用いて前記正
    の整数データのバケットソートを行うようにしたことを
    特徴とするベクトル演算装置を用いたバケットソート処
    理方式。
  2. 【請求項2】 請求項1に記載されたベクトル演算装置
    を用いたバケットソート処理方式において、前記第2の
    配列は二次元配列であり、前記ベクトル演算装置は前記
    第1の配列に格納された正の整数の個数を前記第2の配
    列を用いて集計して、前記第2の配列の各列を第3の配
    列にたし込むようにしたことを特徴とするベクトル演算
    装置を用いたバケットソート処理方式。
  3. 【請求項3】 請求項2に記載されたベクトル演算装置
    を用いたバケットソート処理方式において、前記ベクト
    ル演算装置は、前記第3の配列に格納された情報を用い
    て前記第1の配列のi番目の要素がソートされた際第4
    の配列のi番目の要素に前記第1の配列のi番目の要素
    のランクを示す情報を格納するようにしたことを特徴と
    するベクトル演算装置を用いたバケットソート処理方
    式。
JP00258096A 1996-01-10 1996-01-10 ベクトル演算装置を用いたバケットソート処理方式 Expired - Fee Related JP3259622B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00258096A JP3259622B2 (ja) 1996-01-10 1996-01-10 ベクトル演算装置を用いたバケットソート処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00258096A JP3259622B2 (ja) 1996-01-10 1996-01-10 ベクトル演算装置を用いたバケットソート処理方式

Publications (2)

Publication Number Publication Date
JPH09190336A true JPH09190336A (ja) 1997-07-22
JP3259622B2 JP3259622B2 (ja) 2002-02-25

Family

ID=11533322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00258096A Expired - Fee Related JP3259622B2 (ja) 1996-01-10 1996-01-10 ベクトル演算装置を用いたバケットソート処理方式

Country Status (1)

Country Link
JP (1) JP3259622B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104132884A (zh) * 2013-10-16 2014-11-05 深圳市帝迈生物技术有限公司 一种用于信号处理系统中信号基线的快速处理方法及装置
CN110704424A (zh) * 2019-09-03 2020-01-17 华为技术有限公司 一种应用于数据库的排序方法、装置及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104132884A (zh) * 2013-10-16 2014-11-05 深圳市帝迈生物技术有限公司 一种用于信号处理系统中信号基线的快速处理方法及装置
CN110704424A (zh) * 2019-09-03 2020-01-17 华为技术有限公司 一种应用于数据库的排序方法、装置及相关设备

Also Published As

Publication number Publication date
JP3259622B2 (ja) 2002-02-25

Similar Documents

Publication Publication Date Title
EP3179415B1 (en) Systems and methods for a multi-core optimized recurrent neural network
JP4339381B2 (ja) 共有メモリ型マルチプロセッサシステム及びその情報処理方法
US8661226B2 (en) System, method, and computer program product for performing a scan operation on a sequence of single-bit values using a parallel processor architecture
US11372929B2 (en) Sorting an array consisting of a large number of elements
Song et al. Novel graph processor architecture, prototype system, and results
US20120072704A1 (en) "or" bit matrix multiply vector instruction
Diviánszky et al. Qutrit witness from the Grothendieck constant of order four
US20230393813A1 (en) Sorting apparatus and method
US20080288756A1 (en) "or" bit matrix multiply vector instruction
da Silva Factoring semiprimes and possible implications for RSA
JPH09190336A (ja) ベクトル演算装置を用いたバケットソート処理方式
CN111142944A (zh) 一种基于流水线执行策略的硬件sat求解器
Faverge et al. Designing LU-QR hybrid solvers for performance and stability
Kawanami et al. Gpu accelerated computation of the longest common subsequence
Alaghband Parallel sparse matrix solution and performance
De Stefani On the I/O complexity of hybrid algorithms for Integer Multiplication
Dumas et al. Adaptive triangular system solving
Aho Algorithms and computational complexity
Linuwih et al. Space-Efficient Probabilistic Data Structure Ribbon Filter: Analysis, Design, and Optimized Implementation
US20230237097A1 (en) Information processing device, information processing method, and recording medium
Valero-Garcia et al. Systematic hardware adaptation of systolic algorithms
US20230004788A1 (en) Hardware architecture for processing tensors with activation sparsity
Aljulaidan et al. Improved Quick Sort Average Performance Time by Combining with Selection and Insertion Algorithms
JP3648286B2 (ja) 並列機向け固有ベクトル求解方法及びこれを用いた構造解析シミュレーション方法
Janson et al. On enforced convergence of ACO and its implementation on the reconfigurable mesh architecture using size reduction tasks

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010627

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees