ソート速度コンテスト

 


課題

作成したプロセッサ上で1024個の符号付き16bit整数を昇順ソートする プログラムを組んでもらい、その速度を競います。 データは、ランダム/昇順ソート済み/降順ソート済みの3種類があり、 それらの実行時間(実行完了までのクロック・サイクル数÷動作クロック周波数) の平均を競ってもらいます。

計測方法

まず、以下の準備をしてもらいます。

そのうえで、教官&TAを呼び、 以下の手順で3種類のソートのデモを行う。

ブロック図やアセンブリにずるしている部分がなく、 ちゃんとデータをソートできたならば、 教官がそのデモのデータをウェブに登録します。

禁止事項

ソートすべきデータ

データは0x400から0x7FFに格納してあります。 0x000から0x3FFまでは、プログラムを格納するのに使うと良いでしょう。

副賞

最終報告のデモを締切とし、 1位〜3位の人に副賞として スルッとKANSAIカード を贈呈します(sponsored by 嶋田)。



現在のランキング

注:実行時間/実行サイクル数は3種類のデータを実行した時の平均です。

順位 グループ 時間 サイクル数
(ランダム/昇順/降順)
周波数 アルゴリズム プロセッサの特徴
1 B12(平澤/長島) 0.846375ms 67,710
(87,097 / 44,817 / 71,217)
80MHz シェル・ソート 4段パイプライン、ハーバード・アーキテクチャ、 ループ・アンローリング、分岐命令と他の命令の並列実行、 遅延分岐(2スロット)
2 B8(西田/粟野) 1.6009ms 64,036
(100,389 / 44,446 / 47,273)
40MHz クイック・ソート
→インサート・ソート
5段パイプライン、2演算VLIW、ハーバード・アーキテクチャ
3 B9(八田/田中) 2.5627ms 102,508
(180,386 / 64,615 / 62,525)
40MHz クイック・ソート
→インサート・ソート
3オペランド形式命令、 ハーバード・アーキテクチャ
4 A2(青戸/境) 25.8894ms 258,894
(315,044 / 217,835 / 243,803)
10MHz クイック・ソート スタック・ポインタ追加(Call/Return命令追加)、 P4/P1とP5/P2の並列実行、 演算命令が即値を扱えるように拡張
5 A5(阿曽/杉山) 368.680075ms 14,747,203
(14,745,712 / 93,137 / 29,402,760)
40MHz インサート・ソート 変則3オペランド形式命令(Rt=Rt+Rs+imm)、 7フェーズ実行
参考
(更新済)
B12(平澤/長島) 3.08565ms 123,426
(137,389 / 117,980 / 114,910)
40MHz マージ・ソート 4段パイプライン、ハーバード・アーキテクチャ

質問の宛先は shimada@kuis.kyoto-u.ac.jp.
Last modified: 2008/7/11 18:00