Commit b0c46691 authored by Kento HASEGAWA's avatar Kento HASEGAWA
Browse files

Merge branch 'document' into 'master'

Add document

See merge request adc2018/adc2018-system!21
parents e8ef8c11 5ccf745f
Loading
Loading
Loading
Loading

LICENSE

0 → 100644
+674 −0

File added.

Preview size limit exceeded, changes collapsed.

+41 −1
Changes for README.md: 41 added lines, 1 removed line.
Original line number Diff line number Diff line
# ADC2018
---

A cooperative system using multiple FPGAs for a simple 3D-Numberlink puzzle solver

## Environments

実際のソルバで使用している環境.

+ デバイス
    - Raspberry Pi 3 B+
    - PYNQ
    - ZU3EG

+ ソフトウェア
    - Python >= 3.5 (通信プログラム)
        * Flask
        * gevent
        * gevent-websocket
    - Vivado (Web Pack) >= 18.1 (FPGAの合成)

## Setups

[Wiki](https://www.togawa.cs.waseda.ac.jp/gitlab/adc2018/adc2018-system/wikis/home)も参照されたい.

各端末でこのリポジトリをCloneする.

```
cd ~
git clone https://www.togawa.cs.waseda.ac.jp/gitlab/adc2018/adc2018-system.git
```

## System

+ サーバ
    - [通信用スクリプト](comm/server)
+ ソルバ
    - [通信用スクリプト](comm/client)
    - [高位合成用プログラム](hls)
+ リゾルバ
    - [通信用スクリプト](comm/resolver)

## Our previous works

* [pynq-router](https://github.com/kotarot/pynq-router)
* [nl-solver](https://github.com/kotarot/nl-solver)

## License
This software is released under GPL v3 License, see [LICENSE](LICENSE).
+6 −5
Changes for comm/README.md: 6 added lines, 5 removed lines.
Original line number Diff line number Diff line
# DAS2017 ADC RaspberryPi・PYNQ間HTTP通信プログラム
# DAS2018 ADC RaspberryPi, ソルバ, リゾルバ HTTP通信プログラム

# 概要

DAS2017アルゴリズムデザインコンテストに向けた,端末間通信プラグラム.
親となるRaspberry Piから,子となる複数のPYNQに対し問題を配信し,結果を受け取る.
DAS2018アルゴリズムデザインコンテストに向けた,端末間通信プラグラム.
親となるRaspberry Piから,子となる複数のソルバ,リゾルバに対し問題を配信し,結果を受け取る.

# 構成

+ server: Raspberry Pi上で実行するためのサーバプラグラム.問題をクライアントに配信し,結果を受け取る.
+ client: PYNQ上で実行するためのクライアントプログラム.問題をサーバから受け取り,問題を解いて回答をサーバに返す.
+ server: Raspberry Pi上で実行するためのサーバプラグラム.問題をソルバに配信し,結果を受け取る.
+ client: ソルバをFPGA上で実行するためのクライアントプログラム.問題をサーバから受け取り,問題を解いて解けたら結果をリゾルバに送り,解けなかったら結果をサーバに報告する.
+ resolver: ソルバから初期解を受け取り,リゾルバでより良い解に整形する.
+ README.md: このファイル.

# Requirements
+4 −4
Changes for comm/client/README.md: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
DAS2017 ADC クライアントプログラム
DAS2018 ADC クライアントプログラム
===

DAS2017 アルゴリズムデザインコンテスト用クライアントプログラム
DAS2018 アルゴリズムデザインコンテスト用クライアントプログラム

## Description

問題データをサーバから受信し,結果をサーバへ返すプログラム.
問題データをサーバから受信し,結果をリゾルバやサーバへ送るプログラム.

## Requirements

@@ -22,7 +22,7 @@ python3 main.py [--port XXXX] [--host XXXX]

<dl>
    <dt>-H, --host</dt>
    <dd>サーバホストのアドレス (デフォルト:192.168.4.1:5000)</dd>
    <dd>サーバホストのアドレス (デフォルト:192.168.5.1:5000)</dd>
    
    <dt>-p, --port</dt>
    <dd>使用するポート (デフォルト:5000)</dd>
+12 −2
Changes for comm/server/README.md: 12 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -22,7 +22,11 @@ python3 main.py [--question XXXX] [--port XXXX] [--clients XXXX]

<dl>
    <dt>-c, --client</dt>
    <dd>クライアントを定義したテキストファイル.1行ずつホスト名を記述する(必要ならばポート番号も記述する),必須</dd>
    <dd>
        クライアントを定義したテキストファイル.1行ずつアドレスと役割を記述する(必要ならばポート番号も記述する),必須.
        ホスト名と対応するアイコン画像もオプションで指定できる.<br />
        `アドレス 役割 [名前] [画像ファイルへのパス]`
    </dd>
    
    <dt>-q, --question</dt>
    <dd>問題ファイルのパス (デフォルト:./)</dd>
@@ -32,8 +36,14 @@ python3 main.py [--question XXXX] [--port XXXX] [--clients XXXX]

    <dt>-p, --port</dt>
    <dd>サーバのポート (デフォルト:5000)</dd>

    <dt>-a, --adccli</dt>
    <dd>
        ADC自動運営システムへのログイン情報を記録したjsonファイルへのパス.
        `{"url": XXX, "username": YYY, "password": ZZZ}`の形式で保存する.
    </dd>
</dl>

## Comments

This project uses some libraries: jQuery, Bootstrap
This project uses some libraries: jQuery, Bootstrap, and three.js.