競技ルール
1. 実施形態
実施形態はチーム制です.1~4人で1チームを構成して参加してください.
2. 競技部門
競技部門には2種類があります.適切な部門を選択して参加してください.
プロセッサ設計部門
プロセッサアーキテクチャを如何に高性能にするかを競う部門。基本的なアプリケーションで性能を競う。
コンピュータシステム設計部門
応用に近いアプリケーションで、複数種類の処理の組合せでシステムトータルの性能を競う。
3. プロセッサ設計部門の競技内容
以下の4種類のいずれかのFPGAボードが参加可能です。(2014/6/18修正)
Digilent社 Atlys Spartan-6 FPGA Development Board (Xilinx)
Digilent社 Nexys4 Artix-7 FPGA Board (Xilinx)
Terasic社 Altera DE2-115 Development and Education Board
Terasic社 Cyclone V GX Starter Kit
アプリケーションプログラムは次の4つです.
310_sort : 整数のソーティング
320_mm : 行列積,要素は整数
330_stencil: ステンシル計算,要素は整数
340_spath: 最短経路問題
FPGAに実装されたプロセッサの処理時間を競います.
実行委員が提供するデータ(256KB)を用いて,アプリケーションプログラムの処理時間を測定し,スコアを計算します.
コンテストの参加者は,次のデザインを提出してください.
1種類のFPGAの回路情報(ファイル名は System.bit としてください)
4種類の実行バイナリコード(256KBのバイナリファイルを4種類)
4. コンピュータシステム設計部門の競技内容
以下の4種類のいずれかのFPGAボードが参加可能です。(2014/6/18修正)
Digilent社 Atlys Spartan-6 FPGA Development Board (Xilinx)
Digilent社 Nexys4 Artix-7 FPGA Board (Xilinx)
Terasic社 Altera DE2-115 Development and Education Board
Terasic社 Cyclone V GX Starter Kit
課題となるアプリケーションプログラムは以下のものです.
400_oflow : オプティカルフロー処理
FPGAに実装されたプロセッサの処理時間を競います.
実行委員が提供する画像データ(JPEGに似た独自の圧縮形式・別途説明、64KBx8フレーム)を用いて,オプティカルフロー処理プログラムの処理時間を測定し,スコアを計算します.
コンテストの参加者は,次のデザインを提出してください.
1種類のFPGAの回路情報(ファイル名は System.bit としてください)
プログラムの起動方法に関するドキュメントと、必要なデータ・プログラム(elf)等(2014/7/3訂正)
5. 予選スコアの計算方法と予選通過の条件
プロセッサ設計部門
それぞれのアプリケーションについて,実行時間の短いチームから順に,
次の点数を与えます. 1位 10点,2位 7点, 3位 5点, 4位 4点
4種類のアプリケーションで獲得した点数の合計がスコアとなります.
4種類のすべてのアプリケーションが規定時間(2分とします)内に
正しい結果を出力し,スコアが上位のチームが決勝に進出します.
ただし,参加チーム数等の状況により,点数を与える順位を調整することがあります.
コンピュータシステム設計部門
課題アプリケーションの処理時間に応じて順位・スコアをきめ、スコアが上位のチームが決勝に進出します.
ただし,参加チーム数等の状況により,点数を与える順位を調整することがあります.
予稿の品質があまりに低い場合は予選を通過しないことがあります.
6. 決勝におけるスコアの計算方法
基本的には予選に準じます。後程公開
7. 実行時間の計測方法
ホストからのUDP/IP(Ethernet)通信にて512KBのデータ(256KBのプログラムと256KBのアプリケーションデータ)の送信開始時刻T1から,計算結果を受け取り,最後にENDという文字列を受け取るまでの時刻T2を実行時間(execution time) として計測します.すなわち,execution time = T2 - T1 です.
UDP/IPの通信は100Mbpsで行う事とします.変換ブリッジを介してFPGAボードとの間で行うシリアル通信の速度は 1M baud とします..
8. 実行結果の検証
設計した回路は,実行委員会が提供するツールキットと全く同じ結果を出力(通信にてホスト計算機に送信)する必要があります.また,計算結果を出力して,最後には END という文字列を出力してください.
すなわち,実行を開始してから,ホスト計算機が受信する END という文字までの全てのデータ(2014/7/3訂正)がツールキットと等しくなるように回路を設計してください.
9. ホストとの通信方法(2014/7/3追記)
プロセッサ設計部門
ホストとの通信には,実行委員から配布するイーサネット(100Mbps)・シリアル(1Mbps)変換の小型ボードを用います.
コンピュータシステム設計部門
ホストとの通信には,実行委員から配布するイーサネット(100Mbps)・シリアル(1Mbps)変換の小型ボード,もしくはFPGAボード上に搭載されているイーサネットコネクタ(RJ-45)を用います.
両部門共通
FPGAボードと小型ボードの間の接続に用いるピンは,リファレンスデザインのピン配置に準じます.すなわち,1Mbpsのシリアル通信と,リセット信号がリファレンスデザインと同様に動作する必要があります.
各ボード毎に以下のコネクタを使用してください.
Atlys: PMODコネクタ
Nexys4: PMODコネクタ(JA)
DE2-115:2x20 GPIOコネクタJP5
Cyclone V GX Starter Kit:2x20 GPIOコネクタJP9
予選における設計データの提出方法(2014/7/28追記)
予選データの提出期限は,日本標準時 2014年8月4日(金) 午後1時です.
参加チームは,上記期限までに参加登録をおこなってください.
提出方法: contest_support@virgo.is.utsunomiya-u.ac.jp までメール
メールには、登録チーム名・使用したFPGAボード名を記入してください。
受け取った予選データを用いて,直ちに,動作検証をおこないます.正しく動作しない場合には,その旨を通知し,データの再提出を求めることがあります.データ提出後,しばらくは電子メールに直ちに返信できるようにしてください.
プロセッサ設計部門
提出するファイルは次の6種類のデータを1つのZIPファイルにまとめたものとします.
1. FPGAの回路情報のファイル名はXilinxの場合は System.bit,Alteraの場合はSystem.sof としてください.
2. アプリケーション 310_sort のためのユーザファイル.ファイルサイズ 256KB,ファイル名 310sort.bin としてください.
3. アプリケーション 320_mm のためのユーザファイル.ファイルサイズ 256KB,ファイル名 320mm.bin としてください.
4. アプリケーション 330_stencil のためのユーザファイル.ファイルサイズ 256KB,ファイル名 330stencil.bin としてください.
5. アプリケーション 340_spath のためのユーザファイル.ファイルサイズ 256KB,ファイル名 340spath.bin としてください.
6. 審査の参考資料として,1~4ページの原稿(情報処理学会研究報告のフォーマット)を提出してください.PDF形式,ファイル名は document.pdf としてください.
https://www.ipsj.or.jp/kenkyukai/genko.html
コンピュータシステム設計部門
提出するファイルは次の3種類のデータを1つのZIPファイルにまとめたものとします.
1. FPGAの回路情報のファイル名はXilinxの場合は System.bit,Alteraの場合はSystem.sof としてください.
2. アプリケーション 400_oflow の動作のために必要な設計データ一式と,動作手順書.予選では実行委員の手によって提出デザインを実際に動作させるので,そのために必要なデータ一式です.ソースコード等の提出は必要ありません.
3. 審査の参考資料として,1~4ページの原稿(情報処理学会研究報告のフォーマット)を提出してください.PDF形式,ファイル名は document.pdf としてください.
https://www.ipsj.or.jp/kenkyukai/genko.html
参考:第1回プロセッサ設計コンテストとの違い
1、コンピュータシステム設計部門の新設
第2回では第1回と同様の競技内容であるプロセッサ設計部門に加えて、コンピュータシステム部門を新設します。
高性能化の対象アプリケーションは、動画像圧縮や画像認識に応用されるが計算量が非常に多いオプティカルフロー処理を行うシステムとします。更に、ホストマシンとの画像転送を効率よく行うための画像圧縮伸長処理を含む、ネットワーク画像処理システムの構築を課題とします。
2、ホストマシンとの間の転送路の改善
第1回は開発用のFPGAボードを1種類(Xilinx社FPGAを搭載したDigilent社ATLYSボード)に限定し、シリアル通信(1Mbaud)を用いてホストマシンとの間のデータ転送を行って競技を行いました。しかし、一般的なボードは必ずしも1Mbaudのシリアル通信に対応していないため、第2回ではホストとFPGAボードの間の通信には、イーサネットを用いる事とします。ただし、イーサネットの通信に対応する開発は工数がかかることから、FPGAボードに外付けするイーサネット・シリアル変換の小型ボードを用意し、実行委員から参加者に貸与する予定です。
ホスト → イーサネットスイッチ →(イーサネット100Base-TX)→ (外付け)変換の小型ボード →(シリアル1Mbaud)→ FPGAボード
決勝戦本番では、参加者が持参する複数台のFPGAボードを同時に動作させて、アプリケーションの処理時間を競い、会場のギャラリーが各チームの処理の進み具合を見守る演出をします。
3、学生・一般の区別廃止
第1回はプロセッサの高性能化をテーマとして基礎的なアプリケーションを題材として学生・一般の2部門で開催し、それぞれに大変白熱した競技となりました。しかしコンテストの結果をみて単純に性能で比較すると、学生も一般と遜色ない成績を収めていたことから、第2回では学生・一般の区別をなくすことにしました。