# kobae
ショウジョウバエ(オス)の中枢神経系の全結合図 **[MaleCNS][malecns] v1.0** を、**全 166,700 ニューロン・全 25,582,938 結合**のまま
スパイキングニューロンモデル(LIF)として **Vulkan ([wgpu][wgpu]) 上で**シミュレーションし、ブラウザで観察・刺激できるようにしたもの。
- 神経モデルは [Shiu et al. 2024][shiu2024] / [DoomFly][doomfly] と同じ(dt 0.1 ms、遅延 1.8 ms、不応期 2.2 ms)。DoomFly の CPU カーネルを検算相手にしている
- 対象 GPU は AMD(RX 580 / BC-250 gfx1013)。CUDA は使わない。GPU 側の計算は整数固定小数点で**同じ GPU なら実行ごとにビット単位で再現**する
- 「コバエ」は俗称で、厳密にはショウジョウバエ (*Drosophila melanogaster*) は「コバエ」と呼ばれる小型のハエの一種
(飛行ビュー、約 2 倍速。柱から離陸して降下・旋回しながら飛ぶ 20 秒。脳の出力で操舵される体が主役で、左下が両目に映る映像と状態、右下が飛行経路。脳の点群と行動の出力・発火の時系列は右パネル)
設計の経緯と決定は [DESIGN.md](DESIGN.md)、既存実装の評価は [docs/existing-implementations.md](docs/existing-implementations.md)。
## 使い方
```sh
# データ(CC-BY 4.0、Janelia FlyEM + Google Research)を data/malecns_v1/ に置く(3 ファイル、1.1 GB)
# https://storage.googleapis.com/flyem-male-cns/v1.0/connectome-data/flat-connectome/
# body-annotations-male-cns-v1.0-minconf-0.5.feather
# body-neurotransmitters-male-cns-v1.0.feather
# connectome-weights-male-cns-v1.0-minconf-0.5.feather
uv sync
uv run kobae build # feather -> outputs/malecns_v1/graph.npz(sha256 検証つき、15 s)
uv run kobae bench --backend both # 実時間比の計測(GPU + CPU 参照)
uv run kobae validate --protocol sugar # GPU と CPU 参照の比較
uv run kobae serve --backend gpu # http://:8765 でビューア
```
BC-250 では GPU を LLM のベンチと共有しているので、`gpu-run.sh